LEGO® und Elektronik

Raspberry Pi, Arduino, Sensoren, Motoren und vieles mehr einsetzen und programmieren
 
 
MITP (Verlag)
  • 1. Auflage
  • |
  • erschienen am 18. November 2016
  • |
  • 296 Seiten
 
E-Book | ePUB mit Wasserzeichen-DRM | Systemvoraussetzungen
E-Book | PDF mit Wasserzeichen-DRM | Systemvoraussetzungen
978-3-95845-415-6 (ISBN)
 
Mit Sensoren auf die Umgebung reagieren, Motoren ansteuern, Texte morsen, Pappkarten abschießen uvm.
Spannende Projekte mit Bau- und Programmieranleitungen wie z.B. Fernsteuerung eines Roboters mit Smartphone
Alle Beispiel-Roboter sind sowohl mit als auch ohne LEGO®-EV3-Komponenten realisierbar

LEGO®-Steine - sei es als selbstgebaute LEGO®-Fahrzeuge, -Roboter oder als LEGO®-Fertigmodelle - lassen sich hervorragend mit Elektronikkomponenten versehen. Die Mikrocontroller Raspberry Pi und Arduino in Verbindung mit günstigen Sensoren und Motoren sind hierfür besonders gut geeignet. In diesem Buch erfahren Sie, wie Sie verschiedene Elektronikkomponenten einsetzen und programmieren.
Im ersten Teil des Buches vermittelt der Autor Grundlagen zu allen technischen Komponenten, mit denen Sie Ihre LEGO®-Modelle oder -Roboter ausstatten können. Sie erhalten eine kurze Einführung in die beiden Mikrocontroller Raspberry Pi und Arduino und erfahren, wie Sie Ihre LEGO®-Steine mit Motoren, diversen Sensoren und weiteren Komponenten ausstatten und diese programmieren können:

Getriebemotoren mit Motortreiber
Einsatz von diversen Sensoren wie Touch-, Line-, Ultraschall- und Kompass-Sensoren und dazugehörige Aktivitäten wie: auf Helligkeit, Entfernung und Himmelsrichtung reagieren und Gegenstände wahrnehmen
LEDs blinken lassen und dimmen
Töne produzieren, Texte morsen und Musik ausgeben
Einsatz der Raspberry-Pi-Kamera
LCD-Displays zur Ausgabe von Daten

In einem separaten Kapitel bauen Sie eigene Sensoren wie einen Licht-, Line- und Touch-Sensor sowie eine Hilfsplatine und eine Stromversorgung, um die im Buch besprochenen Schaltungen für Ihren Roboter oder Ihr LEGO®-Fertigmodell einsetzen zu können.
Im zweiten Teil des Buches finden Sie zahlreiche Projekte mit Robotern, die verschiedene spannende Aufgaben ausführen:

Ein Roboter, der sowohl Gegenstände als auch die Tischkante erkennen kann und nicht vom Tisch fällt
Lösen eines Labyrinths mithilfe von künstlicher Intelligenz
Lernen einer Linienverfolgung gesteuert durch ein neuronales Netz
Fernsteuerung mit dem Raspberry Pi und einem Smartphone am Beispiel eines Roboters, der Snacks serviert
Sammeln farbiger Joghurtbecher. Dabei wird zur Bilderkennung das Kameramodul des Raspberry Pi sowie der BrickPi+ eingesetzt.

Bei allen Projekten geht der Autor sowohl auf die Hardware als auch auf die entsprechende Programmierung ein.

Hardware:
Im Buch werden sowohl günstige handelsübliche Motoren und Sensoren beschrieben als auch die LEGO®-eigenen Komponenten sowie der BrickPi+.
Alle Erläuterungen im Buch sowie die beschriebenen Elektronikkomponenten und Mikrocontroller können für beliebige Modelle verwendet werden. Sie können einen eigenen Roboter bauen, die LEGO®-Roboter im Buch nachbauen oder als Grundlage ein LEGO®-Fertigmodell verwenden. Für die im Buch verwendeten LEGO®-Roboter gibt es die Bauanleitungen zum kostenlosen Download.
1., 2016
  • Deutsch
  • Frechen
  • |
  • Deutschland
  • 13,73 MB
