Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Geleitwort
13
Vorwort
17
1 Einleitung: Was dieses Buch leistet und was Sie erwartet
19
TEIL I Bauen Sie Ihr eigenes ferngesteuertes Roboter-Auto mit dem Raspberry Pi!
21
2 Das etwas andere Kfz-Praktikum: Einführung in die elektronischen Komponenten
23
2.1 Komponenten für ein ferngesteuertes Roboter-Auto
23
2.2 Raspberry Pi: Der Single-Board-Computer
25
2.2.1 Das Gehirn des Roboter-Autos: Warum der Raspberry Pi zum Einsatz kommt
25
2.2.2 Der Raspberry Pi 3 Modell B und seine Familienmitglieder
28
2.2.3 Das kleinste Familienmitglied: Der Raspberry Pi ZERO
28
2.3 Das Raspberry-Pi-Kameramodul
30
2.4 Motortreiber
32
2.5 Getriebemotoren
33
2.6 Step-Down-Converter
33
2.7 Batteriehalter und Akkus
34
2.8 Kabel
35
2.8.1 Jumper-Kabel
36
2.8.2 Zweiadriges Kupferkabel
36
2.8.3 USB-Kabel
37
2.9 Die richtige Mikro-SD-Karte
37
2.10 Optional, aber unabhängiger trotz Kabel: Ein Netzteil
38
2.11 Optional, aber gut für weite Strecken: Ein WLAN-USB-Modul
38
3 Schrauber aufgepasst: Eine Übersicht der benötigten Werkzeuge
41
3.1 Lötstation
42
3.2 Löten
43
3.2.1 Lötzubehör
43
3.2.2 Optionales Zubehör: Die »Dritte Hand«
45
4 Besseres Drehmoment? Der richtige Antrieb für das Roboter-Auto
47
4.1 Grundlagen zum Elektromotor
47
4.1.1 Gleichstrommotor
47
4.1.2 Bürstenloser Gleichstrommotor
49
4.1.3 Schrittmotoren
50
4.1.4 Elektromotoren und das Drehmoment
51
4.2 Gar nicht so banal: Räder
52
4.2.1 Rad-Typen
52
4.2.2 Radbefestigung
55
5 Damit es mit dem Blick unter die Haube klappt: Das Chassis
57
5.1 Ein Chassis aus Pappe
57
5.1.1 Cardboard-Chassis: Modellzeichnung
59
5.1.2 Einbau der Getriebemotoren und der Elektronik
62
5.2 Ein Chassis aus LEGO®-Bausteinen
64
5.2.1 Aufbau der Getriebemotorhalterung
65
5.2.2 Fahrgestell montieren
68
5.3 Ein Chassis mithilfe eines Acrylglas-Bausatzes
70
6 Benzin war gestern: Grundlagen der Elektrizitätslehre
75
6.1 Elektrische Gesetze und Formeln
75
6.1.1 Die Reihenschaltung
75
6.1.2 Die Parallelschaltung
76
6.1.3 Ohmsches Gesetz
77
6.1.4 Elektrische Leistung
77
6.2 Beispielrechnung zu den Grundlagen der Elektrizitätslehre
77
6.2.1 Beispiel Reihenschaltung
78
6.2.2 Beispiel Parallelschaltung
78
6.2.3 Beispiel LED-Vorwiderstand
79
7 Lange Leitung? Manchmal besser! Verkabelung der elektronischen Komponenten
81
7.1 Stromversorgung der elektronische Komponenten
82
7.2 Motortreiber und Raspberry Pi logisch verbinden
84
7.2.1 Die Ausrichtung der 40-Pin-Stiftleiste des Raspberry Pi
86
7.2.2 Übersicht über die Verkabelung des Motortreiber an die GPIO-Pins
87
7.3 Verkabelung der Getriebemotoren
90
7.4 Getriebemotoren mit dem Motortreiber verbinden
92
8 Das richtige Betriebssystem macht’s! – Das Raspberry-Pi-Betriebssystem installieren
95
8.1 Das Betriebssystem auf Mikro-SD-Karte vorbereiten
96
8.1.1 Schritt 1: Download der Image-Datei
96
8.1.2 Schritt 2: Image installieren
97
8.2 Raspberry Pi booten
98
8.3 Das Dateisystem der Speicherkarte erweitern
99
8.4 Raspbian-Spracheinstellungen
100
8.5 WLAN einrichten
102
9 Nerds aufgepasst! Befehle und Programme im Terminal-Fenster
105
9.1 Das Terminal-Fenster
105
9.2 Temporäre Administratorrechte
106
9.3 Im Filesystem navigieren
107
9.4 Den Texteditor »Nano« kennenlernen
108
9.5 Zugriffsrechte ändern
110
9.6 Neustarten und Herunterfahren des Raspberry Pi
111
9.7 Die IP-Adresse des Raspberry Pi anzeigen
112
9.8 Dateiverknüpfung setzen
113
9.9 Die Programmausgabe in eine .log-Datei umleiten
113
10 Nur so kommt das Ding ans Laufen: Software-Installation und Konfiguration
115
10.1 Das Betriebssystem und die Raspberry-Pi-Firmware aktualisieren
117
10.2 Den Midnight Commander installieren
119
10.3 TightVNC Server und Viewer installieren
121
10.4 PuTTY installieren
124
10.5 Notepad++ installieren
126
10.6 Samba Server installieren
126
10.7 Python installieren
128
10.8 Subversion-Client installieren
129
10.9 Video-Streaming-Server installieren
129
11 Einfacher geht’s nicht: Programmieren mit Scratch
133
11.1 Die Scratch-Grundlagen
134
11.2 Ein Scratch-Programmbeispiel für Ihr Roboter-Auto
136
11.3 Steuerungsprogramm für das Roboter-Auto in Scratch
138
12 Fahren ohne Schlangenlinien: Programmieren mit Python
141
12.1 Kurze Einführung in Python
141
12.2 Das Steuerungsprogramm in Python
142
12.3 Die Roboter-Auto-Steuerung starten
154
13 Geisterfahrer aufgepasst! Wir sorgen für Durchblick
155
13.1 Das Google-Auto hat’s – und unseres auch: Die Raspberry-Pi-Kamera installieren
155
13.1.1 Kameramodul aktivieren
155
13.1.2 Bilder aufnehmen
157
13.1.3 Videos aufnehmen
157
13.2 Mehr als eine bloße DashCam: Live-Video-Stream
157
13.2.1 Kernelmodul laden
158
13.2.2 mjpg-streamer konfigurieren
159
13.2.3 Die Video-Auflösung in mjpg-streamer anpassen
161
14 Kommuniziere, kommuniziere: Webinterface-Steuerung über WLAN
163
14.1 Das WebIOPi-Framework installieren
164
14.1.1 Erste Modifikation für Raspberry Pi 2 oder 3 Modell B
164
14.1.2 Zweite Modifikation für Raspberry Pi 2 oder 3 Modell B
165
14.2 Die Webinterface-Steuerung programmieren
166
14.3 Das Webinterface starten
175
15 Start-Automatik: Den Autostart der Programme konfigurieren
177
15.1 Ein Start-Skript für den mjpg-streamer anlegen
178
15.2 Den mjpg-streamer-Dienst einrichten
180
15.2.1 Den Service manuell starten
181
15.3 Den RobotControlWeb-Dienst einrichten
181
15.3.1 Das WebControlStart.sh-Skript erstellen
182
15.3.2 Den Cron-Daemon anpassen
182
16 Was Sie im ersten Teil des Buches erreicht haben
185
TEIL II Hände weg vom Steuer: Lassen Sie Ihr Roboter-Auto autonom fahren
187
17 Pfadfinder elektronisch: Mit diesen Komponenten fahren Sie autonom
189
17.1 Komponenten für das autonome Fahren
189
17.2 Raspberry Pi Sense HAT
191
17.2.1 Gyroskop
192
17.2.2 Magnetometer
193
17.2.3 Beschleunigungssensor
193
17.2.4 Temperatursensor
193
17.2.5 Luftdrucksensor
193
17.2.6 Luftfeuchtesensor
193
17.2.7 LED-Matrix
193
17.2.8 Joystick
194
17.3 Einführung in den I2C-Datenbus
194
17.3.1 Der I2C-Bus des Raspberry Pi
195
17.3.2 I2C-bidirektionaler Pegelwandler
195
17.3.3 Aufbau des I2C-Erweiterungsboard
196
17.4 Ultraschallsensoren
201
17.4.1 Der Ultraschallsensor SRF08
203
17.5 GPS-Empfänger
204
18 Achtung, Kabelsalat: Anbau und Verkabelung der elektronischen Komponenten
207
18.1 Befestigung der elektronischen Komponenten am Roboter-Auto
207
18.1.1 Ultraschallsensoren am Chassis befestigen
208
18.1.2 Erweiterung für das Roboter-Auto-Chassis
211
18.1.3 Raspberry Pi, Kamera und Sense HAT befestigen
215
18.1.4 Das I2C-Erweiterungsboard befestigen
215
18.1.5 Den GPS-Empfänger befestigen
216
18.2 Die elektronischen Komponenten im Roboter-Auto verkabeln
218
18.2.1 Die Ultraschallsensoren an das I2C-Erweiterungsboard anschließen
219
18.2.2 Den Step-Down-Converter an das I2C-Erweiterungsboard anschließen
220
18.2.3 Den Raspberry Pi mit dem I2C-Erweiterungsboard verbinden
221
18.2.4 Das Sense HAT mit dem I2C-Erweiterungsboard und dem Raspberry Pi verbinden
223
18.2.5 Den GPS-Empfänger mit dem Raspberry Pi verbinden
226
19 Upgrade für Ihr Roboter-Auto: Neue Software für das autonome Fahren
227
19.1 I2C-Bus-Software installieren
227
19.1.1 Fehlersuche am I2C-Bus
229
19.2 Octave installieren
229
19.3 GPS-Software installieren und testen
230
19.3.1 Funktionstest des GPS-Empfängers
230
19.3.2 Gpsd-Dienst starten
231
20 Auslesen, verstehen und programmieren: Bringen Sie die Sensoren und Aktoren zum Laufen
233
20.1 Raspberry Pi Sense HAT auswerten und programmieren
233
20.1.1 Das Python-Programm für das Gyroskop
234
20.1.2 Das Python-Programm für das Magnetometer
238
20.1.3 Das Python-Programm für die LED-Matrix
243
20.2 Python-Programm zur Verarbeitung der GPS-Koordinaten
250
20.3 Python-Programme für den SRF08-Ultraschallsensor
252
20.3.1 Die I2C-Adresse des SRF08-Ultraschallsensors ändern
252
20.3.2 Grundlagen zum SRF08-Ultraschallsensor
257
20.3.3 Programm zur Entfernungsmessung mit dem SRF08-Ultraschallsensor
261
21 Auf die Überholspur: Einführung in die parallele Programmierung mit Python
265
21.1 Grundlagen der parallelen Programmierung mit Python
265
21.1.1 Ein Beispielprogramm mit zwei Threads
266
21.1.2 Ein Beispielprogramm mit zwei Threads und einem Lock
271
21.2 Drehen mit dem Gyroskop
276
21.3 Orientieren mit dem Kompass
282
21.4 Annährung zwischen zwei Hindernissen
291
22 Machen Sie es sich einfach auf der Rückbank bequem: Programme für autonomes Fahren
299
22.1 Hindernissen autonom ausweichen
299
22.2 GPS-Wegpunkte abfahren
308
22.2.1 Berechnung der Entfernung zwischen zwei GPS-Koordinaten und dem Kurswinkel
308
22.2.2 Autonom eine GPS-Koordinate anfahren
316
23 Immer noch nicht genug? Weitere Ideen für Ihr Roboter-Auto
331
Index
333