Bauen und programmieren lernen mit LEGO® MINDSTORMS® EV3
Laurens Valk
Lektorat: Dr. Michael Barabas
Übersetzung: G&U Language & Publishing Services GmbH, www.gundu.com
Satz: G&U Language & Publishing Services GmbH, www.gundu.com
Copy-Editing: Ursula Zimpfer, Herrenberg
Herstellung: Susanne Bröckelmann
Umschlaggestaltung: Helmut Kraus, www.exclam.de
Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn
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:
Buch 978-3-86490-151-5
PDF 978-3-86491-593-2
ePub 978-3-86491-594-9
1. Auflage 2015
Copyright der deutschen Übersetzung © 2015 dpunkt.verlag GmbH
Wieblinger Weg 17 · 69123 Heidelberg
Copyright der amerikanischen Originalausgabe: © 2014 by Laurens Valk
Titel der Originalausgabe: The LEGO® MINDSTORMS® EV3 Discovery Book: a beginner’s guide to building and programming robots
No Starch Press, Inc. · 245 8th Street, San Francisco, CA 94103 l www.nostarch.com
ISBN-10: 1-59327-532-3
ISBN-13: 978-1-59327-532-7
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 im Zusammenhang mit der Verwendung dieses Buches stehen
5 4 3 2 1 0
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+: |
Laurens Valk ist ein niederländischer Robotikingenieur mit einem Bachelor-Grad in Maschinenbau der technischen Hochschule in Delft. Er ist Mitglied der MINDSTORMS Community Partners (MCP), einer Gruppe ausgewählter MINDSTORMS-Enthusiasten, die dabei helfen, neue MINDSTORMS-Produkte zu testen und zu entwickeln. Mit dem Bau von Robotern auf der Grundlage des EV3-Systems hat er 2012 begonnen, ein Jahr vor der offiziellen Freigabe. Einer seiner Entwürfe ist auf der EV3-Verpackung als offizieller Bonus-Roboter zu sehen.
Laurens entwirft gern Roboter und gestaltet Anleitungen für ihren Bau und ihre Programmierung, damit Roboterfans aus aller Welt seine Entwürfe nachbauen und mehr über Robotik lernen können. Er hat an mehreren LEGO-Robotikbüchern mitgewirkt, darunter an der ersten Ausgabe dieses Buches, dem Bestseller LEGO-Roboter: Bauen und programmieren mit LEGO MINDSTORMS NXT 2.0 (dpunkt.verlag, 2011). Sein Blog über Robotik findest du auf http://robotsquare.com/.
Claude Baumann unterrichtet seit 15 Jahren Robotik mit LEGO MINDSTORMS für Fortgeschrittene in Abendschulkursen. Er hat ULTIMATE ROBOLAB erfunden, eine compilerübergreifende Umgebung, die die grafische Programmierung der LEGO RCX-Firmware ermöglichte, und damit das einzige selbstreplizierende Programm der Welt für LEGO RCX geschrieben (manche nennen es auch einen Virus). Vor kurzem hat er als MINDSTORMS Community Partner (MCP) an der Entwicklung des neuen intelligenten EV3-Steins mitgewirkt. Er hat als Gutachter verschiedene Robotikprojekte an weiterführenden Schulen bewertet und ist Autor von Eureka! Problem Solving with LEGO Robotics (NTS Press, 2013), mehrerer Artikel und Konferenzpräsentationen. Sein besonderes Interesse gilt der robotischen Ortung von Schallquellen. Claude leitet ein Netz von Wohnheimen für weiterführende Schulen in Luxemburg. Er ist verheiratet, hat drei Kinder und drei großartige Enkelkinder.
An erster Stelle möchte ich den Lesern der ersten Ausgabe danken. Eure zahllosen E-Mails und Kommentare aus aller Welt stellten für mich eine Aufforderung dar, dieses Buch zu schreiben. Viele der neuen Themen sind durch eure Rückmeldung angeregt worden.
Dieses Buch folgt noch dem gleichen Grundprinzip und dem gleichen Aufbau wie die ursprüngliche Ausgabe, doch wegen des Wechsels von LEGO MINDSTORMS NXT zu EV3 war es notwendig, es von Grund auf neu zu schreiben. Das war nur dank der Hilfe vieler talentierter Personen möglich.
Mein großer Dank gilt Claude Baumann, der das Buch auf technische Genauigkeit durchgesehen und Verbesserungen vorgeschlagen hat. Ebenfalls möchte ich Marc-André Bazergui, Martijn Boogaarts, Kenneth Madsen und Xander Soldaat danken, die die Prototypen der in diesem Buch vorgestellten Roboter bereits 2012 getestet haben.
Weiterer Dank geht an die Mitarbeiter von No Starch Press, die die erste Ausgabe zu einem Erfolg gemacht und mit mir an dieser Neuausgabe gearbeitet haben. Danke an meinen Herausgeber William Pollock, meinen Lektor Seph Kramer, an Serena Yang, die das Projekt im Zeitplan gehalten hat, an Riley Hoffman und Alison Law für das Layout des Rohtextes auf bunten Seiten und an Leigh Poehler für die Beantwortung all meiner geschäftlichen Fragen im Laufe der letzten Jahre.
Danken möchte ich auch der LEGO-Gruppe, die einen so anregenden und lehrreichen Robotikbausatz entwickelt und die Community schon sehr früh in den Gestaltungsprozess einbezogen hat. Danke auch an das Team von LEGO MINDSTORMS EV3 – Camilla, David, Flemming, Henrik, Lars Joe, Lasse, Lee, Linda, Marie, Steven und Willem.
Des Weiteren bedanke ich mich bei der LDraw-Community, die die für die Erstellung der Bauanleitungen in diesem Buch erforderlichen Programme entwickelt hat. Insbesondere gilt mein Dank Philippe Hurbain, der die LDraw-3-D-Modelle für die EV3-Komponenten erstellt hat, Michael Lachmann für die Entwicklung von MLCad, Travis Cobbs für LDView, Keven Clague für LPub 4 und LSynth. Benso möchte ich John Hansen danken, dem Entwickler des EV3-Screenshotprogramms.
Abschließend möchte ich meinen Freunden und meiner Familie für ihre Unterstützung bei dem langwierigen Unternehmen danken, dieses Buch zu schreiben. Vor allem möchte ich Fabiënne danken, die nicht müde wurde, mich dazu zu ermutigen, das Projekt fertig zu stellen. Vielen Dank – du bist die Beste!
Einleitung
Teil 1 Erste Schritte
Kapitel 1 Deinen EV3-Kasten vorbereiten
Kapitel 2 Baue deinen ersten Roboter
Kapitel 3 Programme erstellen und ändern
Kapitel 4 Arbeiten mit Programmierblöcken: Aktionsblöcke
Kapitel 5 Warten, wiederholen, Eigene Blöcke und Multitasking
Teil 2 Roboter mit Sensoren programmieren
Kapitel 6 Wie Sensoren funktionieren
Kapitel 7 Den Farbsensor verwenden
Kapitel 8 Den Infrarotsensor verwenden
Kapitel 9 Die Stein-Tasten und Motorumdrehungssensoren verwenden
Teil 3 Techniken des Roboterbaus
Kapitel 10 Mit Balken, Achsen, Verbindern und Motoren arbeiten
Kapitel 11 Mit Zahnrädern und Getrieben arbeiten
Teil 4 Fahrzeuge und Robotertiere
Kapitel 12 Formel EV3: Ein Rennroboter
Kapitel 13 ANTY: Die Roboterameise
Teil 5 Fortgeschrittene Programme erstellen
Kapitel 14 Datenleitungen nutzen
Kapitel 15 Datenblöcke und Eigene Blöcke mit Datenleitungen verwenden
Kapitel 16 Konstanten und Variablen verwenden
Kapitel 17 Spiele auf dem EV3
Teil 6 Maschinen und menschenähnliche Roboter
Kapitel 18 Der SNATCH3R: Ein autonomer Roboterarm
Kapitel 19 LAVA R3X: Ein Maschinenmensch, der geht und spricht
Anhang A Fehlerbehebung für Programme, den EV3-Stein und drahtlose Verbindungen
Anhang B On-Brick-Programme erstellen
Index
Einleitung
Wozu ist dieses Buch gut?
Ist dieses Buch etwas für dich?
Wie ist dieses Buch aufgebaut?
Selbst entdecken
Was ist in den einzelnen Kapiteln zu finden?
Die Begleitwebsite
Schlusswort
TEIL 1 ERSTE SCHRITTE
1
Deinen EV3-Kasten vorbereiten
Was ist drin?
Der EV3-Stein
Technic-Elemente sortieren
Das Mission-Pad
Steuerung des Roboters
Die EV3-Software herunterladen und installieren
Zusammenfassung
2
Baue deinen ersten Roboter
Die Bauanleitungen
Den EXPLOR3R bauen
Ausgabeanschlüsse, Eingabeanschlüsse und Kabel
Der EV3-Stein
Den EV3 an- und ausschalten
Programme auswählen und ausführen
Den Roboter mit der Fernsteuerung lenken
Zusammenfassung
3
Programme erstellen und ändern
Ein schnelles erstes Programm
Ein einfaches Programm erstellen
1. Programmierpalette
2. Startblock
3. Programmierbereich
4. Hardwareseite
Projekte und Programme
5. Dateiverwaltung
6. Werkzeugleiste
7. Der Inhalts-Editor
Die offiziellen EV3-Roboter und die Bonusmodelle bauen
Zusammenfassung
4
Arbeiten mit Programmierblöcken: Aktionsblöcke
Wie funktionieren Programmierblöcke?
Der Bewegungslenkungsblock
Der Bewegungslenkungsblock in Aktion
Wie Modus und Einstellung funktionieren
Richtige Drehungen ausführen
Selbst entdecken 1: Beschleunige
Selbst entdecken 2: Exakte Drehungen
Selbst entdecken 3: Beweg und dreh Dich
Selbst entdecken 4: Buchstabiere
Der Klangblock
Die Konfiguration des Klangblocks
Der Klangblock in Aktion
Selbst entdecken 5: In welche Richtung gehst Du?
Selbst entdecken 6: DJ spielen
Der Anzeigeblock
Die Konfiguration des Anzeigeblocks
Der Anzeigeblock in Aktion
Selbst entdecken 7: Untertitel
Selbst entdecken 8: Warten auf den Explor3r
Der Stein-Statusleuchte-Block
Selbst entdecken 9: Ampel
Die An- und Aus-Modi in Bewegungsblöcken
Selbst entdecken 10: Radio im Fahrmodus
Die Blöcke Hebellenkung, Großer Motor und Mittlerer Motor
Weitere Experimente
Selbst entdecken 11: Zeit, im Kreis zu fahren
Selbst entdecken 12: Navigator
Selbst entdecken 13: Robotänzer
Selbst konstruieren 1: Roboreiniger
Selbst konstruieren 2: Der Explor3r macht Kunst
5
Warten, wiederholen, Eigene Blöcke und Multitasking
Der Warteblock
Die Einstellungen des Warteblocks
Der Warteblock in Aktion
Das Programm WaitDisplay
Selbst entdecken 14: Hinterlasse eine Nachricht
Selbst entdecken 15: Timer für ein Brettspiel
Der Schleifenblock
Den Schleifenblock einsetzen
Der Schleifenblock in Aktion
Schleifenblöcke innerhalb von Schleifenblöcken
Selbst entdecken 16: Bewache den Raum
Selbst entdecken 17: Dreieck
Blöcke selbst machen: Eigene Blöcke
Eigene Blöcke erstellen
Eigene Blöcke in Programmen verwenden
Eigene Blöcke bearbeiten
Eigene Blöcke in Projekten verwalten
Selbst entdecken 18: Mein Quadrat
Selbst entdecken 19: Meine Melodie
Multitasking
Mehrere Startblöcke
Eine Weiterleitung verzweigen
Ressourcenkonflikte vermeiden
Weitere Experimente
Selbst entdecken 20: Multitasking
Selbst entdecken 21: Singletasking
Selbst entdecken 22: Komplizierte Muster
Selbst konstruieren 3: Mr. Explor3r
TEIL 2 ROBOTER MIT SENSOREN PROGRAMMIEREN
6
Wie Sensoren funktionieren
Was sind Sensoren?
Die Sensoren im EV3-Kasten
Funktionsweise des Berührungssensors
Die Stoßstange mit dem Berührungssensor bauen
Sensorwerte anzeigen
Sensoren programmieren
Sensoren und der Warteblock
Selbst entdecken 23: Hello und Goodbye
Selbst entdecken 24: Hindernisse und schlechte Laune vermeiden
Selbst entdecken 25: Einfach drücken
Sensoren und der Schleifenblock
Selbst entdecken 26: Lustige Melodien
Sensoren und der Schalterblock
Selbst entdecken 27: Bleiben oder gehen?
Selbst entdecken 28: Schwere Entscheidungen
Die Modi Vergleichen, Ändern und Messen
Weitere Experimente
Selbst entdecken 29: Die Richtung wählen
Selbst entdecken 30: Warten, Schleife oder Schalter?
Selbst entdecken 31: Stein-Tasten
Selbst konstruieren 4: Einbruchsalarm
Selbst konstruieren 5: Lichtschalter
7
Den Farbsensor verwenden
Den Farbsensor anschließen
Der Farbmodus
Innerhalb einer farbigen Linie bleiben
Selbst konstruieren 6: Bulldozer
Das Programm erstellen
Einer Linie folgen
Der Schalterblock im Messmodus
Der Modus Stärke des reflektierten Lichts
Selbst entdecken 32: Erstelle deine eigene Teststrecke
Selbst entdecken 33: Am blauen Schild anhalten
Selbst entdecken 34: Nenne die Farbe
Selbst entdecken 35: SuperReflektor
Einen Schwellenwert festlegen
Sensorwerte mit einem Schwellenwert vergleichen
Der Linie etwas sanfter folgen
Der Modus Stärke des Umgebungslichts
Der Stärke des Umgebungslichts messen
Eine Morse-Programm
Selbst entdecken 36: Morgenalarm
Weitere Experimente
Selbst entdecken 37: Farbmarkierungen
Selbst entdecken 38: Ein Fingerabdruckscanner
Selbst entdecken 39: Farbmuster
Selbst entdecken 40: Hindernisse auf der Linie
Selbst entdecken 41: Ein verrückter Kurs
Selbst konstruieren 7: Türglocke
Selbst konstruieren 8: Ein sicherer Tresor
8
Den Infrarotsensor verwenden
Der Nähemodus
Hindernissen ausweichen
Sensoren kombinieren
Selbst entdecken 42: Nah heran
Selbst entdecken 43: Drei Sensoren
Der Fernsteuerungsmodus
Selbst entdecken 44: Die Fernbedienung sichern
Der Modus Signal-Nähe
Der Modus Signal-Richtung
Selbst entdecken 45: Sanfter Verfolger
Sensormodi kombinieren
Weitere Experimente
Selbst entdecken 46: Folge mir
Selbst entdecken 47: Echolot
Selbst konstruieren 9: Ein Bahnübergang
Selbst konstruieren 10: Ein narrensicherer Alarm
9
Die Stein-Tasten und Motorumdrehungssensoren verwenden
Die Stein-Tasten verwenden
Selbst entdecken 48: Eine lange Nachricht
Selbst entdecken 49: Eigenes Menü
Den Drehsensor verwenden
Die Motorposition
Die Motorposition zurücksetzen
Die Drehgeschwindigkeit
Selbst entdecken 50: Zurück zum Anfang
Selbst entdecken 51: Geschwindigkeit in Farbe
Funktionsweise der Geschwindigkeitsregelung
Geschwindigkeitsregelung in der Praxis
Einen blockierten Motor stoppen
Weitere Experimente
Selbst entdecken 52: Ferngesteuerte Stein-Tasten
Selbst entdecken 53: Hinderniserkennung bei geringer Geschwindigkeit
Selbst konstruieren 11: Vollautomatisches Haus
TEIL 3 TECHNIKEN DES ROBOTERBAUS
10
Mit Balken, Achsen, Verbindern und Motoren arbeiten
Balken und Rahmen verwenden
Balken verlängern
Rahmen verwenden
Konstruktionen mit Balken verstärken
Winkelbalken verwenden
Selbst entdecken 54: Größere Dreiecke
Das Lego-Raster
Selbst entdecken 55: Winkelkombinationen
Achsen und Kreuzlöcher verwenden
Verbinder verwenden
Achsen verlängern
Parallele Balken verbinden
Balken im rechten Winkel verbinden
Parallele Balken befestigen
Selbst entdecken 56: Konstruktive Verbinder
Halbe Lego-Einheiten nutzen
Selbst entdecken 57: Balken mit einem halben M
Dünne Elemente verwenden
Flexible Konstruktionen bauen
Mit Motoren und Sensoren bauen
Mit dem großen Motor bauen
Balken an den die Motorwelle anschließen
Mit dem mittleren Motor bauen
Mit Sensoren bauen
Verschiedene Elemente
Weitere Experimente
Selbst konstruieren 12: Raupenantrieb
Selbst konstruieren 13: Ein Tischreiniger
Selbst konstruieren 14: Ein Vorhangöffner
11
Mit Zahnrädern und Getrieben arbeiten
Getriebe-Grundlagen
Selbst entdecken 58: Zahnräder beobachten
Ein genauerer Blick auf Zahnräder
Das Übersetzungsverhältnis zweier Zahnräder berechnen
Die Geschwindigkeit des Ausgangszahnrads berechnen
Das benötigte Übersetzungsverhältnis berechnen
Die Rotationsgeschwindigkeit verringern und vergrößern
Selbst entdecken 59: Getriebemathematik
Was ist ein Drehmoment?
Größere Getriebe bauen
Selbst entdecken 60: Vorhersehbare Bewegung
Selbst entdecken 61: Gesamtrichtung
Reibung und Schlupf
Die Zahnräder im EV3-Kasten
Mit dem Einheitenraster arbeiten
Kegel- und Doppelkegelräder verwenden
Rechtwinklige Verbindungen im Einheitenraster
Selbst entdecken 62: Optionen für rechte Winkel
Selbst entdecken 63: Starke Getriebe
Kugelzahnräder verwenden
Schneckenräder verwenden
Selbst entdecken 64: Schneckenantrieb
Stabile Getriebekonstruktionen
Zahnräder mit Balken flankieren
Achsenverdrehung verhindern
Die Drehrichtung umkehren
Mit Zahnrädern und EV3-Motoren bauen
Weitere Experimente
Selbst konstruieren 15: Dragster
Selbst konstruieren 16: Schneckenroboter
Selbst konstruieren 17: Ein Schornsteinkletterer
Selbst konstruieren 18: Drehscheibe
Selbst konstruieren 19: Roboterarm
TEIL 4 FAHRZEUGE UND ROBOTERTIERE
12
Formel EV3: Ein Rennroboter
Den Formel-EV3-Rennwagen bauen
Fahren und Lenken
Eigene Blöcke für die Lenkung erstellen
Die Eigenen Blöcke testen
Das Fernsteuerprogramm schreiben
Selbstständig fahren
Weitere Experimente
Selbst entdecken 65: Überlenkungsexperimente
Selbst entdecken 66: Nachtrennen
Selbst entdecken 67: Das verrückte Gaspedal
Selbst entdecken 68: Ein blinkendes Rücklicht
Selbst entdecken 69: Unfallerkennung
Selbst konstruieren 20: Schneller fahren
Selbst konstruieren 21: Ein Wagen-Upgrade
13
ANTY: Die Roboterameise
Der Laufmechanismus
ANTY bauen
ANTY zum Gehen bringen
Den gegenüberliegenden Eigenen Block erstellen
Hindernissen ausweichen
Das Verhalten programmieren
Futter suchen
Die Umgebung überwachen
Weitere Experimente
Selbst entdecken 70: Fernsteuerung
Selbst entdecken 71: Nachtwesen
Selbst entdecken 72: Hungrige Roboter
Selbst konstruieren 22: Eine Roboterspinne
Selbst konstruieren 23: Fühler
Selbst konstruieren 24: Fürchterliche Klauen
TEIL 5 FORTGESCHRITTENE PROGRAMME ERSTELLEN
14
Datenleitungen nutzen
Den SK3TCHBOT bauen
Erste Schritte mit Datenleitungen
Selbst entdecken 73: Klang je nach Entfernung
Mit Datenleitungen arbeiten
Den Wert in einer Datenleitung ansehen
Eine Datenleitung löschen
Datenleitungen zwischen Programmen
Mehrere Datenleitungen verwenden
Blöcke mit Datenleitungen wiederholen
Selbst entdecken 74: Balkengraphen
Selbst entdecken 75: Ein erweiterter Graph
Datenleitungstypen
Numerische Datenleitungen
Logische Datenleitungen
Selbst entdecken 76: Sanftes Anhalten
Textdatenleitungen
Numerische und logische Arrays
Typumwandlung
Sensorblöcke verwenden
Der Modus Messen
Der Modus Vergleichen
Der Wertebereich von Datenleitungen
Selbst entdecken 77: Ein Sensor-Gaspedal
Selbst entdecken 78: Eine eigene Anschlussansicht
Selbst entdecken 79: Größenvergleich
Fortgeschrittene Programmablaufblöcke
Datenleitungen und der Warteblock
Datenleitungen und der Schleifenblock
Datenleitungen und der Schalterblock
Selbst entdecken 80: IR-Beschleunigung
Der Schleifen-Interrupt-Block
Selbst entdecken 81: Unterbrechungen unterbrechen
Weitere Experimente
Selbst entdecken 82: Sensorübungen
Selbst entdecken 83: Leistung vs. Geschwindigkeit
Selbst entdecken 84: Die wirkliche Richtung
Selbst entdecken 85: SK3TCHBOT beobachtet dich
Selbst konstruieren 25: Bionische Hand
Selbst entdecken 86: Oszilloskop
15
Datenblöcke und Eigene Blöcke mit Datenleitungen verwenden
Datenblöcke verwenden
Der Matheblock
Selbst entdecken 87: 100%-Mathe
Selbst entdecken 88: Addierte Werte
Selbst entdecken 89: Infrarot-Geschwindigkeit
Selbst entdecken 90: Doppelte Infrarot-Geschwindigkeit
Selbst entdecken 91: Zuwachssteuerung
Selbst entdecken 92: Richtungssteuerung
Der Zufallsblock
Selbst entdecken 93: Zufallsfrequenz
Der Vergleichsblock
Selbst entdecken 94: Zufälliger Motor und Geschwindigkeit
Der Block Logische Verknüpfungen
Selbst entdecken 95: Logiksensoren
Selbst entdecken 96: Auf drei Sensoren warten
Der Bereichsblock
Der Rundungsblock
Der Textblock
Selbst entdecken 97: Countdown
Eigene Blöcke mit Datenleitungen erstellen
Ein Eigener Block mit Eingabe
Eigene Blöcke bearbeiten
Selbst entdecken 98: Eigene Einheiten
Selbst entdecken 99: Erweiterte Anzeige
Ein Eigener Block mit Ausgabe
Selbst entdecken 100: Entfernungsdurchschnitt
Selbst entdecken 101: Annäherungsrate
Ein Eigener Block mit Ein- und Ausgabe
Selbst entdecken 102: Kreisberechnungen
Strategien für Eigene Blöcke
Ausgangspunkte für Eigene Blöcke
Eigene Blöcke zwischen Projekten austauschen
Weitere Experimente
Selbst entdecken 103: Ist es eine ganze Zahl?
Selbst entdecken 104: Doppelt blockiert
Selbst entdecken 105: Reflextest
Selbst konstruieren 26: Roboter-Stoppuhr
16
Konstanten und Variablen verwenden
Konstanten verwenden
Variablen verwenden
Variablen definieren
Den Variablenblock einsetzen
Selbst entdecken 106: Alt vs. Neu
Selbst entdecken 107: Vorher vs. Neu
Variablenwerte ändern und erhöhen
Variablen initialisieren
Einen Durchschnitt berechnen
Weitere Experimente
Selbst entdecken 108: Hoch- und runterzählen
Selbst entdecken 109: Ein begrenzter Durchschnitt
Selbst entdecken 110: Zufallsprüfung
Selbst entdecken 111: Dichteste Annäherung
Selbst konstruieren 27: Ein eigener Zähler
17
Spiele auf dem EV3
Schritt 1: Einfache Zeichnungen erstellen
Eigener Block 1: Clear
Eigener Block 2: Coordinates
Das Basisprogramm fertigstellen
Schritt 2: Die Stiftsteuerung hinzufügen
Den Stift bewegen, ohne zu zeichnen
Den Stift in einen Radiergummi verwandeln
Den Bildschirm löschen
Die Stiftstärke festlegen
Selbst entdecken 112: Roboterkünstler
Selbst entdecken 113: Force Feedback
Selbst entdecken 114: Stiftzeiger
Weitere Experimente
Selbst entdecken 115: Ein Arcade-Spiel
Selbst entdecken 116: Ein Gehirntrainer
Selbst konstruieren 28: Ein Plotter
TEIL 6 MASCHINEN UND MENSCHENÄHNLICHE ROBOTER
18
Der SNATCH3R: Ein autonomer Roboterarm
Der Greifer
Der Greifmechanismus
Der Hubmechanismus
Den SNATCH3R bauen
Den Greifmechanismus steuern
Eigener Block 1: Grab
Eigener Block 2: Reset
Eigener Block 3: Release
Das Fernsteuerungsprogramm schreiben
Selbst entdecken 117: Erweiterte Fernsteuerung
Selbst entdecken 118: Geschwindigkeitsregelung über die Fernsteuerung
Probleme mit dem Greifer beheben
Die IR-Fernsteuerung suchen
Den IR-Käfer bauen
Eigener Block 4: Search
Selbst entdecken 119: Signalbestätigung
Das endgültige Programm schreiben
Weitere Experimente
Selbst entdecken 120: Den Roboter beschäftigt halten
Selbst entdecken 121: Einer Spur folgen
Selbst entdecken 122: Objekte in der Nähe finden
Selbst konstruieren 29: Bagger
19
LAVA R3X: Ein Maschinenmensch, der geht und spricht
Die Beine bauen
Den Roboter zum Gehen bringen
Eigener Block 1: Reset
Eigener Block 2: Return
Eigener Block 3: OnSync
Eigener Block 4: Left
Die ersten Schritte machen
Selbst entdecken 123: Der Eigene Block Walk
Selbst entdecken 124: Umkehren
Selbst entdecken 125: Rechts um!
Den Kopf und die Arme bauen
Den Kopf und die Arme steuern
Eigener Block 5: Head
Hindernissen ausweichen und auf Händeschütteln reagieren
Weitere Experimente
Selbst entdecken 126: Tanzende Roboter
Selbst entdecken 127: groß ist die Abweichung?
Selbst entdecken 128: Der Roboter als Aufpasser
Selbst entdecken 129: Der Roboter als Begleiter
Selbst entdecken 130: Arme und Beine synchronisieren
Selbst entdecken 131: Den Roboter fernsteuern
Selbst entdecken 132: Tamagotchi
Selbst konstruieren 30: Zweibeiniger Roboter
A
Fehlerbehebung für Programme, den EV3-Stein und drahtlose Verbindungen
Kompilierungsfehler beheben
Fehlende Eigene Blöcke
Fehler in Programmierblöcken
Fehlende Variablendefinitionen
Laufende Programme korrigieren
Fehlerbehebung auf dem EV3-Stein
Die Hardwareseite
Probleme mit der USB-Verbindung lösen
Den EV3-Stein neu starten
Die EV3-Firmware aktualisieren
Datenverluste mit einer microSD-Karte verhindern
Drahtlose EV3-Programmierung
Programme über Bluetooth auf den EV3-Stein herunterladen
Programme über eine WLAN-Verbindung auf den EV3-Stein herunterladen
Bluetooth oder WLAN?
Zusammenfassung
B
On-Brick-Programme erstellen
On-Brick-Programme erstellen, speichern und ausführen
Blöcke zu der Schleife hinzufügen
Die Einstellungen eines Blocks festlegen
Programme ausführen
Programme speichern und öffnen
On-Brick-Programmierblöcke verwenden
On-Brick-Programme importieren
Zusammenfassung
Index
Bist du bereit, die faszinierende Welt der Robotik zu betreten? Wenn du dieses Buch liest, gehe ich davon aus, dass du den Robotikbausatz LEGO MINDSTORMS EV3 als Lernmittel ausgewählt hast – eine kluge Entscheidung.
Meinen ersten Kontakt mit MINDSTORMS hatte ich 2005 im Alter von 13 Jahren mit dem Robotics Invention System, das damals erhältlich war. Es begann als Hobby, ich fand Roboter so faszinierend, das ich mich zu einer Laufbahn als Ingenieur entschloss. LEGO MINDSTORMS bot eine hervorragende Möglichkeit, um mich mit vielen Prinzipien der Robotik und des Maschinenbaus vertraut zu machen, z.B. Programmierung und Verwendung von Motoren und Sensoren.
Dieses Buch soll dir helfen, die vielen Möglichkeiten von MINDSTORMS auszuprobieren. Ich hoffe, dass du dabei genauso viel Spaß mit diesem Robotikbausatz hast wie ich und dass du eine Menge dabei lernst!
Der Robotikbausatz LEGO MINDSTORMS EV3 enthält zahlreiche Teile sowie Anleitungen für fünf Roboter. Es macht zwar viel Spaß, diese Roboter zu bauen und zu programmieren, aber als Anfänger kann es eine ziemliche Herausforderung sein, auf eigene Faust über diese Modelle hinauszugehen. Der Baukasten enthält zwar alles, was du brauchst, um die Roboter zum Funktionieren zu bringen, aber die Bedienungsanleitung deckt nur einen Bruchteil dessen ab, was du wissen musst, um eigene Roboter zu bauen und zu programmieren.
Dieses Buch soll als Leitfaden dienen, mit dessen Hilfe du die Möglichkeiten von LEGO MINDSTORMS EV3 ausloten und lernen kannst, deine eigenen Roboter zu erfinden, zu bauen und zu programmieren.
In diesem Buch werden keine vorherigen Erfahrungen mit dem Bau oder der Programmierung mit LEGO MINDSTORMS vorausgesetzt. Du gehst hier von grundlegender zu immer anspruchsvollerer Programmierung über und lernst immer kompliziertere Roboter zu bauen. Anfänger sollten mit Kapitel 1 beginnen und dann den Schritt-für-Schritt-Anleitungen in Kapitel 2 folgen, um einen einfachen Roboter zu bauen und zu programmieren. Wenn du bereits Erfahrungen mit MINDSTORMS hast, kannst du auch einfach mit einem Kapitel anfangen, dass dich interessiert, und von dort aus weitermachen. Die Kapitel zur erweiterten Programmierung in Teil V und die Roboterdesigns in Teil VI sind vor allem für Leser mit mehr Erfahrung interessant.
Du kannst das Buch zwar auch zum Nachschlagen verwenden, aber es ist eigentlich als Arbeitsbuch angelegt. Ich habe Bau, Programmierung und Probleme der Robotik gemischt, um zu verhindern, dass du dich mühselig durch lange Kapitel voller Theorie kämpfen musst.
Beispielsweise lernst du grundlegenden Programmiertechniken kennen, während du erfährst, wie du deinen ersten Roboter in Bewegung setzen kannst, und erfährst mehr über fortgeschrittene Programmierer, während du weitere Roboter baust. Dieses Buch verfolgt den Ansatz des Lernens durch Ausprobieren, was meiner Meinung nach die beste Möglichkeit ist, um das Bauen und Programmieren von MIDNSTORMS-Robotern zu erlernen.
Um die in den einzelnen Kapiteln besprochenen Prinzipien zu verinnerlichen, habe ich viele Aufgaben mit dem Titel Selbst entdecken eingestreut. Darin wirst du aufgefordert, die Beispielprogramme zu erweitern oder ganz neue Programme zu schreiben. Nachdem du beispielsweise gelernt hast, wie du Töne abspielst und Text auf dem Bildschirm anzeigst, wirst du dazu aufgefordert, ein Programm zu schreiben, mit dem der Roboter auf dem Bildschirm Untertitel anzeigt, während er spricht.
Am Ende vieler Kapitel findest du auch Aufgaben unter dem Titel Selbst konstruieren, die dir Anregungen geben, um den in dem Kapitel gebauten Roboter zu ändern oder zu verbessern. Beispielsweise wirst du dazu aufgefordert, einen Rennroboter schneller zu machen, indem du ein Getriebe zwischen Motor und Räder einschaltest, oder gar einen neuen Roboter zu bauen, der aus deinem EV3 eine Alarmanlage macht!
Als Entscheidungshilfe dafür, welche der Selbst-entdecken-Aufgaben du angehen möchtest, habe ich jeweils den Schwierigkeitsgrad angegeben. Leichte Aufgaben () können gewöhnlich dadurch gelöst werden, indem du ein Programm mit ähnlichen Techniken wie im Beispiel schreibst oder erweiterst. Der mittlere Schwierigkeitsgrad () ermutigt dich, weiter Ausschau zu halten und die neue Theorie mit einigen zuvor gelernten Techniken zu kombinieren. Schwierige Aufgaben () stellen dich und deine Kreativität vor die Herausforderung, über die vorgestellten Beispiele hinauszugehen.
Bei der Einschätzung des Schwierigkeitsgrads bin ich davon ausgegangen, dass du die Kapitel in der vorgegebenen Reihenfolge liest. Eine Aufgabe, die in Kapitel 4 als schwer gekennzeichnet ist, ist daher im Gegensatz zu einer schweren Aufgabe aus Kapitel 19 ganz leicht.
Außerdem habe ich bei den Selbst-entdecken-Aufgaben jeweils angegeben, wie viel Zeit du in etwa zur Lösung brauchst. Auch hier reicht die Skala von kurz () über mittel () zu lange (). Bei kurzen Aufgaben ist es gewöhnlich nur erforderlich, einige wenige Änderungen an dem Beispielprogramm vorzunehmen, während du für die langwierigen ein komplett neues Programm erstellen musst.
Die Selbst-konstruieren-Aufgaben nehmen in der Regel mehr Zeit in Anspruch, da es hierbei um Bau und Programmierung geht. Bei ihnen habe ich jeweils den zu erwartenden Aufwand für das Bauen () und für die Programmierung () angegeben.
Bei einigen Aufgaben sind ein oder zwei Hinweise als Anhaltspunkte gegeben, aber es gibt jeweils viele Möglichkeiten, um sie zu lösen. Es spielt keine Rolle, wenn du dich nicht genau an die Orientierungshilfen hältst. Schließlich kann es durchaus sein, dass du auf eine innovative Lösung gekommen bist, die mir nicht eingefallen ist!
Die Schwierigkeitsgrade und Zeitangaben der Aufgaben sind nur Schätzwerte. Mach dir keine Sorgen, wenn du zur Lösung eines Problems etwas mehr Zeit brauchst. Hauptsache, du hast Spaß, wenn du diese Herausforderungen annimmst!
Lösungen für einige der Selbst-entdecken-Aufgaben findest du auf http://ev3.robotsquare.com/. Sie können dir als Ausgangspunkt dienen. Um Aufgaben zu lösen, für die keine Lösungen zum Download bereitstehen, musst du deine eigene Kreativität einsetzen.
Die folgenden Abschnitte geben dir einen Überblick über die sechs Teile dieses Buchs. Einige der Begriffe, die hier fallen, sind dir vermutlich neu. Wenn du das Buch liest, wirst du aber erfahren, was es damit auf sich hat.
Teil I beginnt mit der Beschreibung des Inhalts des Robotikbausatzes EV3 in Kapitel 1. In Kapitel 2 baust du deinen ersten Roboter und lernst den EV3-Stein kennen. Die EV3-Software zur Programmierung der Roboter wird in Kapitel 3 vorgestellt. In Kapitel 4 erfährst du, wie du diese Software dazu verwendest, um einen Roboter in Bewegung zu setzen, indem du dein erstes Programm mit den grundlegenden Programmierblöcken schreibst. In Kapitel 5 lernst du unverzichtbare Programmiertechniken kennen, z.B. um deinen Roboter Handlungen wiederholen oder mehrere Dinge gleichzeitig tun zu lassen.
In diesem Teil lernst du alles über Sensoren, die wichtige Bestandteile von MINDSTORMS-Robotern sind. In Kapitel 6 fügst du dem zuvor gebauten Roboter einen Berührungssensor hinzu und lernst die zur Verwendung von Sensoren erforderlichen Programmiertechniken kennen. Danach geht es weiter mit dem Farbsensor in Kapitel 7, dem Infrarotsensor und dem Infrarotsender in Kapitel 8 und zwei Arten von eingebauten Sensoren in Kapitel 9.
Dieser Teil behandelt die LEGO Technic-Bauelemente, die im EV3-Kasten enthalten sind. Du lernst in Kapitel 10, wie du Balken, Achsen und Verbinder verwendest. Um Zahnräder geht es in Kapitel 11.
Nachdem du den Umgang mit Motoren und Sensoren gelernt hast, baust du zwei Roboter, mit denen du diese neuen Fähigkeiten unter Beweis stellst, nämlich das Formel-EV3-Rennauto in Kapitel 12 und die Roboterameise ANTY in Kapitel 13.
Teil V behandelt Programmiertechniken für Fortgeschrittene. Du erfährst hier etwas über Datenleitungen (Kapitel 14), über die Verarbeitung von Sensorwerten und über Berechnungen auf dem EV3-Stein (Kapitel 15Kapitel 16Kapitel 17