978-3-95845-415-6 (9783958454156)
3958454151 (3958454151)
weitere Ausgaben werden ermittelt
Thomas Kaffka hat als Softwareingenieur gearbeitet und ist begeisterter Lego- und Elektronikbastler.
1 - Cover [Seite 1]
2 - Titel [Seite 5]
3 - Impressum [Seite 6]
4 - Inhaltsverzeichnis [Seite 7]
5 - Prolog [Seite 13]
6 - Einleitung [Seite 15]
7 - Kapitel 1: LEGO als Rahmen für unsere Roboter [Seite 21]
7.1 - 1.1 LEGO mit Elektronikkomponenten versehen [Seite 23]
7.1.1 - 1.1.1 Folgende Fremdkomponenten werden verwendet [Seite 23]
7.1.2 - 1.1.2 Folgende LEGO-Elektronikkomponenten werden verwendet [Seite 26]
7.2 - 1.2 Ein vorhandenes LEGO-Modell hacken [Seite 27]
8 - Kapitel 2: Den Arduino Uno kennenlernen [Seite 29]
8.1 - 2.1 Der Computer [Seite 29]
8.2 - 2.2 Die Entwicklungsumgebung installieren [Seite 30]
8.2.1 - 2.2.1 Windows [Seite 30]
8.2.2 - 2.2.2 OS X [Seite 30]
8.2.3 - 2.2.3 Linux [Seite 30]
8.2.4 - 2.2.4 Einrichtung der Entwicklungsumgebung [Seite 30]
8.3 - 2.3 Die Schnittstelle [Seite 31]
8.4 - 2.4 Das Standardprogramm für den Arduino [Seite 32]
9 - Kapitel 3: Den Raspberry Pi kennenlernen [Seite 33]
9.1 - 3.1 Der Computer [Seite 33]
9.2 - 3.2 Die GPIO-Schnittstelle [Seite 34]
9.3 - 3.3 Den Raspberry Pi konfigurieren [Seite 36]
9.3.1 - 3.3.1 Hardwareausstattung [Seite 36]
9.3.2 - 3.3.2 SD-Karte vorbereiten [Seite 37]
9.3.3 - 3.3.3 Erster Start von Raspbian [Seite 38]
9.3.4 - 3.3.4 Mit Python 3 die GPIO-Schnittstelle ansprechen [Seite 38]
9.3.5 - 3.3.5 Aktivierung der SPI-Schnittstelle [Seite 39]
9.3.6 - 3.3.6 Anschluss an das WLAN [Seite 39]
9.3.7 - 3.3.7 Den BrickPi+ anbinden [Seite 40]
9.4 - 3.4 Die Softwareschnittstelle [Seite 41]
9.4.1 - 3.4.1 Das Rahmenprogramm für die Fremdkomponenten [Seite 41]
9.4.2 - 3.4.2 Das Rahmenprogramm für das BrickPi+-Modul [Seite 42]
9.4.3 - 3.4.3 Das Rahmenprogramm für Experimente [Seite 45]
10 - Kapitel 4: Hilfsplatinen bauen [Seite 51]
10.1 - 4.1 Einen Licht-Sensor bauen [Seite 52]
10.2 - 4.2 Einen Line-Sensor bauen [Seite 53]
10.3 - 4.3 Touch-Sensoren bauen [Seite 54]
10.4 - 4.4 Eine Hilfsplatine für den Arduino bauen [Seite 55]
10.4.1 - 4.4.1 Die Spannungsversorgung [Seite 56]
10.4.2 - 4.4.2 Das I2C-Interface [Seite 57]
10.4.3 - 4.4.3 Der Taster [Seite 57]
10.4.4 - 4.4.4 Die LED [Seite 58]
10.4.5 - 4.4.5 Der Piezo-Schallgeber [Seite 59]
10.5 - 4.5 Eine Hilfsplatine für den Raspberry Pi bauen [Seite 59]
10.5.1 - 4.5.1 Die Spannungsversorgung [Seite 60]
10.5.2 - 4.5.2 Die Spannungsteiler [Seite 61]
10.5.3 - 4.5.3 Das I2C-Interface [Seite 62]
10.5.4 - 4.5.4 Der Taster [Seite 62]
10.5.5 - 4.5.5 Die LED [Seite 63]
10.5.6 - 4.5.6 Der Piezo-Schallgeber [Seite 63]
10.5.7 - 4.5.7 Das MCP3008 IC [Seite 64]
10.6 - 4.6 Eine Stromversorgung bauen [Seite 65]
11 - Kapitel 5: Einsatz von Motoren [Seite 67]
11.1 - 5.1 Getriebemotoren [Seite 67]
11.1.1 - 5.1.1 Getriebemotoren mit Motortreiber am Beispiel des Arduino [Seite 69]
11.1.2 - 5.1.2 Getriebemotoren mit Motortreiber am Beispiel des Raspberry Pi [Seite 74]
11.1.3 - 5.1.3 Umsetzung der analogen Achsstände in digitale Informationen, die Encoder am Beispiel des Arduino [Seite 77]
11.1.4 - 5.1.4 Die Encoder am Beispiel des Raspberry Pi [Seite 82]
11.1.5 - 5.1.5 Abfahren der »platonischen Flächen« (1) mit dem Arduino [Seite 86]
11.1.6 - 5.1.6 Abfahren der »platonischen Flächen« (2) mit dem Raspberry Pi [Seite 92]
11.2 - 5.2 Die LEGO-Motoren [Seite 98]
11.2.1 - 5.2.1 LEGO-Motoren mit dem BrickPi+ ansteuern [Seite 99]
11.2.2 - 5.2.2 Abfahren der »platonischen Flächen« (3) mit dem Raspberry Pi und dem BrickPi+-Modul [Seite 101]
11.3 - 5.3 Aufgabe und Lösung [Seite 105]
12 - Kapitel 6: Einsatz von Sensoren [Seite 107]
12.1 - 6.1 Auf Helligkeit reagieren [Seite 107]
12.1.1 - 6.1.1 Fototransistoren verwenden mit dem Arduino [Seite 107]
12.1.2 - 6.1.2 Fototransistoren verwenden mit dem Raspberry Pi [Seite 109]
12.1.3 - 6.1.3 Der Color-Sensor von LEGO [Seite 112]
12.1.4 - 6.1.4 Die hellste Lichtquelle des Raumes finden mit dem Arduino [Seite 113]
12.1.5 - 6.1.5 Die hellste Lichtquelle des Raumes finden mit dem Raspberry Pi [Seite 117]
12.2 - 6.2 Auf Entfernung reagieren [Seite 120]
12.2.1 - 6.2.1 Einen Ultraschall-Sensor verwenden mit dem Arduino [Seite 121]
12.2.2 - 6.2.2 Einen Ultraschall-Sensor verwenden mit dem Raspberry Pi [Seite 123]
12.2.3 - 6.2.3 Der Ultraschall-Sensor von LEGO [Seite 125]
12.2.4 - 6.2.4 Einen Infrarot-Sensor verwenden mit dem Arduino [Seite 126]
12.2.5 - 6.2.5 Einen Infrarot-Sensor verwenden mit dem Raspberry Pi [Seite 129]
12.2.6 - 6.2.6 Der Infrarot-Sensor von LEGO [Seite 130]
12.2.7 - 6.2.7 Wänden und Gegenständen ausweichen mit dem Arduino [Seite 130]
12.2.8 - 6.2.8 Wänden und Gegenständen ausweichen mit dem Raspberry Pi [Seite 132]
12.3 - 6.3 Gegenstände wahrnehmen [Seite 136]
12.3.1 - 6.3.1 Einen Touch-Sensor verwenden mit dem Arduino [Seite 136]
12.3.2 - 6.3.2 Einen Touch-Sensor verwenden mit dem Raspberry Pi [Seite 139]
12.3.3 - 6.3.3 Der Touch-Sensor von LEGO [Seite 140]
12.3.4 - 6.3.4 Hindernisse erkennen mit dem Arduino [Seite 143]
12.3.5 - 6.3.5 Hindernisse erkennen mit dem Raspberry Pi [Seite 146]
12.4 - 6.4 Auf die Himmelsrichtung reagieren [Seite 149]
12.4.1 - 6.4.1 Einen Kompass-Sensor verwenden mit dem Arduino [Seite 149]
12.4.2 - 6.4.2 Der Kompass-Sensor von Hitechnic für LEGO [Seite 151]
12.4.3 - 6.4.3 Nach Himmelsrichtungen ausrichten mit dem Arduino [Seite 152]
12.5 - 6.5 Aufgaben und Lösungen [Seite 155]
13 - Kapitel 7: Einsatz weiterer Komponenten [Seite 159]
13.1 - 7.1 LEDs verwenden [Seite 159]
13.1.1 - 7.1.1 Eine LED blinken lassen mit dem Arduino [Seite 159]
13.1.2 - 7.1.2 Eine LED blinken lassen mit dem Raspberry Pi [Seite 162]
13.1.3 - 7.1.3 Eine LED dimmen mit dem Arduino [Seite 165]
13.1.4 - 7.1.4 Eine LED dimmen mit dem Raspberry Pi [Seite 166]
13.2 - 7.2 Töne fabrizieren [Seite 168]
13.2.1 - 7.2.1 Einen Piezo-Schallgeber verwenden mit dem Arduino [Seite 168]
13.2.2 - 7.2.2 Einen Piezo-Schallgeber verwenden mit dem Raspberry Pi [Seite 170]
13.2.3 - 7.2.3 Texte morsen mit dem Arduino [Seite 171]
13.2.4 - 7.2.4 Texte morsen mit dem Raspberry Pi [Seite 176]
13.3 - 7.3 Die Umgebung visuell auswerten [Seite 179]
13.3.1 - 7.3.1 Die Raspberry-Pi-Kamera verwenden [Seite 179]
13.3.2 - 7.3.2 Bunte Pappkarten abschießen mit dem LEGO-Shooter und dem Brick Pi+ [Seite 182]
13.4 - 7.4 Musik ausgeben mit dem Raspberry Pi [Seite 185]
13.5 - 7.5 Informationen sichtbar machen [Seite 187]
13.5.1 - 7.5.1 Ein LCD-Display für den Arduino [Seite 188]
13.5.2 - 7.5.2 Ein LCD-Display für den Raspberry Pi [Seite 192]
13.6 - 7.6 Aufgaben und Lösungen [Seite 193]
14 - Kapitel 8: Auf dem Tisch bleiben mit dem Raspberry Pi [Seite 197]
14.1 - 8.1 Der Roboter [Seite 198]
14.2 - 8.2 Die Sensoren [Seite 200]
14.2.1 - 8.2.1 Der Ultraschall-Sensor [Seite 200]
14.2.2 - 8.2.2 Der Touch-Sensor vorne [Seite 201]
14.2.3 - 8.2.3 Der Touch-Sensor hinten [Seite 201]
14.3 - 8.3 Das Programm [Seite 201]
14.4 - 8.4 Die Parametrisierung [Seite 204]
14.5 - 8.5 Ein Programm für den Arduino [Seite 204]
15 - Kapitel 9: Ein Labyrinth lösen mit einem Expertensystem und dem Arduino [Seite 207]
15.1 - 9.1 Erst ein wenig Theorie [Seite 207]
15.2 - 9.2 Der Roboter [Seite 210]
15.3 - 9.3 Die Sensoren [Seite 213]
15.3.1 - 9.3.1 Der Kompass-Sensor [Seite 213]
15.3.2 - 9.3.2 Der Line-Sensor [Seite 214]
15.3.3 - 9.3.3 Der Touch-Sensor [Seite 216]
15.4 - 9.4 Das Programm [Seite 216]
15.5 - 9.5 Die Parametrisierung [Seite 222]
15.6 - 9.6 Ein Labyrinth lösen mit dem Raspberry Pi [Seite 223]
16 - Kapitel 10: Die Linienverfolgung mit einem neuronalen Netz mit dem Raspberry Pi [Seite 225]
16.1 - 10.1 Kurze Einführung in neuronale Netze [Seite 225]
16.2 - 10.2 Der Roboter [Seite 227]
16.3 - 10.3 Der Line-Sensor [Seite 229]
16.4 - 10.4 Das klassische Programm zur Linienverfolgung [Seite 229]
16.4.1 - 10.4.1 Das Programm [Seite 230]
16.4.2 - 10.4.2 Die Parametrisierung [Seite 235]
16.5 - 10.5 Das Lernen der Linienverfolgung durch ein neuronales Netz [Seite 236]
16.6 - 10.6 Das Durchführen der Linienverfolgung durch ein neuronales Netz [Seite 240]
16.7 - 10.7 Die Linienverfolgung mit dem Arduino [Seite 241]
17 - Kapitel 11: Einen Roboter fernsteuern mit dem Raspberry Pi [Seite 243]
17.1 - 11.1 Der Roboter [Seite 243]
17.2 - 11.2 Fernsteuerung mit Raspberry SSH [Seite 245]
17.2.1 - 11.2.1 Das Programm [Seite 247]
17.2.2 - 11.2.2 Die Parametrisierung [Seite 249]
17.3 - 11.3 Fernsteuerung mit einem Webserver und PHP [Seite 249]
17.3.1 - 11.3.1 Das PHP-Programm [Seite 250]
17.3.2 - 11.3.2 Das Python-Programm [Seite 252]
17.3.3 - 11.3.3 Die Parametrisierung [Seite 254]
17.4 - 11.4 Der Ausbau des Roboters [Seite 254]
17.5 - 11.5 Einen Roboter fernsteuern mit dem Arduino [Seite 254]
18 - Kapitel 12: Joghurtbecher sammeln mit dem Raspberry Pi und dem BrickPi+ [Seite 255]
18.1 - 12.1 Der Roboter [Seite 256]
18.2 - 12.2 Die Erkennung der Joghurtbecher per Kamera [Seite 258]
18.3 - 12.3 Die übrigen Sensoren [Seite 259]
18.3.1 - 12.3.1 Der Kompass-Sensor [Seite 259]
18.3.2 - 12.3.2 Der Color-Sensor [Seite 260]
18.3.3 - 12.3.3 Der Touch-Sensor [Seite 260]
18.4 - 12.4 Joghurtbecher sammeln [Seite 260]
18.5 - 12.5 Parametrisieren des Programms [Seite 261]
18.5.1 - 12.5.1 Joghurtbecher sammeln mit dem Arduino [Seite 262]
19 - Kapitel 13: Ein vorhandenes LEGO-Modell aufmotzen [Seite 263]
19.1 - 13.1 Der Roboter mit dem Arduino [Seite 263]
19.2 - 13.2 Der Roboter mit dem Raspberry Pi [Seite 265]
19.3 - 13.3 Die Sensoren [Seite 266]
19.4 - 13.4 Ausblick [Seite 266]
20 - Anhang [Seite 269]
20.1 - A.1 Codeschnipsel zu den einzelnen Komponenten [Seite 269]
20.1.1 - A.1.1 Licht-Sensor [Seite 269]
20.1.2 - A.1.2 Infrarot-Sensor [Seite 269]
20.1.3 - A.1.3 Ultraschall-Sensor [Seite 269]
20.1.4 - A.1.4 Touch-Sensor [Seite 270]
20.1.5 - A.1.5 Kompass-Sensor [Seite 270]
20.1.6 - A.1.6 Motortreiber [Seite 270]
20.1.7 - A.1.7 LED [Seite 270]
20.1.8 - A.1.8 Piezo-Schallgeber [Seite 271]
20.1.9 - A.1.9 Aktivlautsprecher [Seite 271]
20.1.10 - A.1.10 LCD-Display [Seite 271]
20.1.11 - A.1.11 LEGO-Color-Sensor [Seite 272]
20.1.12 - A.1.12 LEGO-Infrarot-Sensor [Seite 272]
20.1.13 - A.1.13 LEGO-Ultraschall-Sensor [Seite 272]
20.1.14 - A.1.14 LEGO-Touch-Sensor [Seite 272]
20.1.15 - A.1.15 Hitechnic-Kompass-Sensor [Seite 273]
20.1.16 - A.1.16 LEGO-NXT-Motor [Seite 273]
20.1.17 - A.1.17 LEGO EV3 mittlerer Motor [Seite 273]
20.1.18 - A.1.18 LEGO-EV3-Motor [Seite 273]
20.2 - A.2 Die Programmiersprache C(++) [Seite 273]
20.2.1 - A.2.1 Schnittstellenfunktionen [Seite 274]
20.2.2 - A.2.2 Datentypen [Seite 274]
20.2.3 - A.2.3 Datenstrukturen [Seite 274]
20.2.4 - A.2.4 Steuerungsstatements [Seite 275]
20.2.5 - A.2.5 Programmschleifen [Seite 276]
20.2.6 - A.2.6 Mathematisch-logische Operationen [Seite 276]
20.2.7 - A.2.7 Mathematische und Zeit-Funktionen [Seite 277]
20.2.8 - A.2.8 Serielle Kommunikation [Seite 278]
20.3 - A.3 Die Programmiersprache Python [Seite 278]
20.3.1 - A.3.1 Schnittstellenfunktionen [Seite 278]
20.3.2 - A.3.2 Datentypen [Seite 278]
20.3.3 - A.3.3 Datenstrukturen [Seite 279]
20.3.4 - A.3.4 Steuerungsstatements [Seite 280]
20.3.5 - A.3.5 Mathematisch-logische Operationen [Seite 281]
20.3.6 - A.3.6 Mathematische und Zeit-Funktionen [Seite 282]
20.4 - A.4 Bezugsquellennachweis [Seite 282]
20.5 - A.5 Einrichten eines VNC-Servers für den Raspberry Pi [Seite 283]
20.6 - A.6 Über neuronale Netze [Seite 284]
20.6.1 - A.6.1 Künstliche neuronale Netze [Seite 285]
20.6.2 - A.6.2 Das Backpropagation-Netz [Seite 286]
21 - Stichwortverzeichnis [Seite 291]

