Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Geleitwort des Fachgutachters
13
1 Don't panic! – Einleitung
15
1.1 Für wen ist dieses Buch geeignet?
16
1.1.1 Programmierkenntnisse?
16
1.1.2 Altersklassen
16
1.1.3 Handwerkliches Geschick und Elektronikwissen?
17
1.2 Wie sollte das Buch gelesen werden?
17
1.3 Das Roboterkit zum Buch
17
1.3.1 Welche Teile benötige ich zum Bau des Roboters?
18
1.4 Die Webseite zum Buch
19
1.4.1 Robotiklabor – der Podcast rund um Robotikthemen
19
1.5 Danksagung
19
2 Wir sind die Roboter
21
2.1 Welche Arten von Robotern gibt es?
21
2.1.1 Zweibeinige Roboter
22
2.1.2 Sechsbeinige Roboter
23
2.1.3 Zwei- und dreirädrige Roboter
25
2.1.4 Vierrädrige Roboter
27
2.1.5 Sechsrädrige Roboter
29
2.1.6 Roboter mit Raupenantrieb
30
2.1.7 Schlangenroboter
31
2.1.8 Tauchroboter
32
2.1.9 Fazit
33
2.1.10 App-Empfehlung
34
2.2 Woraus besteht ein Roboter?
35
2.2.1 Grundsätzliches
35
2.2.2 Sensoren
35
2.2.3 Aktoren
36
2.3 Wie und womit »denkt« ein Roboter?
38
2.4 Mikrocontroller allgemein
38
2.4.1 Alternativen zum Arduino-Board
39
2.5 Fazit
43
3 Arten der Programmierung
45
3.1 Grafische Programmierung
45
3.1.1 Grafische Programmierung mit »Scratch«
46
3.2 Textbasierte Programmierung
49
4 Die Arduino-Plattform
53
4.1 Was ist Arduino?
53
4.1.1 Die Arduino-Projektwebseite
54
4.1.2 Arduino, Genuino, Verwirrduino?
54
4.2 Die Arduino-Hardware
55
4.2.1 Das Arduino-Board für den Roboter
55
4.2.2 Verschiedene Arduino-Boards
65
4.2.3 Die Einzelteile für Ihren Roboter bzw. das Roboterkit
71
4.2.4 Treiberinstallation
79
4.3 Die Arduino-Software
79
4.3.1 Download und Installation
79
4.3.2 Start
93
4.4 Die Entwicklungsumgebung
94
4.5 Die Software im Detail
94
4.5.1 Ändern der Sprache
94
4.5.2 Die grafische Oberfläche im Detail
95
4.5.3 Beispiele innerhalb der Software
96
4.6 Fazit
97
5 Die kleine Werkstatt
99
5.1 Fliegende Verdrahtung
99
5.1.1 Vor- und Nachteile der fliegenden Verdrahtung
100
5.2 Steckplatinen
101
5.2.1 Vor- und Nachteile der Steckplatinen
104
5.3 Werkzeuge
104
5.3.1 Sicherheitsbrille
104
5.3.2 Seitenschneider
105
5.3.3 Abisolierzange
105
5.3.4 Lötkolben/Lötstation, Lötzinn und Schwamm
107
5.3.5 Messgerät (optional)
110
5.3.6 Feuerzeug
111
5.3.7 Schlitzschraubendreher, 2 bis 3 mm breit
112
5.3.8 Sonstige Werkzeuge (optional)
112
5.4 Kabel verbinden oder isolieren
115
5.4.1 Kabel verbinden
115
5.5 Platinen
117
5.6 Löten
119
5.6.1 Was wird benötigt?
119
5.6.2 Wie geht es?
120
5.6.3 Was sind kalte Lötstellen?
130
5.7 Fazit
130
6 Programmiergrundlagen
131
6.1 Stil
131
6.1.1 Einrückung
133
6.1.2 Eindeutigkeit/Sinnhaftigkeit
133
6.1.3 Groß-/Kleinschreibung und Unterstriche
134
6.1.4 Muttersprache oder Englisch?
134
6.1.5 Kommentieren und dokumentieren
135
6.1.6 Einheitlichkeit – Bleiben Sie Ihrem Stil treu!
135
6.1.7 Zusammenfassung
135
6.2 Kommentare
136
6.3 Variablen
136
6.3.1 Das Semikolon
137
6.3.2 Das Leerzeichen
137
6.3.3 Deklaration
137
6.3.4 Datentypen
137
6.4 Konstanten
142
6.4.1 Vordefinierte Konstanten
142
6.5 #define (Präprozessor-Anweisung)
143
6.6 Operatoren
144
6.7 Kontrollstrukturen
145
6.7.1 Der Befehl »if«
145
6.7.2 Der Befehl »if...else«
147
6.7.3 Die »switch«-Anweisung
148
6.8 Schleifen
150
6.8.1 Die »for«-Schleife
151
6.8.2 Die »while«-Schleife
152
6.8.3 Die »do...while«-Schleife
153
6.9 Funktionen
154
6.9.1 Parameter und Argumente
157
6.9.2 Argumente
158
6.9.3 Begrenzte Haltbarkeit – oder: der Gültigkeitsbereich von Variablen
159
6.10 Die »setup«-Funktion
162
6.11 Die »loop«-Funktion
163
6.11.1 Das kleinstmögliche Arduino-Programm
164
6.12 Verzögerungen und Zeitsteuerung
164
6.13 Ein- und Ausgänge
165
6.14 Fehlersuche/Debugging und die Anzeige von Werten
166
6.14.1 Die LED als Mittel zur Fehlersuche
166
6.14.2 Der serielle Port – Ausgabe von Text
168
6.14.3 Ausgabe von Variablenwerten auf dem Seriellen Monitor
171
6.15 Bibliotheken (Libraries)
176
6.16 Fazit
177
7 Los geht's! – Erste Praxis
179
7.1 Der erste Kontakt mit der Hardware
179
7.1.1 »Blinky« – Ansteuerung einer LED
179
7.1.2 Übertragen der Software auf das Arduino-Board
183
7.1.3 Fehlersuche
186
7.1.4 Herr Ohm und sein Gesetz
187
7.1.5 Wie dimme ich eine LED?
190
7.1.6 Zwischenfazit
196
7.2 Ist da jemand? – Kontakt mit der Außenwelt
196
7.2.1 Schalter abfragen
196
7.2.2 Taster abfragen
200
7.2.3 Sensoren
206
7.2.4 Infrarotsensor
206
7.2.5 Ultraschallsensoren
215
7.2.6 Zwischenfazit
219
7.3 Hört mich jemand? – Ausgabe von Signalen
220
7.3.1 Der Piezosignalgeber
220
7.3.2 Melodien programmieren
224
7.3.3 Ein Musikinstrument
224
7.3.4 Zwischenfazit
228
7.4 Der Diener – Ansteuerung von Servos
229
7.4.1 Was sind Servos, und wie funktionieren sie?
229
7.4.2 Wie werden Servos angesteuert?
231
7.5 Ich muss hier weg! – Ansteuerung von Motoren
238
7.5.1 Arten von Motoren
238
7.5.2 Wie werden Motoren angesteuert?
239
7.5.3 Motoransteuerung realisieren
243
7.5.4 Ein Sensorventilator
253
7.6 Fazit
259
7.6.1 Letzte Vorbereitung vor dem Zusammenbau des Roboters
259
8 Keine Schraube locker – Die Montage des eigenen Roboters
261
8.1 Überblick
261
8.1.1 Die Teile für den Arduino-Roboter
262
8.1.2 Die Werkzeuge für den Zusammenbau des Arduino-Roboters
264
8.1.3 Arten der Montage
264
8.2 Los geht's – Schritt für Schritt zum Bot
268
8.2.1 Vorbereitung
268
8.2.2 Die Grundplatte
270
8.2.3 Der kleine Motorhalter
274
8.2.4 Der große Motorhalter
277
8.2.5 Löten der Drähte bzw. Litze an die Motoren
280
8.2.6 Motoren mit Schrauben und Muttern versehen
282
8.2.7 Montage des linken Motors
284
8.2.8 Montage des rechten Motors
287
8.2.9 Befestigung der beiden Motoren vorne
288
8.2.10 Montage der oberen Platte
291
8.2.11 Der Batteriehalter bzw. Akkuhalter
295
8.2.12 Das Stützrad bzw. Kugellager
297
8.2.13 Der Servo
301
8.2.14 Das Servorad oder Servokreuz
303
8.2.15 Das Arduino-Board
305
8.2.16 Das Roboter-Gesicht
307
8.2.17 Das Kabel zum Infrarotsensor
309
8.2.18 Der Infrarotsensor – die »Augen«
313
8.2.19 Der Kopf
315
8.2.20 Das Arduino Motor Shield
316
8.2.21 Die Spannungsversorgung und Motorkabel
318
8.2.22 Der Servostecker – mit Hack
321
8.2.23 Der Sensorstecker
325
8.2.24 Finale: Die Räder
326
8.3 Alles bereit? – Ein paar Tests
328
8.3.1 Stromversorgungstest
328
8.3.2 Servotest
329
8.3.3 Sensortest
330
8.3.4 Motortest
330
8.4 Fazit
331
9 Drive me crazy? – Die erste Fahrstunde
333
9.1 Roboterchoreografie
333
9.1.1 Grundrichtungen
333
9.1.2 Den Roboter im Zickzack fahren lassen
338
9.1.3 Den Roboter in einer Spirale fahren lassen
341
9.2 Hindernisvermeidung
344
9.2.1 Wie funktioniert Hindernisvermeidung?
344
9.2.2 Umsetzung in die Praxis
346
9.2.3 Der Roboter als Haustier
347
9.3 Fazit
356
10 Pimp My Robot! – Mögliche Erweiterungen
357
10.1 Grundsätzliche Ansteuerung eines Displays
358
10.1.1 Installation der LCD-Shield-Library
358
10.1.2 Montage eines LCDs auf dem Roboter und Nutzung von Shield-Adaptern
363
10.1.3 Hindernisanzeige
365
10.1.4 Entfernungsanzeige auf dem LCD
370
10.1.5 Hinderniszählung und Anzeige auf dem LCD
372
10.2 Press Any Key! – Interaktion per Tastatur
375
10.2.1 Abfragen der Tasten
376
10.2.2 Steuerung des Roboters über die Tasten
379
10.2.3 Die Geschwindigkeit über die Tasten einstellen
383
10.3 Ich sehe was ... – weitere Sensoren
388
10.3.1 Infrarotsensor zur Fernsteuerung
388
10.3.2 Treppen- und Tischkantenerkennung
388
10.3.3 Der Roboter zählt Personen
389
10.3.4 Bring mich ins Licht – der Helligkeitssensor
391
10.3.5 Reflexionssensor – Linienverfolgung
391
10.3.6 Farbsensor
391
10.3.7 Bewegungssensor
392
10.4 Spannendes – Energiemanagement
392
10.4.1 Spannungsanzeige
392
10.4.2 Akkuwarner mittels Spannungsteiler
394
10.5 Fazit
396
11 Der Roboter und der Rest der Welt
399
11.1 Kommunikation per Infrarot
399
11.1.1 Coming home – Suchen einer Basisstation
399
11.1.2 Und was machst du so? – Roboter kommunizieren
400
11.1.3 Alles im grünen Bereich? – Der Roboter als Gärtner
400
11.2 Kommunikation mittels Sprache
400
11.2.1 Hello world! – Sprachausgabe für den Roboter
400
11.2.2 Simon befiehlt – Spracherkennung für den Roboter
401
11.3 Steuerung per Bluetooth
401
11.4 Internet of Things – Das Internet der Dinge
401
11.5 Fazit
402
Schlusswort
403
Index
405