Stefan Aumüller ist bereits seit seiner Jugend sowohl künstlerisch als auch technisch kreativ (manchmal zum Leidwesen seiner Eltern). Erste Erfahrungen mit dem Programmieren macht er mit Basic auf dem C64, an ersten Ausstellungen nimmt er Anfang der 90er-Jahre teil. Seit 2009 ist der gelernte KFZ-Mechaniker und Elektroniker Inhaber eines Tattoo-Studios, nebenher ist er noch als Cartoon- und Comiczeichner tätig. Für Ausstellungen auf Maker-Faires setzt er zudem Upcycling-Ideen um.
Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+: www.dpunkt.plus |
Mit Arduino und LEGO eigene Bots bauen
Stefan Aumüller
Lektorat: Gabriel Neumann
Lektoratsassistenz: Anja Weimer, Julia Griebel
Copy-Editing: Petra Kienle, Fürstenfeldbruck
Satz: Ulrich Borstelmann, www.borstelmann.de
Herstellung: Stefanie Weidner
Umschlaggestaltung: Helmut Kraus, www.exclam.de (unter Verwendung eines Fotos des Autors)
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN: |
|
978-3-86490-643-5 |
|
978-3-96088-703-4 |
|
ePub |
978-3-96088-704-1 |
mobi |
978-3-96088-705-8 |
1. Auflage 2020
Copyright © 2020 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg
Hinweis:
Der Umwelt zuliebe verzichten wir auf die Einschweißfolie.
Schreiben Sie uns:
Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: hallo@dpunkt.de.
Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
LEGO, LEGO-Figuren und LEGO-Bausteine sind Warenzeichen der LEGO-Gruppe.
Dieses Buch ist von der LEGO-Gruppe weder unterstützt noch autorisiert worden.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
5 4 3 2 1 0
Für Yannis, den besten Sohn, den sich ein Vater wünschen kann
Unsere größte Schwäche liegt im Aufgeben.
Der sicherste Weg zum Erfolg ist immer,
es noch einmal zu probieren.
Thomas Alva Edison
Diesen Satz schreibe ich immer auf die erste Seite meiner Notizbücher. Er soll mich selber immer wieder daran erinnern, meine Ideen einfach umzusetzen. Es gibt nichts zu verlieren, entweder dein Projekt gelingt oder aber es geht schief und du kannst etwas daraus lernen. Lass dir nicht einreden, dass du es nicht kannst oder dass es nicht funktioniert oder am schlimmsten, dass es keinen Sinn macht. Ein Projekt muss nicht zwangsläufig immer sinnvoll sein. In erster Linie sollst du Spaß am Tüfteln haben und dich am Ende über ein gelungenes Projekt freuen. Ich denke, das ist der Grundgedanke der Maker-Szene: Nicht etwas zu bauen, was wir gerade brauchen, sondern das, was unseren verrückten Gehirnen gerade einfällt. Hätten die großen Geister jedes Mal darauf gehört, wenn jemand sagte, dass es nicht gehen würde, hätten wir wohl heutzutage weder Computer noch Autos, ja vermutlich nicht einmal Strom.
Achte einfach darauf, dass du dich oder andere nicht verletzt und dass dein Haus nicht abbrennt oder in die Luft fliegt, dann passt das schon.
Bleibe neugierig!
Wie die Idee zu diesem Buch entstand
An wen richtet sich dieses Buch?
Was kann ich von diesem Buch erwarten?
Muss ich für dieses Buch technische Vorkenntnisse haben?
Muss ich mein LEGO für die Experimente zerstören?
Brauche ich irgendwelche Spezialteile?
Wie kann ich meine eigenen Modelle konstruieren?
Wie wird aus der Idee ein fertiges Modell?
Was kann ich tun, wenn mir LEGO-Teile fehlen?
Fehlersuche
Diese Teile benötigst du für das Bauen der Modelle in diesem Buch
Welche Werkzeuge brauchst du?
Verbrauchsmaterialien
Das Verbinden von Bauteilen mit Jumperkabeln
Ganz ohne geht’s nicht – ein paar Grundlagen
Was ist analog, was digital?
Widerstände
Der pull-up-/pull-down-Widerstand
Das Potenziometer
Was ist PWM?
Was bedeutet I2C?
Programmieren
Die Programmstruktur
Variablen
Befehle
Operatoren
Abfragen
Schleifen
Wozu brauche ich Bibliotheken?
Messen
Der Arduino
Die Arduino IDE
Die Stromversorgung
Das Breadboard
Jumperkabel
Aufgesattelt – der Arduino wird LEGO-kompatibel
Let there be light – das LEGO-Blinklicht
Hey ho, let’s go – dein erstes Projekt
Der Aufbau
Der Wechselblinker
Die LEGO-Sonnenuhr
Der Programmablauf
Der LDR
Der Servo
So machst du Servos LEGO-kompatibel
Die Bauanleitung
Der Aufbau
Der Code
Wasserspender
Der Ultraschallsensor
So machst du den Ultraschallsensor LEGO-kompatibel
Supersonic – Chapter one
Das Motor Shield
Die Stromversorgung
Die Pumpe
Die Bauanleitung
Der Aufbau
Der Sketch
Der automatische Ventilator
Der Programmablauf
Der Temperatur-/Luftfeuchtigkeitssensor
Die Bauanleitung
Der Aufbau
Der Sketch
Testen des Sensors
Der erste Roboter
Die Servos
Die Bauanleitung
Der Aufbau
Der Sketch
Spiderbot
Die Bauanleitung
Der Aufbau
Der Code
Überwachungskamera
Der Programmablauf
Der Wii-Nunchuk-Controller
Die Bauanleitung
Der Aufbau
Der Sketch
Wie du dein Smartphone mit deinem Computer verbindest
Trebuchet 2.0
Die Trebuchet
Der Programmablauf
Der PIR-Sensor
Der Piezo-Buzzer
Die Bauanleitung
Der Aufbau
Der Code
Testen des Buzzers
Testen des PIR-Sensors
Bluetooth – His masters voice
HC-05 oder HC-06?
Die Bauanleitung
Der Aufbau
Der Sketch
Die Steuerung
Sprachsteuerung via Bluetooth
Der Sketch
Der Schokoriegeltresor
Der Programmablauf
Das Tastenfeld
Testen des Tastenfelds
Die Kommunikation
Das Slave-Modul
Das Master-Modul konfigurieren
Die Bauanleitung – die Mechanik
Der Aufbau – Master
Der Sketch – Master
Die Bauanleitung – das Control Panel
Der Aufbau – Slave
Der Sketch – Slave
Der Tischfahrer
Der Programmablauf
Der Infrarotsensor
Die Bauanleitung
Der Aufbau
Der Code
Testen des Sensors
Die Kuckucksuhr
Der Programmablauf
Der Schrittmotor
Den Schrittmotor mit LEGO verbinden
Das RTC-Modul
Die Bauanleitung
Die Zeit einstellen
Der Aufbau
Der Code
Der Linienfolger
Der Programmablauf
Der Sensor
Die Bauanleitung
Der Aufbau
Der Sketch
Den Sensor testen
Roboterkunst
Der Code
Der Spirograph
Der Programmablauf
Die Bauanleitung
Der Aufbau
Der Code
Die Ping-Pong-Pistole
Der Programmablauf
Die Bauanleitung
Der Aufbau
Der Code
Wecker
Der Programmablauf
Der Feuchtigkeitssensor
Die Bauanleitungen
Die Codes
Das Letzte …
Bücher
Händler
Es gibt Dinge, die partout nicht zusammenpassen, zum Beispiel eine lose zusammengesteckte Schaltung und eine junge Krähe, die das Haus unsicher macht und die ihrer angeborenen Neugierde freien Lauf lässt.
Wir engagieren uns privat im Tierschutz und haben es uns zur Aufgabe gemacht, verwaiste und verletzte Jungvögel aufzupäppeln und wieder auszuwildern. So kam auch Einstein, eine Krähe, noch nackt und hungrig zu uns. Als Einstein größer wurde, wuchs auch sein Forscherdrang und es gab nichts, was vor ihm sicher war. Ein paar ahnungslos vor sich hin blinkende LEDs luden geradezu dazu ein, genauer untersucht zu werden. So blieb von dem Aufbau, den ich mühsam über mehrere Stunden ausgetüftelt hatte, nicht mehr viel übrig als ein trauriger Haufen Elektrosalat. Ich brauchte also dringend etwas, das sich schnell zusammenstecken und bei Bedarf auch schnell in Sicherheit bringen ließ. LEGO war die für mich perfekte Lösung und so begann ich meinen Arduino und die Komponenten, die ich gerade brauchte, auf LEGO-Platten zu befestigen. Schnell wurde mir klar, dass die Kombination aus LEGO und Arduino unendlich viele kreative Möglichkeiten bietet.
Nach den ersten Gehversuchen begann ich auch größere Projekte in Angriff zu nehmen. So entstanden bald die ersten Roboter, typischerweise solche, die mit Hilfe eines Ultraschallsensors Hindernissen auswichen oder auf dem Tisch fuhren, (meistens) ohne abzustürzen.
Zugegeben, die ersten Modelle waren noch eher mäßig gut konstruiert, da ich nicht der typische LEGO-Bastler war, aber man wächst ja bekanntlich mit seinen Aufgaben.
Ich wünsche dir jetzt viel Spaß beim Nachbauen und Experimentieren und denke daran, falls du nicht mehr weiterweißt, ist es immer gut, ein Helferlein zu haben.
Kurz gesagt, an alle, die Spaß am Basteln und Tüfteln haben und die vielleicht mal etwas Neues ausprobieren möchten. Wenn du schon mit dem Arduino gearbeitet, vielleicht sogar schon Roboter gebaut hast, findest du vielleicht hier ein paar neue Möglichkeiten, deine Ideen umzusetzen. Bist du der LEGO-Enthusiast ohne jegliche Erfahrungen mit dem Arduino, wirst du lernen, deine Modelle zum Leben zu erwecken.
Inspiration, so hoffe ich zumindest. Dieses Buch soll definitiv kein Lehrbuch sein, sondern es soll dir zeigen, wie du dein LEGO Technic mit dem Arduino steuern und interessante Modelle bauen kannst. Bei den Überlegungen bezüglich des Aufbaus des Buchs habe ich mich entschieden, die einzelnen Sensoren und Bauteile kurz vorzustellen. Jedoch werde ich wenig elektronische Grundlagen erklären, da ich denke, dass dies sonst den Rahmen sprengen würde. Natürlich gibt es für die einzelnen Bauanleitungen sowie für die Sketches immer mehrere Lösungswege und sicher wirst du deine Modelle individuell deinem Stil anpassen. Vielleicht hast du auch nicht alle LEGO-Teile, die ich in den Bauanleitungen verwende. Spätestens dann musst du improvisieren. Es sollen in diesem Buch auch keine kompletten Modelle gebaut werden. Die Idee ist vielmehr, dass du anhand von Beispielen siehst, was alles möglich ist. Ob am Ende der Roboter, der Hindernissen ausweicht, aussieht wie ein Feuerwehrauto oder ein Raumschiff, bleibt deiner Fantasie überlassen.
Nun, ich habe versucht, die Modelle so zu gestalten, dass sie relativ einfach nachzubauen sind. Ich gehe ganz bewusst nur sehr oberflächlich auf die Funktion der einzelnen technischen Bauteile ein. Zum Bauen reicht es vorerst, wenn du weißt, was ein Sensor macht. Willst du etwas tiefer in die Materie einsteigen, stehen dafür andere Quellen zur Verfügung. Auch über das Programmieren des Arduino wirst du hier nicht mehr als nur ein paar Grundlagen lernen. Zu den Sketches habe ich einige erklärende Kommentare beigefügt, um sie dir etwas verständlicher zu machen.
Jein. Ich habe versucht, so weit es geht zerstörungsfrei zu arbeiten. Jedoch macht es an manchen Stellen einfach Sinn, z. B. bei den Servos, die Sensoren und Aktoren fest mit den Platten etc. zu verbinden. Jedoch habe ich darauf geachtet, keine teuren oder seltenen Teile mechanisch zu bearbeiten. So wäre es sicher nicht ratsam, die Kabel der Power-Functions-Motoren zu kappen, um Jumperkabel dranzulöten. Stattdessen habe ich mir für relativ kleines Geld Power-Functions-Verlängerungskabel geordert und daraus Adapter gebastelt. Der Vorteil hierbei ist, dass du aus einem Kabel zwei Adapter herstellen kannst. Einige der Sensoren habe ich fest mit den Bricks verbunden. Bei den meisten musst du das nicht, da sie sich wunderbar mit Kabelbindern an den Technic Bricks und Balken befestigen lassen. Die Steine, die ich verklebe, lassen sich für ein paar Cent im Internet bestellen, so hält sich der Verlust in Grenzen.
Ein eleganter Weg, sich selber Adapter zu basteln, ist der 3D-Druck. Natürlich kann ich dieses Thema nicht in diesem Buch besprechen, das würde jegliche Grenzen sprengen. Ich habe mir für meine Projekte einige mittels CAD-Programm konstruiert und ausgedruckt. Die Dateien hierzu stelle ich gerne zur Verfügung und du kannst sie dir unter github.com/der-aumueller/3d kostenlos herunterladen.
Nein, alle in diesem Buch verwendeten Aktoren und Sensoren kannst du dir schnell und günstig im Internet bestellen. Ich empfehle dir, nicht jeden Sensor einzeln zu kaufen. Es gibt sehr gute Sets, die die wichtigsten Sensoren enthalten. Wenn dir dann noch welche fehlen, kannst du dir diese nachkaufen. Ich verwende in diesem Buch die, meiner Meinung nach, gängigsten Teile für die Modelle. Solltest du andere Sensoren verbauen, musst du evtl. darauf achten, deine Verdrahtung und den Sketch dementsprechend zu modifizieren. Gerade beim Motor Shield gibt es die verschiedensten Modelle. Auf jedes einzelne einzugehen, würde den Rahmen dieses Buchs sprengen.
Vielleicht möchtest du anfangen, deine eigenen Modelle zu konstruieren. Du kannst dann entweder einfach drauflos bauen oder aber das Modell an deinem Computer entwickeln. Es gibt im Internet die unterschiedlichste kostenlose Software, mit der du arbeiten kannst. Sie alle unterscheiden sich ein wenig und am besten probierst du einfach die gängigsten aus, um zu sehen, welche dir letztendlich liegt. Ich verwende LDCad zum Konstruieren und LPub3D, um die Bauanleitungen und die Teilelisten zu erstellen.
Kostenlos downloaden kannst du die Programme zum Beispiel unter:
Egal für welche Software du dich am Ende entscheidest, wird es bei der Kombination von LEGO und Arduino immer das Problem geben, dass du die Sensoren und Aktoren nicht im Bauplan einfügen kannst. Ich habe das Problem gelöst, indem ich die Teile, die als Träger für die elektronischen Komponenten dienen, in einer besonders auffälligen Farbe darstelle, die ich ansonsten für nichts anderes verwende. Die Farbe meiner Wahl, die ich auch in diesem Buch verwendet habe, ist ein Rosa, das auf Anhieb ins Auge sticht. Neben den Bauplänen dokumentiere ich den Aufbau zusätzlich mit Fotos, damit du weißt, was wohin gehört.
Für den elektronischen Teil verwende ich Fritzing – eine ebenfalls kostenlose Software, mit der du Schaltpläne sehr schnell und einfach erstellen kannst. Fritzing kannst du dir hier downloaden: http://fritzing.org/download/
Beim Umsetzen von Ideen hat jeder seine eigene Methode. Ich habe es mir angewöhnt, immer ein Notizbuch bei mir zu tragen, entweder ganz altmodisch in Papierform oder auf dem iPad. Versuche einfach deine Gedanken festzuhalten. Viel zu oft gehen Ideen verloren, weil man sich nicht sofort eine Notiz macht. Manchmal verbringen diese Gedankenfetzen eine lange Zeit zwischen den Seiten, bevor ich sie wieder hervorkrame und sie weiterspinne.
Gehe dein Projekt in kleinen Schritten an, zerlege es in seine Einzelteile und füge das Puzzle am Ende zusammen. Du möchtest einen Roboter bauen, mit einem Sensor, den du noch nicht kennst? Dann beginne doch damit, dich mit diesem für dich neuen Bauteil auseinanderzusetzen und eine kleine Schaltung zu bauen, z. B. das Ansteuern der On-Board-LED des Arduino an Pin 13.
Nicht jedes Projekt wird so gelingen, wie du es dir vorstellst. Manchmal sind vielleicht der Technik Grenzen gesetzt, wenn etwa der Arduino einfach zu wenig Pins für dein Vorhaben hat. Gib aber nicht gleich auf, sei kreativ und versuche, eine Alternative zu finden. Wenn du nicht weiterkommst, leg es auf die Seite. Oft kommt die Lösung irgendwann fast wie von selbst.
Nutze das Internet. Es gibt einige Facebook-Gruppen und Foren, in denen du dich informieren kannst, und auf YouTube gibt es ein paar wirklich gute Kanäle mit Tutorials, die dir ganz sicher weiterhelfen.
Dokumentiere deine Arbeiten, auch und vor allem die Fehlschläge und die entsprechenden Lösungen. So kannst du immer wieder mal in deinen eigenen Aufzeichnungen nachschlagen, wenn es irgendwo klemmt, und außerdem macht es manchmal einfach Spaß, darin zu stöbern.
Irgendwann wirst du vielleicht an den Punkt gelangen, wo du meine Anleitungen nicht mehr genau nachbauen kannst, weil dir ein paar LEGO-Teile fehlen. In diesem Fall kannst du improvisieren oder einzelne Steine im Internet bestellen. Es gibt einige sehr gute Online-Shops, die sich auf den Verkauf von Einzelteilen spezialisiert haben.
Lohnend ist es auch, auf Flohmärkten die Augen offen zu halten, und auf eBay findest du oft Konvolute, die du günstig bekommen kannst. Besonders bei Bauteilen die LEGO nicht mehr herstellt, solltest du zuschlagen. So werden wohl zum Beispiel die für uns wichtigen Power-Functions-Komponeneten nicht mehr sehr lange lieferbar sein, und deren Nachfolger, die Powered-Up-Komponenten sind derzeit noch sehr teuer.