Vorwort | 6 |
Inhaltsverzeichnis | 7 |
1Der Engineering-Prozess | 11 |
1.1 Zusammenstellen der Hardware | 12 |
1.2 Zusammenstellen der Werkzeuge | 18 |
1.3 Projekt: Blinkende LED | 19 |
1.3.1 Zusammenstellen der Anforderungen | 19 |
1.3.2 Anlegen einer Checkliste | 20 |
1.3.3 Hardware | 20 |
1.3.4 Konfigurieren der Hardware | 21 |
1.3.5 Schreiben der Software | 22 |
1.3.6 Debuggen der Arduino-Software | 23 |
1.3.7 Hardware-Fehlerbehebung | 24 |
1.3.8 Fertiger Prototyp | 24 |
2Arduino-Software-Entwicklung | 25 |
2.1 Erste Schritte mit setup und loop() | 25 |
2.1.1 Initialisieren von Variablen | 26 |
2.1.2 Bedingte Anweisungen | 28 |
2.2 Arbeiten mit Schleifen | 29 |
2.3 Digitale Kommunikation | 31 |
2.4 Analoge Kommunikation | 32 |
2.5 Serielle Kommunikation | 32 |
2.6 Arduino-Bibliotheken | 35 |
2.6.1 NewSoftSerial | 35 |
2.6.2 TinyGPS | 36 |
2.6.3 ColorLCDShield-Bibliothek | 36 |
3Roboterausstattung – Bewegungssteuerung | 37 |
3.1 H-Brücken | 37 |
3.2 Fahrgestell | 38 |
3.3 Projekt: Einschalten eines Motors mit einem Schalter | 39 |
3.4 Projekt: Steuern der Motorgeschwindigkeit mit einem Potenziometer | 44 |
3.5 Projekt: Steuern mehrerer Motoren mit dem Arduino-Board | 47 |
3.6 Projekt: Steuern von Geschwindigkeit und Richtung | 52 |
3.7 Projekt: Steuern von Motoren mit seriellen Befehlen | 57 |
3.7.1 Zusammenstellen der Anforderungen | 57 |
3.7.2 Debuggen der Arduino-Software | 64 |
4Arbeiten mit LCDs | 71 |
4.1 Konfigurieren des Farb-LCD-Shields | 71 |
4.2 Monochrom- und Farb-LCD-Shields | 72 |
4.3 Arbeiten mit Bibliotheken | 74 |
4.3.1 LiquidCrystal-Bibliothek | 74 |
4.3.2 ColorLCDShield-Bibliothek | 76 |
4.4 Grundlagen der LCD-Steuerung | 77 |
4.4.1 Projekt: Anzeigen mehrerer Sensorwerte | 77 |
4.5 Projekt: Erstellen eines Menüs auf dem Monochrom-LCD | 81 |
4.6 Projekt: Erstellen eines Spielautomaten mit dem Farb-LCD-Shield | 87 |
4.7 Projekt: Verwenden eines Tastenfelds zur Kommunikation mit einem Farb-LCD | 90 |
4.8 Projekt: Erstellen eines Roboters nach Vorgabe | 94 |
4.8.1 Schreiben der Software | 99 |
4.8.2 Debuggen der Arduino-Software | 103 |
5Integration eines GPS-Moduls | 105 |
5.1 microSD-Shield | 105 |
5.2 Das NMEA-Protokoll | 106 |
5.3 Bibliotheken | 107 |
5.3.1 TinyGPS | 107 |
5.3.2 SdFat-Bibliothek | 109 |
5.4 Projekt: Ausgeben von GPS-Rohdaten an Serial Monitor | 110 |
5.5 Projekt: Ausgeben von GPS-Daten auf einem Monochrom-LCD | 112 |
5.6 Projekt: Erstellen eines Programms zur Fahrzeugpositionsbestimmung | 116 |
5.7 Projekt: Protokollieren von GPS-Daten | 123 |
6Home-Engineering | 141 |
6.1 Grundlagen der Spannungsteilung | 141 |
6.2 Sensoren | 142 |
6.2.1 Fotowiderstand | 142 |
6.2.2 Neigungssensor | 143 |
6.2.3 Biegesensor | 143 |
6.2.4 FSR-Drucksensoren | 143 |
6.2.5 Digitaler Temperatur- und Feuchtigkeitssensor | 144 |
6.2.6 Digitaler Temperatursensor (I²C) | 144 |
6.3 Bibliotheken | 145 |
6.3.1 Wire | 145 |
6.3.2 DHT22 | 145 |
6.4 Projekt: Programm zum Messen des Lichteinfalls | 146 |
6.5 Projekt: Verwenden eines FSR-Drucksensors | 151 |
6.6 Projekt: Verwenden eines Biegesensors | 153 |
6.7 Projekt: Programm zur Bestimmung der horizontalen Abweichung | 155 |
6.8 Projekt: Verwenden eines DHT22-Sensors mit einem Monochrom-LCD | 158 |
6.9 Projekt: kabellose Temperaturüberwachung | 161 |
7Roboterwahrnehmung: Objekterkennung mit Arduino | 169 |
7.1 Hardware | 169 |
7.1.1 Ultraschallsensor | 169 |
7.1.2 Servos | 170 |
7.1.3 Summer | 171 |
7.2 Servo-Bibliothek | 172 |
7.3 Projekt: digitales Lineal | 172 |
7.4 Projekt: Objektalarmsystem | 175 |
7.5 Projekt: Solarregler | 178 |
7.6 Projekt: automatisierter Roboter | 182 |
8Entwicklung eines Alarmsystems | 197 |
8.1 Projekt: Türalarm | 198 |
8.2 Projekt: Bewegungsmelder mit Datenausgabe an Serial Monitor | 206 |
9Arduino und GSM: Fehlermeldungen und Befehle | 213 |
9.1 Cellular Shield | 213 |
9.2 Einführung in den AT-Befehlssatz | 214 |
9.3 Projekt: Senden einer Textnachricht | 215 |
9.4 Projekt: Türalarm mit SMS-Benachrichtigung | 221 |
9.5 Projekt: GPS-Tracker | 226 |
10Xbox-Controller-Integration mit LabVIEW | 233 |
10.1 Einführung in die LabVIEW-Umgebung | 233 |
10.1.1 Das Frontpanel | 234 |
10.1.2 Die Elementepalette | 234 |
10.1.3 Das Blockdiagramm | 235 |
10.1.4 Die Funktionenpalette | 236 |
10.1.5 Die Werkzeugpalette | 236 |
10.2 LabVIEW-Funktionen | 237 |
10.2.1 Die while-Schleife | 237 |
10.2.2 Die case-Struktur | 238 |
10.2.3 Die Sequenzstruktur | 238 |
10.2.4 Numerische Funktionen | 239 |
10.2.5 String-Funktionen | 240 |
10.2.6 Vergleichsfunktionen | 241 |
10.2.7 Funktionen für die serielle Kommunikation | 242 |
10.2.8 Funktionen zur Steuerung von Eingabegeräten | 243 |
10.3 Projekt: Steuern mit einem Xbox-Controller | 244 |
11Arduino-Steuerung mit Bluetooth | 267 |
Stichwortverzeichnis | 287 |