Einleitung


Die ?Robotik ist mittlerweile zu einem festen Bestandteil unserer Welt und unseres Lebens geworden. Zu Anfang wurden Roboter bspw. in der Automobilindustrie eingesetzt, um den Fahrzeugbau zu unterstützen. Sie haben den Vorteil, dass sie monotone Arbeiten ohne Aufmerksamkeitsverlust durchführen können. Außerdem nehmen sie, wenn einmal programmiert, die gleichen Tätigkeiten immer mit derselben Präzision vor. Heutzutage kann man sogar für den Haushalt Roboter erwerben, die im Garten den Rasen mähen oder in der Wohnung den Boden staubsaugen. Und das ist erst der Anfang. In der Zukunft werden Roboter uns lästige Arbeiten, wie das Staubputzen, das Bodenwischen oder das Bügeln, abnehmen. Warum erfinden Sie nicht eine dieser Lösungen und werden dadurch berühmt und reich?

In diesem Buch lernen Sie, wie Sie Ihre LEGO-Steine - oder auch ein LEGO-Fertigmodell - unter Einsatz von diversen Elektronikkomponenten und mit entsprechender Programmierung zum Leben erwecken. Im Laufe des Buches entstehen mehrere Roboter, die verschiedene spannende Aufgabenstellungen lösen können. Dabei spielt es aber keine Rolle, aus welchen Basiskomponenten der grundlegende Roboter besteht. Sie können hierfür mit LEGO-Steinen die im Buch verwendeten Roboter nachbauen, ein LEGO-Fertigmodell verwenden oder aus ganz anderen Komponenten einen Roboter bauen. Wichtig dabei ist nur, dass der Roboter groß genug ist, um dort die verwendeten Elektronikkomponenten einbauen zu können.

