Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
LEGO® MINDSTORMS hat die Art, wie wir über Robotik denken, radikal verändert, indem es jedermann ermöglicht, funktionierende Roboter zu bauen. Das neueste MINDSTORMS-Kit von LEGO - EV3 - ist mächtiger als je zuvor, und "LEGO-EV3-Roboter " ist der ideale Einstieg in das System. Bestseller-Autor und Robotik-Experte Laurens Valk vermittelt dir zuerst die Grundlagen der Programmierung und Robotik, indem du einen einfachen Roboter baust und programmierst, der sich bewegt und mit Sensoren auf seine Umwelt reagiert. Danach kommen zunehmend raffiniertere Roboter an die Reihe, an denen du fortgeschrittene Programmiertechniken wie Datenleitungen, Variable und Eigene Blöcke kennenlernst. Außerdem beschreibt Laurens Valk wichtige Bautechniken, um Balken, Zahnräder und Verbinder effektiv in deinen eigenen Kreationen einzusetzen. Für fünf tolle Roboter beschreibt das Buch Bau und Programmierung im Detail: • EXPLOR3R, ein Fahrzeug mit Rädern, das Sensoren verwendet, um in einem Raum zu navigieren und Linien zu folgen • FORMEL EV3 Rennroboter, ein schnittiger, ferngesteuerter Rennwagen • ANTY, eine sechsfüßige Roboterameise, die ihr Verhalten an ihre Umgebung anpasst • SNATCH3R, ein Roboterarm, der autonom ein Blinklicht finden, ergreifen und bewegen kann und • LAVA R3X, ein Maschinenmensch, der läuft und spricht. Außerdem werden dich mehr als 150 Entdeckungs- und Konstruktionsaufgaben anregen, kreativ zu denken und eigene Roboter zu erfinden, bei denen du das Gelernte anwenden kannst. Benötigt wird: • LEGO Mindstorms EV3 Set (LEGO Set 31313)
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 401
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Bauen und programmieren lernen mit LEGO® MINDSTORMS® EV3
Laurens Valk
Laurens Valk
Lektorat: Dr. Michael BarabasÜbersetzung: G&U Language & Publishing Services GmbH, www.gundu.comSatz: G&U Language & Publishing Services GmbH, www.gundu.comCopy-Editing: Ursula Zimpfer, HerrenbergHerstellung: Susanne BröckelmannUmschlaggestaltung: Helmut Kraus, www.exclam.deDruck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn
Bibliografische Information der Deutschen NationalbibliothekDie 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-5PDF 978-3-86491-593-2ePub 978-3-86491-594-9
1. Auflage 2015Copyright der deutschen Übersetzung © 2015 dpunkt.verlag GmbHWieblinger Weg 17 · 69123 Heidelberg
Copyright der amerikanischen Originalausgabe: © 2014 by Laurens ValkTitel der Originalausgabe: The LEGO® MINDSTORMS® EV3 Discovery Book: a beginner’s guide to building and programming robotsNo Starch Press, Inc. · 245 8th Street, San Francisco, CA 94103 l www.nostarch.comISBN-10: 1-59327-532-3ISBN-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+:www.dpunkt.de/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
1Deinen 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
2Baue 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
3Programme 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
4Arbeiten 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
5Warten, 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
6Wie 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
7Den 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
8Den 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
9Die 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
10Mit 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
11Mit 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
12Formel 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
13ANTY: 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
14Datenleitungen 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
15Datenblö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
16Konstanten 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
17Spiele 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
18Der 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
19LAVA 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
AFehlerbehebung 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
BOn-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 15) und darüber, wie du den Roboter dazu bringst, sich etwas mithilfe von Variablen zu merken (Kapitel 16). In Kapitel 17 schließlich kombinierst du all diese Programmiertechniken, um einen Roboter zu bauen, mit dem du den EV3-Bildschirm ähnlich wie eine Zaubertafel verwenden kannst.
Nachdem du Motoren, Sensoren und anspruchsvolle Programmiertechniken kennengelernt hast, baust du in diesem Teil zwei komplizierte Roboter. In Kapitel 18 konstruierst und programmierst du den SNATCH3R, einen autonomen Roboterarm, der die Infrarotfernbedienung selbstständig finden, packen, anheben und transportieren kann.
In Kapitel 19 schließlich baust du den LAVA R3X, den menschenähnlichen Roboter vom Titelbild, der geht und spricht. Die Gestaltung geht auf den legendären Alpha Rex aus der vorherigen LEGO MINDSTORMS-Generation zurück.
Auf der Begleitwebsite (http://ev3.robotsquare.com/) findest du Links zu anderen hilfreichen Websites, herunterladbare Versionen aller Beispielprogramme in diesem Buch und Lösungen für einige der Selbst-entdecken-Aufgaben.
MINDSTORMS regt die Kreativität und Erfindungsgabe von Konstrukteuren aller Altersstufen an. Schnapp dir also deinen EV3-Robotikbausatz, fang bei Kapitel 1 an zu lesen und betritt die kreative Welt von LEGO MINDSTORMS. Ich hoffe, dieses Buch dient dir als Anregung!
Alle Roboter dieses Buchs können mit nur einem Lego-Mindstorms-EV3-Kasten gebaut werden (Lego-Katalognummer 31313). Wenn du diesen Kasten, gezeigt in Abbildung 1-1, besitzt, kann es schon losgehen. Wenn du die Schulversion des Kastens hast (#44554), findest du unter http://ev3.robotsquare.com/ eine Liste mit den zusätzlich erforderlichen Teilen für die Projekte dieses Buchs.
In diesem Kapitel lernst du den EV3-Stein und die anderen Bestandteile des Kastens kennen. Außerdem wirst du die Software, die für die Roboterprogrammierung notwendig ist, herunterladen und sie installieren.
Der Lego-Mindstorms-EV3-Kasten wird mit vielen Technic-Bauteilen und Elektronikkomponenten geliefert, wie z.B. Motoren, Sensoren, dem EV3-Stein, einer Fernsteuerung und Kabel (siehe Abbildung 1-2). Im Verlauf dieses Buches liest, lernst du die einzelnen Komponenten kennen. Zusätzlich findest du auf der Innenseite des Rückumschlags eine vollständige Liste der Bauteile.
EV3-Roboter verwenden große oder mittlere Motoren um ihre Räder, Arme und andere bewegliche Komponenten anzutreiben. Sie können mittels Sensoren ihre Umgebung wahrnehmen, z.B. die Farbe einer Oberfläche oder den ungefähren Abstand zu einem Objekt. Mit Kabeln werden die Motoren und Sensoren an den EV3-Stein angeschlossen. Die Infrarotfernsteuerung, oder einfach Fernsteuerung, steuert einen Roboter aus der Distanz.
Abbildung 1-1: Der Lego-Mindstorms-EV3-Kasten (#31313) enthält alle Teile für die in diesem Buch vorgestellten Roboter.
Der EV3-Stein, oder einfach der EV3, ist ein kleiner Computer, der die Motoren und Sensoren eines Roboters steuert, sodass er selbsttätig umherfahren kann. Zum Beispiel wirst du in Kürze einen Roboter bauen, der sich automatisch von einem Objekt wegbewegt, das seinen Weg kreuzt. Wenn ein Sensor dem EV3 mitteilt, dass sich ein Objekt in der Nähe befindet, aktiviert der EV3 den Motor, und der Roboter fährt davon.
Dein Roboter führt diese Aktionen mittels eines Programms aus, also einer Liste von Anweisungen, die dem Roboter normalerweise nacheinander gegeben werden. Programme erstellst du mit einem Computer, auf dem die Programmiersoftware des Lego Mindstorms EV3 installiert ist. Wenn du mit dem Erstellen eines Programms fertig bist, sendest du es über ein dem Kasten beiliegendes USB-Kabel an den EV3-Stein, und dein Roboter sollte dann tun, was die Programmierung vorsieht.
Abbildung 1-2: Der EV3-Kasten enthält grundlegende Technic-Elemente wie Motoren, Sensoren, den EV3-Stein eine Fernsteuerung und Kabel.
Um deinen EV3 mit Strom zu versorgen, legst du entweder sechs AA-Batterien ein (wie in Abbildung 1-3 gezeigt) oder verwendest den Lego-EV3-Akku (#45501) und das Ladegerät (#8887). Die Form des Akkupacks macht den EV3-Stein etwas größer. Die Roboter können alle auch mit dem Akkupack gebaut werden, mit Ausnahme des TRACK3R-Roboters, der auf dem Baukasten gezeigt wird. Für dieses Modell musst du die Konstruktion ein wenig anpassen, um Platz zu schaffen.
Die Infrarotfernsteuerung versorgst du mittels zweier AAA-Batterien mit Strom.
Abbildung 1-3: Du kannst den EV3-Stein mithilfe von sechs AA-Batterien oder dem EV3-Akkupack mit Strom versorgen.
Um bei der Suche nach speziellen Technic-Teilen Zeit zu sparen, solltest du die Bauteile, wie in Abbildung 1-4 gezeigt, in einem Kasten sortieren. Dadurch wird es leichter, die Modelle dieses Buchs nachzubauen und später auch deine eigenen Roboter zu entwerfen. Du kannst so auf einen Blick sehen, wenn ein spezielles Bauteil zur Neige geht, und verschwendest keine Zeit damit, nach Teilen zu suchen, die du nicht hast.
Du sortierst die Elemente am besten nach ihrer Funktion. Zum Beispiel kannst du jeweils Balken, Zahnräder, Achsen usw. getrennt lagern. Wenn du nicht genügend Fächer für die einzelnen Elementtypen hast, legst du solche Teile zusammen, die sich leicht unterscheiden lassen. Lege beispielsweise kurze graue Achsen und kurze rote Achsen in ein gemeinsames Fach statt grauer Achsen verschiedener Längen.
Abbildung 1-4: So könnte ein Sortierkasten für die Technic-Elemente eines EV3-Kastens aussehen.
Der EV3-Kasten wird mit einer Reihe von Aufklebern geliefert, jeweils einer pro weißes Paneel-Element. Klebe die Aufkleber jetzt auf die Paneele, wie in Abbildung 1-5 gezeigt. Die Aufkleber helfen dir dabei, zu erkennen, welches Paneel (klein oder groß) du später in diesem Buch verwenden wirst.
Abbildung 1-5: Um die Aufkleber passend auf die Paneele zu kleben, fügst du zuerst zusammengehörige Elemente mittels zweier schwarzer Pins zusammen, sodass sie besser ausgerichtet werden können. Anschließend entfernst du die Pins.
Die EV3-Schachtel enthält ein Mission-Pad, das du innen im Karton um den Kasten findest, wie es Abbildung 1-6 zeigt. Du kannst deine Roboter so programmieren, dass sie mit dem Pad interagieren und z.B. der dicken roten Linie folgen (siehe Kapitel 7). Für die Projekte dieses Buchs kannst du auch dein eigenes Pad verwenden, das du unter http://ev3.robotsquare.com/ herunterladen und ausdrucken kannst.
Abbildung 1-6: Das Mission-Pad. Du findest es auf der Innenseite des Umkartons des EV3-Kastens (markiert durch eine gestrichelte Linie und eine kleine Schere).
Mit dem EV3-Kasten kannst du deinen Roboter auf verschiedene Weise steuern (siehe Abbildung 1-7). In diesem Buch lernst du mit der EV3-Programmiersoftware Anweisungen zu schreiben, die deinen Roboter bestimmte Dinge automatisch tun lassen. Du lernst aber auch, wie du deine Roboter mit einer Fernsteuerung steuerst. Du kannst deinem Roboter mit der Infrarotfernsteuerung aus dem EV3-Kasten Anweisungen geben, aber auch mit einer App, die dein Smartphone oder Tablet in eine solche Fernsteuerung verwandelt. Diese Anwendungen ermöglichen die Steuerung der Motoren und Sensoren deines Roboters und können auch als Spezialfernsteuerung eingesetzt werden (siehe auch http://ev3.robotsquare.com/, wo du eine App-Liste findest).
Bevor du Programme für deinen Roboter schreiben kannst, musst du die EV3-Software herunterladen und installieren. Für die folgenden Schritte benötigst du eine Internetverbindung.
(Wenn der Computer, den du für die Programmierung verwendest, nicht mit dem Internet verbunden ist, führe die Schritte 1 und 2 auf einem Computer mit Internetzugang aus und laden die Installationsdateien auf einen USB-Stick mit mindestens 1 GB Speicher. Dann kopiere sie auf den anderen Computer und fahre mit Schritt 3 fort.)
Abbildung 1-7: Du kannst deinen Roboter mittels Programmen automatisch steuern oder manuell mit der Fernsteuerung.
1. Gehe zu http://LEGO.com/MINDSTORMS/, klicke auf Downloads, wähle die EV3-Software und klicke auf Herunterladen (siehe Abbildung 1-8).
Abbildung 1-8: Die Download-Seite auf der Website von Lego Mindstorms EV3. Hier kannst du auch Zusatzmaterial herunterladen, wie Bedienungsanleitungen und Programmierblöcke.
2. Auf der folgenden Seite wählst du dein Betriebssystem und die gewünschte Sprache aus (siehe Abbildung 1-9). Du kannst jede gewünschte Sprache anklicken, in diesem Buch wird jedoch Deutsch verwendet. Für Windows XP, Vista, Windows 7 und Windows 8 wählst du Win32 und klickst dann auf die Datei mit der Endung .exe. Für Mac OS 10.6 oder höher wähle OSX und klicke auf die Datei mit der Endung .dmg. Eine neue Seite mit einer Download-Schaltfläche erscheint. Klicke auf diese Schaltfläche und speichere die Datei auf deinem Computer.
Abbildung 1-9: Wähle Betriebssystem und Sprache. Die 01-01 im Dateinamen bedeutet, dass es sich um Version 1.01 handelt. Wenn du die Software herunterlädst, wähle immer die neuestmögliche.
Abbildung 1-10: Der Installationsvorgang. Starte den Installer durch Doppelklick auf die Installationsdatei, die du heruntergeladen hast.
HINWEISWenn der Download sehr lange dauert, kannst du auch schon mit Kapitel zwei weitermachen und mit dem Bauen beginnen. Kehre an diese Stelle zurück, wenn der Download abgeschlossen ist.
3. Unter Windows doppelklicke auf die gerade heruntergeladene Datei und installiere die Software gemäß den Anweisungen auf dem Bildschirm (siehe Abbildung 1-10). Auf einem Mac doppelklicke auf die .dmg-Datei und dann auf das erscheinende Paket. Folge den Anweisungen auf dem Bildschirm, um die Software zu installieren.
4. Wenn die Installation abgeschlossen ist (und du deinen Computer nach der Aufforderung neu gestartet hast), sollte eine Verknüpfung namens LEGO MINDSTORMS EV3 Home Edition auf deinem Desktop sein. Doppelklicke auf sie, um die Software zu starten. Dazu ist keine Internetverbindung mehr notwendig.
HINWEISUm die Software auf eine neuere Version zu aktualisieren, lade einfach die neueste Version herunter und installiere sie wie hier gezeigt. Du musst die alte Fassung nicht manuell entfernen.
Jetzt ist alles bereit, um einen Roboter zu bauen und ein Programm zu schreiben, das ihn steuert. Legen wir also los. In Kapitel 2 erfährst du mehr über den EV3-Stein, Motoren und die Fernsteuerung und baust deinen ersten Roboter.
In Kapitel 1 hast du gelernt, dass Roboter aus Motoren, Sensoren und dem EV3-Stein bestehen. Damit du besser verstehst, wie diese zusammenarbeiten, setzen wir sie im ersten Roboter nicht alle auf einmal ein.
In diesem Kapitel verwendest du den EV3-Stein und zwei große Motoren, um ein Radfahrzeug namens EXPLOR3R zu bauen, wie in Abbildung 2-1 gezeigt. Du baust außerdem einen Empfänger für die Fernsteuerung. Wenn du den Roboter fertiggestellt hast, lernst du, ihn mittels der Knöpfe über die Fernsteuerung zu bewegen.
Abbildung 2-1: Der EXPLOR3R bewegt sich mit zwei Vorderrädern und einem Stützrad hinten.
Der Lego-Mindstorms-EV3-Kasten enthält viele Balken und Achsen in unterschiedlichen Längen. Damit du das richtige Element findet, ist die Länge in der Bauanleitung angegeben, so wie in Abbildung 2-2 gezeigt.
Um die Länge eines Balkens zu ermitteln, zählst du einfach seine Löcher (in der Abbildung wird die Länge des Balkens mit 11 angegeben). Um die Länge einer Achse herauszufinden, legst du sie neben einen Balken und zählst die Anzahl der Löcher, die verdeckt werden (in der Abbildung beträgt die Länge der Achse 3 Löcher).
Wenn du Balken oder andere Elemente mit Pins verbindest, achte darauf, den richtigen Pin anhand seiner Farbe auszuwählen, wie in Abbildung 2-3 gezeigt. Das ist wichtig, da frei drehbare Pins (für drehbare Verbindungen) und Pins mit Reibung (die bei festen Konstruktionen zum Einsatz kommen) unterschiedliche Einsatzzwecke haben.
Abbildung 2-2: Balken und Achsen gibt es in unterschiedlichen Längen, sodass du bei der Auswahl aufpassen solltest. Ermittle die Länge, wie hier gezeigt, oder verwende das Diagramm auf der Innenseite des Umschlags.
Um mit dem Bau zu beginnen, wählst du die Teile anhand der Bauteilliste in Abbildung 2-4 aus. Dann folgst du den einzelnen Schritten, die auf den folgenden Seiten gezeigt werden.
Abbildung 2-3: Der EV3-Kasten enthält fixe und drehbare Pins. Wenn du die Modelle dieses Buchs nachbaust, achte darauf, die richtige Sorte anhand der Farbe auszuwählen.
Abbildung 2-4: Bauteilliste für den EXPLOR3R
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
10
11
12
13
14
Verbinde die Kabel wie hier gezeigt. (Die Kabel haben nicht die angegebene Farbe. Die Farben sollen dir aber dabei helfen, sie richtig anzuschließen.)
Herzlichen Glückwunsch – du hast den EXPLOR3R fertig gebaut!
Jetzt wollen wir uns mit den Kabeln beschäftigen, die du gerade an den EV3-Stein angeschlossen hast. Du hast zwei große Motoren an die Ausgabeanschlüsse B und C des EV3-Steins angeschlossen. Große und mittlere Motoren sollten immer mit den Ausgabeanschlüssen A, B, C oder D verbunden werden, wie in Abbildung 2-5 gezeigt. Sensoren sollten an die Eingabeanschlüsse 1, 2, 3 oder 4 angeschlossen werden. (Sensoren erkläre ich detailliert in Teil II dieses Buchs.)
Der EV3-Kasten enthält drei Sorten von Kabeln: vier kurze Kabel (25 cm), zwei mittlere (35 cm) und ein langes Kabel (50 cm). Wickle die Kabel immer um den Roboter herum, sodass sie nicht mit sich drehenden Elementen in Kontakt kommen (z. B. Rädern) und nicht auf dem Boden schleifen, wenn sich der Roboter bewegt.
Der EV3-Stein hat zwei USB-Anschlüsse. Der eine mit PC beschriftete oben auf dem EV3 (siehe Abbildung 2-5) dient zur Übertragung von Programmen vom Computer auf den Roboter. Der USB-Anschluss an der Seite des EV3 dient zur Verbindung mit externen Geräten, wie einem WIFI-Dongle. Neben dem USB-Anschluss gibt es einen Steckplatz für micro SD-Karten, mit denen du den Speicher des EV3 um 4 MB vergrößern kannst. (Der interne Speicher des EV3 reicht aber für alle Experimente dieses Buchs aus.)
Bevor wir mit der Programmierung in Kapitel 3 beginnen, probieren wir die Tasten auf dem EV3-Stein aus (siehe Abbildung 2-6) und bewegen uns durch Menüs und starten gespeicherte Programme.
Abbildung 2-5: Du verbindest Motoren mit Ausgabeanschlüssen und Sensoren mit Eingabeanschlüssen. Der USB-Anschluss mit der Bezeichnung PC dient zur Übertragung von Programmen vom PC auf den EV3.
Abbildung 2-6: Das EV3-Display, die EV3-Tasten und die Statusleuchte um die Tasten herum
Abbildung 2-7: Der EV3-Stein wird über die Mitte-Taste eingeschaltet, worauf ein Menü mit vier Registerkarten erscheint. Das RegisterZuletzt verwendet, das rechts gezeigt wird, enthält die zuletzt verwendeten Programme.
Um den EV3 anzuschalten, drückst du die Mitte-Taste, wie in Abbildung 2-7 gezeigt. Die Statusleuchte sollte rot leuchten, während der EV3 hochfährt. Wenn der EV3 hochgefahren ist (nach etwas 30 Sekunden), leuchtet die Statusleuchte grün und du solltest ein Menü mit vier Registerkarten auf dem EV3-Display sehen. Diese Menüs werden in den nachfolgenden Kapiteln beschrieben. Jede Registerkarte enthält eine Reihe besonderer Funktionen, hier von links nach rechts aufgelistet:
Zuletzt verwendet: Dieses Register enthält zuletzt ausgeführte Programme.
Datei-Navigation: Dieses Register enthält für jedes auf den EV3 übertragene Programmierprojekt einen Ordner. In jedem Ordner findest du Programme und die dazugehörigen Dateien, wie Klänge.
Stein-Anwendungen: Dieses Register enthält Anwendungen, um Sensoren auszulesen und Motoren manuell oder per Fernsteuerung zu lenken.
Einstellungen: Dieses Register enthält Voreinstellungen des Benutzers, wie die Bluetooth-Sichtbarkeit und Lautstärke.
Abbildung 2-8: Den EV3-Stein ausschalten
Um den EV3 auszuschalten, gehst du zurück ins Menü Zuletzt verwendet und hältst die Zurück-Taste gedrückt. Wenn das Ausschalt-Symbol erscheint, wählst du entweder das Häkchen aus, um den EV3 auszuschalten, oder das X zum Abbrechen (siehe Abbildung 2-8). Wenn du den EV3 ausschaltest, um die Batterien zu ersetzen, solltest du unbedingt warten, bis die rote Statusleuchte erloschen ist, sonst verlierst du alle Programme, die seit dem Einschalten auf den EV3 übertragen wurden.
Du kannst mit den Rechts- und Links-Tasten zwischen den Registerkarten umschalten. Ein Druck auf die Zurück-Taste bringt dich zurück zum Register Zuletzt verwendet. Elemente auf den Registerkarten wählst du mit den Auf- oder Ab-Tasten aus. Um ein ausgewähltes Element zu aktivieren, drückst du die Mitte-Taste.
EV3-Roboter beginnen mit dem Ausführen ihrer Aktionen, wenn du ein auf den EV3-Stein übertragenes Programm auswählst und startest. Auch wenn du bis jetzt noch kein Programm auf den EV3 übertragen hast, kannst du ein Beispielprogramm namens Demo ausprobieren, das sich schon auf dem EV3-Stein befindet. Um deinen EXPLOR3R zu testen, führst du dieses Programm aus, indem du zum Datei-Navigation-Register gehst und dort das Programm Demo auswählst, wie in Abbildung 2-9 gezeigt.
Wenn du alles richtig gebaut hast, sollte dein Roboter einige Kreise fahren, sich vorwärts bewegen, zwei Mal nach links fahren und auf dem Display zwei Augen anzeigen. Die grüne Statusleuchte blinkt, während das Programm läuft. Um ein laufendes Programm abzubrechen, drückst du die Zurück-Taste. (Nachdem du das Programm jetzt ein Mal ausgeführt hast, sollte es auch unter der Registerkarte Zuletzt verwendet auftauchen.)
HINWEISDas Programm Demo wurde direkt auf dem EV3-Stein erstellt, verhält sich jedoch genau wie Programme, die du auf deinem Computer schreibst.
Wenn du mit dem Bau des Roboters fertig bist, ist es wichtig, seine mechanische Funktion zu testen, bevor du mit dem Programmieren beginnst. So stellst du fest, ob vielleicht Kabel oder Zahnräder falsch montiert sind.
Du kannst die Motoren des Roboters per Hand mit den Anwendungen Motor Control oder IR Control steuern, wie in Abbildung 2-10 gezeigt. Motor Control aktiviert die einzelnen Motoren über die EV3-Tasten. IR (Infrarot) Control ermöglicht das Lenken des Roboters mit der IR-Fernsteuerung. Wähle IR Control auf der Registerkarte Stein-Anwendungen und verwende die IR-Fernsteuerung, um deinen Roboter zu lenken (siehe Abbildung 2-10). Es ist nicht nur einfach, deinen Roboter fernzusteuern, es macht auch Spaß!
HINWEISDer Infrarotsensor fungiert als Empfänger für die Infrarotfernsteuerung. Du kannst die Fernsteuerung nicht ohne Sensor benutzen. Für die IR Control-Anwendung muss der Sensor an Eingang 4 angeschlossen sein, wie bei der Konfiguration für den EXPLOR3R.
Abbildung 2-9: Um das ProgrammDemozu starten, wechselst du zum RegisterDatei-Navigation, wählst den OrdnerBrkPro_Save, öffnest ihn mit derMitte-Taste, wählst dasDemo-Programm über dieUnten-Taste und drückst dieMitte-Taste. Du findest deine eigenen Programme auch auf der RegisterkarteDatei-Navigation. (In der Abbildung kannst du ein Projekt sehen, das ichTestProjectgenannt habe.)
Abbildung 2-10: Um den Fernsteuerungsmodus einzuschalten, navigierst du zu den Stein-Anwendungen und wählst IR Control. Wenn das Display unten rechts nicht Ch1 + 2 anzeigt, drückst du erneut dieMitte-Taste. In dieser Konfiguration steuerst du die Motoren an den Anschlüssen B und C mit der Fernsteuerung auf Kanal 1. (Der rote Schalter befindet sich ganz oben.)
In diesem Kapitel hast du zwei wichtige Roboterkomponenten kennengelernt: den EV3-Stein und die Motoren. Als du das Demo-Programm gestartet hast, aktivierte der EV3 die Motoren, wodurch sich der Roboter bewegte. In Kapitel 3 und 4 lernst du, wie diese Programme funktionieren und wie du mit der EV3-Software deine eigenen Programme schreibst. Der Infrarotsensor und die Infrarotfernsteuerung kommen in Teil II dieses Buchs wieder.
Wenn du deinen Roboter gebaut hast, kommt als Nächstes das Programm. Ein Programm bringt den EXPLOR3R zum Beispiel dazu, erst vorwärts und dann nach links oder rechts zu fahren.
In diesem Kapitel lernst du, wie mit der EV3-Software Programme geschrieben und geändert werden. Auch wenn du Programme direkt auf dem EV3 ohne Computer schreiben kannst, sind diese doch recht eingeschränkt und bieten nicht alle Funktionen des EV3-Steins. (Eine Einführung in die Direktprogrammierung, auch On-Brick-Programmierung genannt, findest du in Anhang B.)
Zuerst erstellst du ein kleines Programm und lädst es auf den Roboter. Um das Programm zu erstellen, führst du folgende Schritte aus:
1. Schließe den Roboter mit dem mitgelieferten USB-Kabel an den Computer an (siehe Abbildung 3-1) und prüfe, dass der EV3-Stein eingeschaltet ist. (Du musst den Roboter jedes Mal an den Computer anschließen, wenn du ein Programm darauf übertragen willst.)
Abbildung 3-1: Der Roboter wird mit dem mitgelieferten USB-Kabel an den Computer angeschlossen. Verwende den Anschluss oben auf dem EV3, wie hier gezeigt.
2. Starte die EV3-Software, indem du die Desktopverknüpfung zu Lego Mindstorms EV3 Home Edition anklickst. Wenn die Software geladen ist, siehst du die Lobby, wo du neue Programme erstellen oder bestehende öffnen kannst.
3. Öffne ein neues Programmierprojekt, indem du auf das +-Symbol klickst, wie in Abbildung 3-2 gezeigt.
HINWEISWenn du ein Pop-up siehst, in dem steht: »Bitte die Firmware-Version des EV3 aktualisieren«, folge einfach den Schritten unter »Die EV3-Firmware aktualisieren« auf Seite 355.
4. Wähle einen Programmierblock Bewegungslenkung und platziere ihn, wie in Abbildung 3-3 gezeigt. Bedenke, dass ein Programm eigentlich aus einer Reihe von Anweisungen besteht, die der Roboter ausführt. Dieser Block stellt eine Anweisung dar, durch die sich der Roboter vorwärts bewegt.
5. Klicke jetzt auf die Schaltfläche Herunterladen und ausführen (siehe Abbildung 3-4). Dein Computer sollte dieses einfache Programm auf deinen Roboter laden und dieser sich vorwärts bewegen. Um das Programm erneut herunterzuladen und auszuführen, klicke einfach wieder auf diese Schaltfläche.
Wenn sich dein erster Roboter eine kleine Strecke vorwärts bewegt, hast du dein erstes Programm geschrieben. Herzlichen Glückwunsch!
HINWEISWenn du dein Programm nicht auf den EV3 laden kannst und das EV3-Symbol auf deinem Computer grau dargestellt () wird, und nicht rot (), stimmt etwas mit der USB-Verbindung nicht. Entferne das USBKabel und stecke es wieder in den Anschluss. Wenn auch das nicht hilft, schalte den EV3 aus und wieder ein. Weitere Unterstützung findest du in Anhang A.
Abbildung 3-2: Die Lobby der EV3-Software. Klicke auf das +-Symbol, um ein neues Projekt zu beginnen.
Abbildung 3-3: Einen Block in ein programm Platzieren. Wenn du klickst, um einen Block abzulegen, sollte er sich mit dem orangefarbenen Startblock verbinden, der immer am Anfang eines neuen programms steht.
Abbildung 3-4: Ein programm wird auf den Roboter geladen und gestartet. Die Buchstaben EV3 in roter Schrift zeigen an, dass der Roboter korrekt mit dem Computer verbunden ist.
Gut, dein Roboter hat sich bewegt. Aber wie hast du das gemacht? In den folgenden Abschnitten erkläre ich verschiedene Teile der EV3-Software, damit du zunächst einfache Programme verstehst und verändern kannst, bevor wir zu komplizierteren übergehen.
Dein Bildschirm sollte wie in Abbildung 3-5 aussehen, wenn das Programm gestartet wurde. Ich erkläre jetzt die einzelnen markierten Abschnitte.
Abbildung 3-5: Das Fenster der EV3-Software besteht aus mehreren Abschnitten. Du hast alle beschrifteten Abschnitte verwendet, als du dein erstes programm geschrieben hast.
Deine EV3-Programme bestehen aus Programmierblöcken. Jeder Block weist den Roboter an, etwas anderes zu tun, zum Beispiel sich vorwärts zu bewegen oder einen Klang abzuspielen. Du findest die Blöcke in der Programmierpalette (siehe Abbildung 3-6).
Es gibt mehrere Kategorien von Blöcken, hinter jedem farbigen Register eine. Du wirst die Aktionsblöcke (grün), Programmablaufblöcke (orange) und Eigene Blöcke (hellblau) in Kapitel 4 und 5 kennenlernen. Programmablaufblöcke zur Steuerung von Sensoren lernst du in Teil II dieses Buchs kennen.
Sensorblöcke (gelb) und Datenblöcke (rot) werden in Teil V vorgestellt und einige der Erweiterungsblöcke (dunkelblau) findest du überall in diesem Buch.
Abbildung 3-6: Die programmierpalette
Deine Programme beginnen immer mit einem Startblock. Wenn du den ersten Block aus der Programmierpalette auswählst, fügst du ihn an den Startblock an, wie in Abbildung 3-7 gezeigt. Der Roboter führt die Blöcke nacheinander aus, von links nach rechts, und beginnt mit dem Block, der mit dem Startblock verbunden ist.
Wenn du den Startblock versehentlich löschst, holst du dir einfach einen neuen aus dem orangenen Register der Programmierpalette.
Abbildung 3-7: Wenn du einen Block aus der programmierpalette ausgewählt hast, platzierst du ihn im programmierbereich. ist es der erste programmierblock, platziere ihn rechts vom Startblock.