Der Raspberry Pi lernt fahren! Und Sie sind sein Fahrlehrer! Raspberry Pi und Robotik faszinieren Sie? Dann bringt Sie dieses Buch sicher richtig in Fahrt! Ob Einsteiger oder fortgeschrittener RasPi-Bastler: Schritt für Schritt lernen Sie, wie Sie mit dem Raspberry Pi ein ferngesteuertes Roboter-Auto entwickeln. Oder soll das Auto gleich selber fahren können? Perfekt, denn im zweiten Teil des Buches bauen Sie genau das: ein autonomes Roboter-Auto. Quasi im Vorbeifahren lernen Sie alle Grundlagen, die Sie für beide Projekte benötigen. Hardware, Elektronik, Bau Ihres bevorzugten Auto-Chassis und natürlich die Programmierung der nötigen Software in Scratch und Python. Die Formel Eins gewinnen Sie mit dem Roboter-Auto vielleicht nicht viele spannende Erkenntnisse und Lernspaß dafür aber sicher! Let the good times roll: Ohne Vorwissen einfach einsteigenAlle relevanten Programmier-, Elektronik- und HardwaregrundlagenFerngesteuerte und autonome Modelle bauen; mit vollständiger Teile-Liste Aus dem Inhalt:Die elektronischen Komponenten kennenlernen: Raspberry Pi, Kamera- und W-LAN-Modul, Motoren, Step-Down-Converter, Ultraschall-Sensor, GPS-Empfänger u. v. m. Die benötigten Werkzeuge kennenlernen: Lötkolben, Dritte Hand und Co. Grundlagen zum ElektromotorSo fügt sich alles zusammen: Chassis basteln, Fahrgestell montieren, Elektronik verbauenGrundlagen der ElektrizitätslehreVerkabelung der elektronischen KomponentenDen Raspberry Pi in Betrieb nehmenWichtige Linux-GrundlagenEinführung in die Programmierung mit Scratch und PythonDas Google-Auto hat eine und Ihres auch: Die Kamera nutzenAuto-Steuerung: via W-LAN fernsteuern oder vollständig autonomListe der benötigten Elektronik-Komponenten sowie alle Steuerungsprogramme zum Download
Inhaltsverzeichnis
Materialien zum Buch . . . 14
Geleitwort . . . 15
Vorwort . . . 19
1. Einleitung: Was dieses Buch leistet, und was Sie erwartet . . . 23
Teil I Bauen Sie Ihr eigenes ferngesteuertes Roboter-Auto mit dem Raspberry Pi! . . . 25
2. Das etwas andere Kfz-Praktikum: Einführung in die elektronischen Komponenten . . . 27
2. 1 . . . Komponenten für ein ferngesteuertes Roboter-Auto . . . 27
2. 2 . . . Raspberry Pi: Der Single-Board-Computer . . . 29
2. 3 . . . Das Raspberry-Pi-Kameramodul . . . 34
2. 4 . . . Motortreiber . . . 36
2. 5 . . . Getriebemotoren . . . 37
2. 6 . . . Step-down-Converter . . . 38
2. 7 . . . Batteriehalter und Akkus . . . 39
2. 8 . . . Kabel . . . 40
2. 9 . . . Die richtige microSD-Karte . . . 42
2. 10 . . . Optional, aber unabhängiger trotz Kabel: Ein Netzteil . . . 42
2. 11 . . . Optional, aber gut für weite Strecken: Ein WLAN-USB-Modul . . . 43
2. 12 . . . Optional, aber ideal für die Montage: Raspberry-Pi-Abstandshalter . . . 44
3. Schrauber aufgepasst: Eine Übersicht über die benötigten Werkzeuge . . . 45
3. 1 . . . Lötstation . . . 46
3. 2 . . . Löten . . . 47
4. Besseres Drehmoment? Der richtige Antrieb für das Roboter-Auto . . . 51
4. 1 . . . Grundlagen zum Elektromotor . . . 51
4. 2 . . . Gar nicht so banal: Räder . . . 57
5. Damit es mit dem Blick unter die Haube klappt: Das Chassis . . . 61
5. 1 . . . Ein Chassis aus Pappe . . . 61
5. 2 . . . Ein Chassis aus LEGO®-Bausteinen . . . 68
5. 3 . . . Ein Chassis mithilfe eines Acrylglas-Bausatzes . . . 74
6. Benzin war gestern: Grundlagen der Elektrizitätslehre . . . 79
6. 1 . . . Elektrische Gesetze und Formeln . . . 79
6. 2 . . . Beispielrechnung zu den Grundlagen der Elektrizitätslehre . . . 81
7. Lange Leitung? Manchmal besser! Verkabelung der elektronischen Komponenten . . . 85
7. 1 . . . Stromversorgung der elektronischen Komponenten . . . 86
7. 2 . . . Motortreiber und Raspberry Pi logisch verbinden . . . 88
7. 3 . . . Verkabelung der Getriebemotoren . . . 94
7. 4 . . . Getriebemotoren mit dem Motortreiber verbinden . . . 96
8. Das richtige Betriebssystem macht' s! -- Das Raspberry-Pi-Betriebssystem installieren . . . 99
8. 1 . . . Das Betriebssystem auf microSD-Karte vorbereiten . . . 100
8. 2 . . . Raspberry Pi booten . . . 102
8. 3 . . . Raspbian-Spracheinstellungen . . . 104
8. 4 . . . WLAN einrichten . . . 105
9. Nerds aufgepasst! Befehle und Programme im Terminal-Fenster . . . 109
9. 1 . . . Das Terminal-Fenster . . . 109
9. 2 . . . Temporäre Administratorrechte . . . 110
9. 3 . . . Im Filesystem navigieren . . . 111
9. 4 . . . Den Texteditor Nano kennenlernen . . . 112
9. 5 . . . Zugriffsrechte ändern . . . 114
9. 6 . . . Neustarten und Herunterfahren des Raspberry Pi . . . 115
9. 7 . . . Die IP-Adresse des Raspberry Pi anzeigen . . . 116
9. 8 . . . Dateiverknüpfung setzen . . . 117
9. 9 . . . Die Programmausgabe in eine ». log«-Datei umleiten . . . 117
9. 10 . . . Wget -- Dateien aus dem Internet herunterladen . . . 117
10. Nur so kommt das Ding ans Laufen: Softwareinstallation und -konfiguration . . . 119
10. 1 . . . Das Betriebssystem und die Raspberry-Pi-Firmware aktualisieren . . . 121
10. 2 . . . Den Midnight Commander installieren . . . 123
10. 3 . . . Real VNC Server konfigurieren und Viewer installieren . . . 125
10. 4 . . . PuTTY installieren . . . 128
10. 5 . . . Notepad++ installieren . . . 130
10. 6 . . . Samba Server installieren . . . 131
10. 7 . . . Python-Erweiterungen installieren . . . 133
10. 8 . . . Flask-Web-Framework . . . 134
10. 9 . . . Video-Streaming-Server installieren . . . 134
10. 10 . . . NTP-Zeit-Dienst einrichten . . . 135
11. Einfacher geht' s nicht: Programmieren mit Scratch . . . 137
11. 1 . . . Die Scratch-Grundlagen . . . 138
11. 2 . . . Ein Scratch-Programmbeispiel für Ihr Roboter-Auto . . . 140
11. 3 . . . Steuerungsprogramm für das Roboter-Auto in Scratch . . . 142
12. Fahren ohne Schlangenlinien: Programmieren mit Python . . . 145
12. 1 . . . Kurze Einführung in Python . . . 145
12. 2 . . . Das Steuerungsprogramm in Python . . . 146
12. 3 . . . Die Roboter-Auto-Steuerung starten . . . 158
13. Geisterfahrer aufgepasst! Wir sorgen für Durchblick . . . 159
13. 1 . . . Das Google-Auto hat' s -- und unseres auch: Die Raspberry-Pi-Kamera installieren . . . 159
13. 2 . . . Mehr als eine bloße Dash-Cam: Live-Video-Stream . . . 161
14. Kommuniziere, kommuniziere: Webinterface-Steuerung über WLAN . . . 167
14. 1 . . . Das Web-Framework Flask . . . 168
14. 2 . . . Die Webinterface-Steuerung programmieren . . . 168
14. 3 . . . Das Webinterface starten . . . 185
15. Start-Automatik: Den Autostart der Programme konfigurieren . . . 187
15. 1 . . . Ein Start-Skript für den mjpg-streamer anlegen . . . 188
15. 2 . . . Den mjpg-streamer-Dienst einrichten . . . 190
15. 3 . . . Den RobotControlWeb-Dienst einrichten . . . 191
15. 4 . . . Was Sie im ersten Teil des Buches erreicht haben . . . 195
Teil II Hände weg vom Steuer: Lassen Sie Ihr Roboter-Auto autonom fahren . . . 197
16. Pfadfinder elektronisch: Mit diesen Komponenten fahren Sie autonom . . . 199
16. 1 . . . Komponenten für das autonome Fahren . . . 199
16. 2 . . . Übersicht über die Werkzeuge für Teil 2 des Buches . . . 201
16. 3 . . . Raspberry Pi Sense HAT . . . 201
16. 4 . . . Einführung in den I2C-Datenbus . . . 204
16. 5 . . . Time-of-Flight-Abstandssensor . . . 208
16. 6 . . . GPS-Empfänger . . . 210
16. 7 . . . Servocontroller PCA9685 . . . 211
16. 8 . . . Port Doubler . . . 212
17. Achtung, Kabelsalat: Anbau und Verkabelung der elektronischen Komponenten . . . 213
17. 1 . . . Befestigung der elektronischen Komponenten am Roboter-Auto . . . 213
17. 2 . . . Die elektronischen I2C-Komponenten im Roboter-Auto verkabeln . . . 220
17. 3 . . . Die weiteren elektronischen Komponenten im Roboter-Auto verkabeln . . . 225
18. Upgrade für Ihr Roboter-Auto: Neue Software für das autonome Fahren . . . 231
18. 1 . . . I2C-Bus-Software installieren . . . 231
18. 2 . . . Octave installieren . . . 234
18. 3 . . . GPS-Software installieren und testen . . . 234
18. 4 . . . NTP-Zeit-Dienst mit GPS-Unterstützung . . . 237
18. 5 . . . Servocontroller-Software installieren . . . 238
18. 6 . . . Installation der VL53L1X-Python-Software . . . 239
19. Auslesen, verstehen und programmieren: Bringen Sie die Sensoren und Aktoren zum Laufen . . . 241
19. 1 . . . Raspberry Pi Sense HAT auswerten und programmieren . . . 241
19. 2 . . . Python-Programm zur Verarbeitung der GPS-Koordinaten . . . 259
19. 3 . . . Python-Programme für den Time-of-Flight-Sensor . . . 262
19. 4 . . . Python-Programme für den Servocontroller . . . 266
20. Auf die Überholspur: Einführung in die parallele Programmierung mit Python . . . 277
20. 1 . . . Grundlagen der parallelen Programmierung mit Python . . . 277
20. 2 . . . Drehen mit dem Gyroskop . . . 288
20. 3 . . . Orientieren mit dem Kompass . . . 294
20. 4 . . . Annährung zwischen zwei Hindernissen . . . 303
21. Machen Sie es sich einfach auf der Rückbank bequem: Programme für autonomes Fahren . . . 311
21. 1 . . . Hindernissen autonom ausweichen . . . 311
21. 2 . . . GPS-Wegpunkte abfahren . . . 320
22. Pimpen Sie Ihr Roboter-Auto . . . 345
22. 1 . . . Die Kühlung des Raspberry Pi . . . 345
22. 2 . . . Steuerung mit einem Gamepad . . . 346
22. 3 . . . Anzeige mit einem OLED-Display . . . 354
23. Immer noch nicht genug? Weitere Ideen aus der Welt der Modell-Roboter-Autos . . . 359
Index . . . 361