Die Roboter werden mit dem Arduino? und dem Raspberry Pi ?zum Leben erweckt. Jedes Projekt im Buch kann sowohl mit Elektronikkomponenten von LEGO als auch mit handelsüblichen Elektronikkomponenten wie Sensoren, Motoren etc. umgesetzt werden. So können Sie selber entscheiden, welche Komponenten Sie am liebsten verwenden. Alle Projekte können auch mit dem ?BrickPi+ von LEGO umgesetzt werden.

Ein paar Projekte sind nur jeweils mit einem der beiden Computer umsetzbar. Das sind für den Arduino:

und für den Raspberry Pi:

In diesem Buch geht es darum, Ihnen die Grundlagen zu vermitteln, wie Sie LEGO mit Elektronikkomponenten kombinieren und wie Sie Ihre Roboter programmieren, damit sie diverse Aufgaben lösen und sich in ihrer Umwelt bewegen und auf diese reagieren können.

In Kapitel 1 stelle ich die Komponenten vor, die Sie im Laufe Ihrer Projekte in diesem Buch verwenden werden. Dabei werden sowohl die LEGO-Technikkomponenten als auch (ich nenne es so) die fremden Technikkomponenten beschrieben. Diese Komponenten sind keine LEGO-Komponenten, sondern Komponenten von Drittherstellern, die Sie auch einsetzen können.

