Embedded Hardware Getting Started HW - Ressourcen 2 Arduino Installation-Guide 4 Arduino IDE/Download 4 Arduino Treiber Installation 5 Arduino DIE starten 7 Arduino IDE - Getting Started (Code-Basiert) 8 Vorbereitung 8 Übertragung von Programm-Code bzw. Flash-Vorgang 9 Blink LED 10 Lauflicht/Ampel 11 Auslesen von Sensoren (ADC) und serielle Übertragung über USB Com-Port 12 Serial-LCD 14 Wetterstation Lösungsvorschlag 15 Bluetooth-Modul (RN-42) 15 Embedded Hardware Android-App 16 MATLAB/Simulink Installation-Guide 48 Hinzufügen/Download von Arduino support packages auf Privatrechnern 48 MATLAB/Simulink - Getting Started (Modellbasiert) 50 Starten von Arduino Beispiele 50 1
HW - Ressourcen - Arduino Mega 2560 - USB Kabel - Potentiometer Vcc (+5V) Analog voltage out Ground (-) - Temperatur-Sensor LM35 2
- Feuchtigkeit-Sensor Honeywell HIH-4020-16x2 LCD gelb auf blau (serielle Ansteuerung 5V) - Bluetooth-Modul RN-42 (Optional) - Prinzipielle Verbindungen von serielle Schnittstellen TX (Transmit/Sender) und RX (Receive/Empfänger) Ganz wichtig, TX und RX werden überkreuzt angeschlossen und die Masse GND muss überall gleich angelegt sein. 3
Arduino Installation-Guide Arduino IDE/Download: http://arduino.cc/en/main/software 4
Arduino Treiber Installation 5
6
Arduino DIE starten Wie Üblich werden die Codes des Programms von oben nach unten abgearbeitet. Der setup Bereich dient zur Initialisierung und wird nur einmalig am Anfang des Programms ausgeführt. Der loop Bereich wird nach dem setup Bereich aufgerufen und wiederholt sich so lange bis ein Reset durchgeführt wird oder die Versorgung abgeschaltet wird. 7
Arduino IDE - Getting Started (Code-Basiert) Vorbereitung 8
Übertragung von Programm-Code bzw. Flash-Vorgang 9
Blink LED: http://www.arduino.cc/en/tutorial/blink 220 ohm bis 1K ohm 10
Lauflicht/Ampel: http://www.letsarduino.com/simple-led-traffic-lights-beginner-arduino-project/ 220 ohm bis 1K ohm 11
Auslesen von Sensoren (ADC) und serielle Übertragung über USB Com-Port: http://www.arduino.cc/en/tutorial/analogreadserial Nach erfolgreichem Flash-Vorgang, Serieller Monitor Starten und es werden die Roh-Werte von ANALOG-IN-A0 angezeigt: Wichtig bei der Serielle Übertragung ist die Auswahl der entsprechende Baudrate : 12
Als externes serielles Kommunikationsprogramm kann auch HTerm verwendet werden Download: http://www.der-hammer.info/terminal/ In oberes Beispiel können auch der Temperatursensor LM35 und der Feuchtigkeitssensor HIH-4020 genauso bloß mit der richtige Kabelbelegung (Vcc, Output, GND), siehe einzelne Komponente unter HW Ressourcen, verwendet werden. 13
Serial-LCD: https://www.sparkfun.com/tutorials/246 Auf der Homepage ist zu beachten, dass keine #include <SoftwareSerial.h> und SoftwareSerial myserial(3,2); nötig sind da das Arduino Mega extra (Hardware-seitig) serielle Schnittstelle TX und RX besitzt. In dem gesamten Beispiel-Code ist myserial mit Serial1 zu ersetzen, siehe unten. // SparkFun Serial LCD example 1 // Clear the display and say "Hello World!" void setup() { Serial1.begin(9600); // set up serial port for 9600 baud delay(500); // wait for display to boot up } void loop() { Serial1.write(254); // move cursor to beginning of first line Serial1.write(128); Serial1.write(" "); // clear display Serial1.write(" "); Serial1.write(254); // move cursor to beginning of first line Serial1.write(128); Serial1.write("Hello, world!"); } while(1); // wait forever 14
Wetterstation Lösungsvorschlag Unter https://www.hs-esslingen.de/de/mitarbeiter/mohammad-anuschefar.html Fachgebiete Embedded Hardware Lessons necessary Arduino Download Arduino-Code Wetterstation.zip Bluetooth-Modul (RN-42): ACHTUNG: Da hier unterschiedliche Versionen von Bluetooth-Modulen gibt, auf die Pinbelegung (Gnd -, VCC +, TX, RX) achten! Hier ist dieselbe Prinzip der seriellen Übertragung wie über USB-COM-Port oder Serial-LCD. Es ist zu beachten, dass das Bluetooth-Modul mit eine Baudrate von 115200 Baudrate arbeitet. Um die Sensordaten zusätzlich über den Bluetooth-Modul zu versenden muss das Modul wie oben angezeigt angeschlossen werden. Im Programmcode muss noch in setup Bereich die Serial2 initialisiert werden danach kann im loop Bereich die entsprechende Daten mit der Funktion Serial2.write(); übertragen werden. Um mit ein externes Gerät die Verbindung mit dem Bluetooth-Modul herzustellen muss man bei der Ankoppelung den Sicherheitscode 1234 eingeben. - Verbindung über Laptop: o Als serielle Kommunikationsprogramm kann HTerm verwendet werden Download: http://www.der-hammer.info/terminal/ - Verbindung über Android-Mobile: o Als serielle Kommunikationsapp kann Embedded Hardware App verwendet werden Download: Unter https://www.hs-esslingen.de/de/mitarbeiter/mohammad-anuschefar.html Fachgebiete Embedded Hardware Lessons necessary Embedded Hardware App Download 15
Embedded Hardware Android-App App-Download unter https://www.hs-esslingen.de/de/mitarbeiter/mohammad-anuschefar.html Fachgebiete Embedded Hardware Lessons necessary Embedded Hardware App Download Arduino-Code unter https://www.hs-esslingen.de/de/mitarbeiter/mohammad-anuschefar.html Fachgebiete Embedded Hardware Lessons necessary Arduino Download Arduino-Code SerialInOut_USB_Bluetooth.zip 16
Android-Mobile: 17
18
19
20
21
Embedded Hardware App starten: 22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
MATLAB/Simulink Installation-Guide Hinzufügen/Download von Arduino support packages auf Privatrechnern 48
Simulink Starten um die installierte Arduino Packages zu überprüfen und ein neues Simulink- Projekt starten 49
Jetzt kann man die Arduino Packages Blöcke und die Simulink eigene Blöcke per Plug & Play in das leere Simulink-Projekt, je nach Projekt, rein gezogen, konfiguriert und miteinander verbunden werden. MATLAB/Simulink - Getting Started (Modellbasiert) Starten von Arduino Beispiele 50
51
Unter Tutorials findet man eine Reihe von Beispielen die durch gearbeitet werden können und wir fangen gleich mit Getting Started with Arduino Hardware an (Blink LED) 52
Um den Beispiel durchzuführen muss man lediglich den unteren Anweisungen unter Task 3 - Create a Model for Arduino Hardware folgen 53
Man kann auch das Beispielprojekt direkt aufrufen 54
Für Änderungen an Parametern oder Einstellungen, mit Doppelklick auf den jeweiligen Block Um ein Projekt zu verifizieren kann man es simulieren Simulation starten Simulationszeit 55
Simulation stoppen Durchgeführte Simulationszeit 56
Einen Blick auf die Model Configuration Parameters Erforderliche Konfigurationen sind unter Code Generation System target file: realtime.tlc und unter Run on Target Hardware Target hardware: das entsprechende Ziel-Hardware. In den Beispielen sind sie automatisch richtig eingestellt. 57
Das Projekt auf Arduino-Hardware zu flashen Deploy to Hardware 58
Bei erfolgreiche Flash-Vorgang: 59
60