LEGO-Roboter bauen, steuern und programmieren mit Raspberry Pi und Python

Book description

  • Bau- und Programmieranleitungen für mehr als 10 spannende Roboter-Projekte
  • Labyrinthe lösen, Pappkarten per Bilderkennung abschießen, Formen mit einem neuronalen Netz erkennen u.v.m.
  • Programmcode und Bauanleitungen für alle Roboter zum Download

LEGO®-Steine – sei es als selbstgebaute LEGO®-Fahrzeuge, -Roboter oder als LEGO®-Fertigmodelle – lassen sich hervorragend mit Elektronikkomponenten zum Leben erwecken und programmieren. Hierfür ist der Mikrocontroller Raspberry Pi besonders gut geeignet. Anhand konkreter Projekte zeigt Ihnen der Autor, wie Sie Sensoren und Motoren von LEGO® sowie weitere Elektronikkomponenten mit dem Raspberry Pi verbinden und Ihre Roboter programmieren. Durch den Einsatz der Programmiersprache Python können die Roboter einfache und komplexe Aufgaben lösen bis hin zu Linienverfolgung mit einem neuronalen Netz oder Bilderkennung.

Im ersten Teil des Buches erhalten Sie eine kurze Einführung in den Mikrocontroller Raspberry Pi sowie den BrickPi, der für die Verbindung von LEGO®-Sensoren mit dem Raspberry Pi benötigt wird. Außerdem vermittelt der Autor die Grundlagen zu allen Elektronikkomponenten, mit denen Sie Ihre LEGO®-Modelle oder -Roboter ausstatten können. Dazu zählen unter anderem mittlere und große LEGO®-Motoren sowie folgende Komponenten: Color-Sensor, Touch-Sensor und Infrarot-Sensor von LEGO®, Kompass-Sensor und Gyro-Sensor von Hitechnic, Raspberry-Pi-Kamera, Fototransistor, LEDs und Motoren.

Im zweiten Teil des Buches finden Sie eine kurze Einführung in die Grundlagen der Programmierung mit Python, gefolgt von einem umfangreichen Projektteil mit 11 spannenden Robotern, die diverse Aufgaben lösen, wie zum Beispiel:

  • Gegenstände erkennen und diesen ausweichen
  • Lösen eines Labyrinths mithilfe von künstlicher Intelligenz
  • Linienverfolgung und Formen erkennen mit einem neuronalen Netz
  • Pappkarten abschießen per Bilderkennung
  • Sammeln farbiger Joghurtbecher
  • Texte morsen inkl. Anleitung zum Basteln eines eigenen Touch-Sensors

Bei allen Projekten erläutert der Autor sowohl den Bau der Roboter als auch die entsprechende Programmierung.

Hardware:

Für die Projekte im Buch werden sowohl die LEGO®-eigenen Komponenten als auch günstige handelsübliche Motoren und Sensoren eingesetzt. Sie können einen eigenen Roboter bauen, die LEGO®-Roboter im Buch nachbauen oder als Grundlage ein LEGO®-Fertigmodell verwenden. Für alle im Buch verwendeten LEGO®-Roboter gibt es die Bauanleitungen zum kostenlosen Download.