Im Kapitel 2 lernen Sie den Arduino kennen. Es werden seine Fähigkeiten sowie die verwendete Entwicklungsumgebung beschrieben.

Kapitel 3 beschäftigt sich mit dem Raspberry Pi. Auch in diesem Kapitel geht es um seine Fähigkeiten und um die für ihn verwendete Entwicklungsumgebung.

In Kapitel 4 wird gelötet. Wir stellen verschiedene Platinen her, die wir in den darauf folgenden Kapiteln verwenden. Unter anderem werden dort zwei Hilfsplatinen erstellt, die Sie für beide Computer benötigen, um einige der Fremdkomponenten anschließen zu können. Diese Lötarbeiten sind sehr einfach gehalten und auch für Anfänger geeignet.

Kapitel 5 widmet sich dem Einsatz von Motoren. Ich gehe dabei auf die LEGO-Motoren, aber auch auf Fremdmotoren ein, die unsere Roboter antreiben können.

In Kapitel 6 beschreibe ich die verwendeten Sensoren. Roboter müssen Daten über ihre Umgebung sammeln können, um auf diese reagieren zu können. Auch hier beschreibe ich LEGO- bzw. Fremdsensoren.

Alle übrigen technischen Bestandteile, mit denen wir unsere Roboter ausrüsten können, beschreibe ich in Kapitel 7. Dabei gehe ich insbesondere auch auf das Kameramodul des Raspberry Pi ein. Wir verwenden es zur Bilderkennung. Weiterhin werden unter anderem LCD-Displays beschrieben, mit denen Sie Daten Ihrer Roboter ausgeben können.

In den nun folgenden Kapiteln beschäftigen wir uns mit kleinen Roboter-Projekten, in denen Sie die zuvor vorgestellten Komponenten einsetzen.

In Kapitel 8 wird ein Roboter behandelt, der nicht vom Tisch fällt. Entsprechende Sensoren sorgen dafür, dass er Gegenstände auf dem Tisch sowie die Tischkante erkennen kann.

Mit dem Lösen eines Labyrinths durch einen Roboter beschäftigen wir uns in Kapitel 9. Dabei wird künstliche Intelligenz in Form eines Expertensystems eingesetzt.

In Kapitel 10 wird die klassische Aufgabe der Linienverfolgung durch einen Roboter behandelt. Auch hier setzen Sie künstliche Intelligenz ein. Sie lassen einen Roboter, gesteuert durch ein neuronales Netz, die Linienverfolgung »lernen«.

Die Fernsteuerung eines Roboters ist das Thema des Kapitels 11. Wir bauen dazu einen Roboter, der Snacks servieren kann. Jeder Ihrer Gäste kann ihn mithilfe eines Smartphones fernsteuern.

Die Aufgabe, farbige Joghurtbecher zu sammeln, ist Gegenstand von Kapitel 12. Dabei wird zur Bilderkennung das Kameramodul des Raspberry Pi eingesetzt.