Table of contents

  1. Impressum
  2. Einleitung
    1. Mit dem Buch arbeiten
    2. Der LEGO Digital Designer 4.3
  3. Teil I: Die Hardware für die Roboter
  4. Kapitel 1: LEGO als Grundlage für unsere Roboter
    1. 1.1 Roboter als Bausatz
    2. 1.2 LEGO mit Elektronikkomponenten versehen
      1. 1.2.1 Folgende LEGO-Elektronikkomponenten werden verwendet
      2. 1.2.2 Folgende ‌Fremdkomponenten werden verwendet
  5. Kapitel 2: Der Raspberry Pi stellt sich vor
    1. 2.1 Der Einplatinencomputer
    2. 2.2 Die GPIO-Schnittstelle
    3. 2.3 Den ‌Raspberry Pi konfigurieren
      1. 2.3.1 Den RPi mit weiterer Hardware versehen
      2. 2.3.2 Die SD-Karte vorbereiten
    4. 2.4 Den BrickPi3 anschließen
  6. Kapitel 3: Die elektronischen Komponenten
    1. 3.1 Verwendung der LEGO-Elektronik-Komponenten
      1. 3.1.1 Der LEGO-‌Colorsensor
      2. 3.1.2 Der LEGO-‌Touchsensor
      3. 3.1.3 Der LEGO-Infrarotsensor
      4. 3.1.4 Der Hitechnic-Kompass-Sensor
      5. 3.1.5 Der Hitechnic-Gyrosensor
      6. 3.1.6 Der mittlere LEGO-Motor
      7. 3.1.7 Der LEGO-Motor
    2. 3.2 Verwendung von Fremdkomponenten
      1. 3.2.1 Der Fototransistor
      2. 3.2.2 Die LED
      3. 3.2.3 Der Touchsensor
      4. 3.2.4 Der Schallgeber
      5. 3.2.5 Die Motoren und der Motortreiber
      6. 3.2.6 Die Kamera
      7. 3.2.7 Der BrickPi3
  7. Teil II: Programmieren lernen
  8. Kapitel 4: Die Programmiersprache Python
    1. 4.1 Die Entwicklungsumgebung
    2. 4.2 Die ersten Schritte
    3. 4.3 Hallo, ich bin ein Roboter
    4. 4.4 Editieren und ausführen
  9. Kapitel 5: Variablen
    1. 5.1 Datentypen
      1. 5.1.1 Zahlen
      2. 5.1.2 Strings (Zeichenketten)
      3. 5.1.3 Wahrheitswerte
    2. 5.2 Datenstrukturen
      1. 5.2.1 Listen
      2. 5.2.2 Tupel
    3. 5.3 Konstanten
  10. Kapitel 6: Verzweigungen
    1. 6.1 Bedingungen
    2. 6.2 Das if-Statement
    3. 6.3 Das else-Statement
    4. 6.4 else-if-Kaskaden
    5. 6.5 Modulbibliotheken
    6. 6.6 Experiment: LED schalten
  11. Kapitel 7: Schleifen
    1. 7.1 Das while-Statement
    2. 7.2 Das for-Statement
    3. 7.3 Das break-Statement
    4. 7.4 Das continue-Statement
    5. 7.5 Experiment: Blinklicht
    6. 7.6 Experiment: LED dimmen
  12. Kapitel 8: Funktionen
    1. 8.1 ‌Deklaration
    2. 8.2 Parameter
    3. 8.3 ‌Rückgabewert
    4. 8.4 Experiment: Licht erkennen
  13. Kapitel 9: Klassen und Objekte
    1. 9.1 Definition einer Klasse
    2. 9.2 Methoden einer Klasse
    3. 9.3 Vererbung
    4. 9.4 Experiment: Töne erzeugen
  14. Teil III: Projekte
  15. Projekte mit dem BrickPi3 und LEGO-Komponenten
  16. Kapitel 10: Wänden und Gegenständen ausweichen
    1. 10.1 Das LEGO-Modell
    2. 10.2 Die LED
    3. 10.3 Der Infrarotsensor
    4. 10.4 Die Motoren
    5. 10.5 Wänden und Gegenständen ausweichen
  17. Kapitel 11: Himmelsrichtungen erkennen
    1. 11.1 Das LEGO-Modell
    2. 11.2 Der Kompass-Sensor
    3. 11.3 Der Touchsensor
    4. 11.4 Die übrige Hardware
    5. 11.5 Himmelsrichtungen erkennen
  18. Kapitel 12: Auf dem Tisch bleiben
    1. 12.1 Das LEGO-Modell
    2. 12.2 Der Gyrosensor
    3. 12.3 Die übrige Hardware
    4. 12.4 Auf dem Tisch bleiben
  19. Kapitel 13: Ein Labyrinth lösen mit einem Expertensystem
    1. 13.1 Das LEGO-Modell
    2. 13.2 Der Colorsensor
    3. 13.3 Die übrige Hardware
    4. 13.4 Das Expertensystem
      1. 13.4.1 Die Regelbasis
      2. 13.4.2 Der Stapelspeicher (Stack)
      3. 13.4.3 Der Regelinterpreter
      4. 13.4.4 Die Move Engine
      5. 13.4.5 Die Funktion move_since_wall
      6. 13.4.6 Die Funktion move_back
      7. 13.4.7 Die Funktion rotate
    5. 13.5 Labyrinth
  20. Kapitel 14: Linienverfolgung mit einem neuronalen Netz
    1. 14.1 Das LEGO-Modell
    2. 14.2 Einführung in neuronale Netze
    3. 14.3 Der Colorsensor als Lichtsensor
    4. 14.4 Die übrige Hardware
    5. 14.5 Das neuronale Netz
    6. 14.6 Linienverfolgung klassisch
    7. 14.7 Linienverfolgung trainieren
    8. 14.8 Linienverfolgung mit neuronalem Netz
  21. Kapitel 15: Objekte klassifizieren mit einem neuronalen Netz
    1. 15.1 Das LEGO-Modell
    2. 15.2 Benötigte Hardware
    3. 15.3 Kategorisieren lernen
    4. 15.4 Trainingsdaten erzeugen
    5. 15.5 Das ‌Training
    6. 15.6 Objekte klassifizieren
  22. Kapitel 16: Pappkarten abschießen per Bilderkennung
    1. 16.1 Das LEGO-Modell
    2. 16.2 Die RPi-Kamera
    3. 16.3 Die übrige Hardware
    4. 16.4 Bilderkennung
      1. 16.4.1 Farben identifizieren und definieren
      2. 16.4.2 Objekt im Bild erkennen
      3. 16.4.3 Die eigentliche Bilderkennung
    5. 16.5 Pappkarten abschießen
  23. Kapitel 17: Joghurtbecher sammeln per Bilderkennung
    1. 17.1 Das LEGO-Modell
    2. 17.2 Benötigte Hardware
    3. 17.3 Bilderkennung
    4. 17.4 Joghurtbecher sammeln
  24. Projekte mit elektronischen Fremdkomponenten
  25. Kapitel 18: Texte morsen
    1. 18.1 Das LEGO-Modell
    2. 18.2 Eine Hilfsplatine basteln
      1. 18.2.1 Die Spannungsversorgung
      2. 18.2.2 Die Spannungsteiler
      3. 18.2.3 Das I2C-Interface
      4. 18.2.4 Der Taster
      5. 18.2.5 Die LED
      6. 18.2.6 Der Piezo-Schallgeber
      7. 18.2.7 Der IC MCP3008
    3. 18.3 Touchsensoren basteln
    4. 18.4 Morsecode übersetzen und eingeben
      1. 18.4.1 Text in Morsecode übersetzen
      2. 18.4.2 Morsecode in Text überführen
  26. Kapitel 19: Abfahren der »platonischen Flächen«
    1. 19.1 Das LEGO-Modell
    2. 19.2 Getriebemotor mit Encoder und Motortreiber
    3. 19.3 Die »platonischen Flächen«
  27. Kapitel 20: Suche des hellsten Orts im Raum
    1. 20.1 Das LEGO-Modell
    2. 20.2 Der Fototransistor
    3. 20.3 Die hellste Lichtquelle des Raumes finden
  28. Kapitel 21: Ausblick
  29. Anhang A: Anhang
    1. A.1 Download
    2. A.2 Bezugsquellen

Product information

  • Title: LEGO-Roboter bauen, steuern und programmieren mit Raspberry Pi und Python
  • Author(s): Thomas Kaffka
  • Release date: September 2021
  • Publisher(s): mitp Verlag
  • ISBN: 9783747503126