Und als abschließendes Projekt motzen wir in Kapitel 13 ein vorhandenes LEGO-Modell auf. Dieses Kapitel soll prinzipiell zeigen, wie man dieses Buch auch verwenden kann, wenn man nicht die einzelnen LEGO-Steine für die Roboter beschaffen möchte. Es können auch jeweils Fertigmodelle von LEGO eingesetzt werden.

Im vorliegenden Buch gebe ich Ihnen einen Einblick in die Robotik. Ich zeige Ihnen, wie Motoren und Sensoren verwendet werden, um einen Roboter zu steuern. Dabei gehe ich sowohl auf die Hardware als auch auf die jeweilige Softwarelösung ein.

Ich wünsche Ihnen nun viel Freude beim Basteln und Programmieren der Robotermodelle und hoffe, dass ich Ihnen dabei die Faszination, die die Robotik auf mich ausübt, vermitteln kann.

Die verwendeten Computer


??Warum nenne ich sowohl den Arduino Uno als auch den Raspberry Pi einen Computer? Es sind doch nur kleine Platinen in der Größe einer Scheckkarte!

Wenn in der Informatik von Computern geredet wird, bezieht man sich zumeist auf die sog. »Von-Neumann-Architektur«. Diese hatte John von Neumann 1945 - also bereits sehr frühzeitig - definiert. Danach besteht ein Computer aus den folgenden Komponenten:

  • Arithmetische / Logische Einheit (ALU)

  • Steuerwerk (Control Unit)

  • Speicherwerk (Memory)

  • Eingabe- / Ausgabewerk (I/O Unit)

»ALU« und »Control Unit« befinden sich jeweils im Prozessor des Computers. Das »Memory« ist über ein Bus-System mit dem Prozessor verbunden. Die »I/O Unit« verbindet den Computer mit der Außenwelt und sorgt für Dateneingabe und -ausgabe. Wenn eine Maschine über diese vier Komponenten verfügt, so nennt man sie einen Computer.

Und wenn wir nun den Arduino Uno oder den Raspberry Pi betrachten, verfügen beide Maschinen über genau diese Komponenten. Beide Maschinen besitzen einen Mikroprozessor sowie einen Speicher, der Daten und Programme aufnimmt. Das Ausschlaggebende sind aber ihre beiden Schnittstellen, an denen elektronische Komponenten zur Datenein- und -ausgabe betrieben werden können, die vierte der oben aufgeführten Komponenten.

Der Arduino Uno und der Raspberry Pi sind demnach Computer und daher nenne ich sie im Buch auch so. Also seien Sie nicht verwirrt, Computer können heutzutage sehr klein sein.

Wenn Sie bisher keinen der beiden Computer besitzen und sich fragen, welchen Sie denn anschaffen sollen, so ist das nicht einfach zu beantworten. Ich habe eine Tabelle erstellt, die beide Computer einander gegenüberstellt, um so eine Entscheidung zu unterstützen.

Merkmal

Arduino Uno

Raspberry Pi 2

Anschlusspins

20

40

Betriebssystem

Keines

Linux

Entwicklungsumgebung

Auf dem PC

Integriert

I2C Interface

Ja

Ja

LEGO-Zusatzmodul

Ja

Ja

Preis

~ 25 Euro

~ 40 Euro

Programmierung

Anspruchsvoll (C)

Einfach (Python)

Spannung

5 Volt

3,3 Volt

SPI Interface

Nein

Ja

Tabelle 1: Gegenüberstellung von Eigenschaften des Arduino und des Raspberry Pi

Das nötige Werkzeug


Um die im vorliegenden Buch vorgestellten Projekte zu realisieren, ist teilweise ?Werkzeug nötig. Die folgende Abbildung zeigt die wichtigsten Einzelteile.

Es handelt sich, von links nach rechts und von oben nach unten, um ein digitales Voltmeter, einen Lötkolben (16 Watt), eine Entlötsaugpumpe, eine Abisolierzange, Lötzinn, Isolierband, Draht, eine Zange, um bspw....

Dateiformat: EPUB
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat EPUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader - beide kostenlos (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie die kostenlose App Adobe Digital Editions oder eine andere Lese-App für E-Books (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nur bedingt: Kindle)

Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

22,99 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
PDF mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
Hinweis: Die Auswahl des von Ihnen gewünschten Dateiformats und des Kopierschutzes erfolgt erst im System des E-Book Anbieters
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung des WebShops erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok