Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Mit ihrer intuitiv zu bedienenden Oberfläche ermöglicht es die Programmiersprache LEGO MINDSTORMS EV3 jedem, intelligente Roboter zu programmieren. Die große Anzahl an anspruchsvollen Funktionen kann jedoch auf den ersten Blick einschüchternd wirken. Um diese Hemmschwelle zu überwinden, gibt es jetzt dieses Buch - eine farbige Anleitung, die auch für Leser ohne Vorkenntnisse geeignet ist. Hier erfährst du, wie du die EV3-Hauptelemente wie Blöcke, Datenleitungen, Dateien und Variablen zusammenstellst, um ausgeklügelte Programme zu schreiben. Du lernst auch gute Programmierpraktiken, Möglichkeiten zur Speicherverwaltung und nützliche Vorgehensweisen für die Fehlersuche kennen - grundlegende Fähigkeiten, die auch für die Programmierung in anderen Sprachen unverzichtbar sind. Alle in diesem Buch vorgestellten Programme laufen auf einem Allzweck-Roboter, den du ganz am Anfang bauen wirst. Im weiteren Verlauf programmierst du den Roboter dann für die verschiedensten Anwendungen: • Auf unterschiedliche Umgebungseinflüsse und auf Befehle reagieren • Einer Wand folgen, um aus einem Labyrinth herauszufinden • Über Drehregler, Sensoren und Datenleitungen Zeichnungen erstellen und auf dem EV3-Bildschirm anzeigen • Ein Gedächtnisspiel, bei dem Arrays und Dateien zum Einsatz kommen, um eine Aufgabe zu stellen und den Punktestand zu speichern • Einer Linie mit einem PID-Regler folgen, wie er auch in echten Industrierobotern verwendet wird Das Buch behandelt sowohl die normale Einzelhandels- als auch die Education-Ausgabe des EV3-Kastens und ist damit ideal für Kinder, Eltern und Lehrer geeignet. Ob du dein Roboterlabor im Wohnzimmer oder im Klassenraum aufbaust - dies ist der umfassende Leitfaden zur EV3-Programmierung, den du schon immer haben wolltest. Dieses Buch ist von der LEGO-Gruppe weder unterstützt noch autorisiert worden.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 486
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Vom Einsteiger zum Meisterprogrammierer mit Lego® Mindstorms®
Terry Griffin
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-275-8
PDF 978-3-86491-714-1
ePub 978-3-86491-715-8
Mobi 987-3-86491-716-5
1. Auflage 2015Copyright der deutschen Übersetzung © 2015 dpunkt.verlag GmbHWieblinger Weg 17 · 69123 Heidelberg
Copyright der amerikanischen Originalausgabe: © 2014 by Terry GriffinTitel der Originalausgabe: The Art of LEGO® MINDSTORMS® EV3 ProgrammingNo Starch Press, Inc. · 245 8th Street, San Francisco, CA 94103 l www.nostarch.comISBN: 978-1-59327-568-6
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 sowie MINDSTORMS 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
Für meine Familie, die all die Arbeit lohnenswert macht. Und für Bella, die mir morgens einen Grund zum Aufstehen gibt.
Terry Griffin arbeitet seit über 20 Jahren als Softwareingenieur und hat den größten Teil dieser Zeit damit zugebracht, Software zur Steuerung der unterschiedlichsten Arten von Maschinen zu entwickeln. Er hat an der Universität von Massachusetts seinen Master in Informatik gemacht und am College sowie in der Erwachsenenbildung Programmierkurse gegeben. Als lebenslanger Lego-Fan hat er The Art of LEGO MINDSTORMS NXT Programming (No Starch Press) geschrieben, um seiner Frau, einer begeisterten Lehrerin für Naturwissenschaften und Mathematik für Sekundarstufe II, dabei zu helfen, die faszinierenden NXT-Roboter auch im Unterricht einzusetzen. Heute arbeitet er für das Ion Microscopy Innovation Center von Carl Zeiss und entwickelt dort Software zur Steuerung von Elektronen- und Ionenmikroskopen.
Daniele Benedettelli ist weltweit für seine originellen Lego-Roboter bekannt, vor allem für seine Lösungssysteme für den Zauberwürfel und seine menschenähnlichen Roboter. Als LEGO MINDSTORMS Community Partner (MCP) hilft er bei der Entwicklung und dem Test neuer Mindstorms-Produkte. Er hat einen Master in Robotik und Automatisierungstechnik von der Universität in Siena. Überall auf der Welt hält er Vorträge und Seminare über Robotik und Informations- und Kommunikationstechnologie. Außerdem unterrichtet er Robotik in der Oberstufe und entwirft als freier Mitarbeiter Lego-Modelle für die Lego-Unterrichtsprogramme. Aus seiner Feder stammt das Buch Das LEGO-MINDSTORMS-EV3-Labor (dpunkt).
Rob Torok arbeitet als Lehrer in Tasmanien und verwendet schon seit 2001 Lego-Robotik im Unterricht. Er hat Teams beim RoboCup Junior und dem FIRST Robotics Competition betreut und gibt den Online-Robotikkurs SmartBots. 2010 hat er sechs Monate im Tufts Center for Engineering Education and Outreach (CEEO) in Boston verbracht, mit dem er nach wie vor eng zusammenarbeitet. Zurzeit fungiert er als Redakteur sowohl für http://LEGOengineering.com/ als auch für http://LEGOeducation.com.au/.
Ich möchte meiner Familie für ihre Geduld während der Zeit danken, in der ich dieses Buch schrieb. Mein besonderer Dank gilt meiner Frau Liz, die zahllose Stunden mit der Durchsicht des Textes verbrachte und es gestattete, dass die Roboter den Esszimmertisch eroberten.Ohne die Hilfe und die Unterstützung von Bill Pollock und allen Mitarbeitern bei No Starch Press wäre dieses Buch nicht möglich gewesen. Es war mir ein Vergnügen, mit Seph Kramer, Laurel Chun und Jennifer Griffith-Delgado zusammenzuarbeiten. Ihr Wissen und ihre Fachkenntnisse waren für die Fertigstellung dieses Projekts unverzichtbar.Ich möchte auch meinen Fachgutachtern Daniele Benedettelli und Rob Torok danken. Ihre Kenntnisse über EV3 und Robotik im Allgemeinen waren eine große Hilfe, um den wirklich wichtigen Stoff auszuwählen und ihn technisch korrekt darzustellen.
Einleitung
Kapitel 1 Lego und Roboter: eine großartige Kombination
Kapitel 2 Die EV3-Programmierumgebung
Kapitel 3 TriBot: der Testroboter
Kapitel 4 Bewegung
Kapitel 5 Sensoren
Kapitel 6 Programmablauf
Kapitel 7 Das Programm WallFollower: Orientierung im Labyrinth
Kapitel 8 Datenleitungen
Kapitel 9 Datenleitungen am Schalterblock
Kapitel 10 Datenleitungen am Schleifenblock
Kapitel 11 Variablen
Kapitel 12 Eigene Blöcke
Kapitel 13 Der Mathe- und der Logikblock
Kapitel 14 Tasten, Statusleuchte und Anzeige des EV3-Steins
Kapitel 15 Arrays
Kapitel 16 Dateien
Kapitel 17 Datenprotokollierung
Kapitel 18 Multitasking
Kapitel 19 Eine PID-gesteuerte Version des Programms LineFollower
Anhang A Kompatibilität von NXT und EV3
Anhang B Websites rund um EV3
Index
Einleitung
Zielpublikum
Voraussetzungen
Der Inhalt dieses Buches
Wie du dieses Buch lesen solltest
1 Lego und Roboter: eine großartige Kombination
Lego Mindstorms EV3
Der Lego-Mindstorms-EV3-Kasten
Die Lego-Mindstorms-EV3-Software
Software, Firmware und Hardware
Kunst und Wissenschaft
Merkmale von guten Programmen
Was du in diesem Buch lernst
Die Online-Community zu Lego Mindstorms
Wie geht es weiter?
2 Die EV3-Programmierumgebung
Die Mindstorms-Software im Überblick
A: Der Programmierbereich
B: Der Inhalts-Editor
C: Die Programmierpaletten
D: Die Hardwareseite
E: Schaltflächen zum Herunterladen und Ausführen
EV3-Programme schreiben
Allgemeiner Aufbau von Blöcken
Dein erstes Programm
Deine Änderungen speichern
Sicherungskopien anlegen
Das Programm ausführen
Projekteigenschaften
Dein zweites Programm
Kommentare
Kommentare hinzufügen
Tipps für die Arbeit mit Kommentaren
Kontexthilfe
Zusammenfassung
3 TriBot: der Testroboter
Bestandteile des TriBots
Motor und Räder
Die Laufrolle
Die Laufrolle aus Teilen der Home Edition bauen
Die Laufrolle aus Teilen der Education Edition bauen
Den EV3-Stein hinzufügen
Den Infrarot- oder den Ultraschallsensor montieren
Den Farbsensor anschließen
Den Kreiselsensor anbauen (Education Edition)
Die Stoßstange mit Berührungssensor bauen
Die Kabel anschließen
Den Berührungssensor verkabeln
Den Infrarot- oder Ultraschallsensor verkabeln
Den Farbsensor verkabeln
Den Kreiselsensor verkabeln (Education Edition)
Die Motoren verkabeln
Alternative Platzierung des Farbsensors
Alternative Platzierung des Infrarot- oder Ultraschallsensors
Den Hubarm bauen
Zusammenfassung
4 Bewegung
Die EV3-Motoren
Der Bewegungslenkungsblock
Modus
Lenkung
Leistung
Dauer
Am Ende bremsen
Anschlüsse
Die Anschlussansicht
Die Anschlussansicht auf dem EV3-Stein
Das Programm ThereAndBack
Vorwärtsbewegung
Wenden
Einen einzelnen Block testen
Zurück zur Ausgangsposition
Das Programm AroundTheBlock
Die erste Seite und die erste Ecke
Die drei anderen Seiten und Ecken
Das Programm testen
Der Hebellenkungsblock
Die Blöcke für große und mittlere Motoren
Der Hubarm
Der Block »Motor umkehren«
Ein Problem bei der Einstellung »Auslaufen«
Noch mehr zum Ausprobieren
Zusammenfassung
5 Sensoren
Sensoren verwenden
Der Berührungssensor
Das Programm BumperBot
Vorwärtsbewegung
Hindernisse erkennen
Zurücksetzen und wenden
Aufgabe 5-1
Aufgabe 5-2
Testen
Der Farbsensor
Der Farbmodus
Stärke des reflektierten Lichts
Stärke des Umgebungslichts
Die Anschlussansicht
Aufgabe 5-3
Das Programm IsItBlue
Der Schalterblock
Das Programm verbessern
Das Programm LineFinder
Den Schwellenwert mithilfe der Anschlussansicht finden
Aufgabe 5-4
Aufgabe 5-5
Der Infrarotsensor und die Fernsteuerung
Der Nähemodus
Die Modi Signal-Richtung und Signal-Nähe
Der Fernsteuerungsmodus
Aufgabe 5-6
Das Programm BumperBotWithButtons
Der Ultraschallsensor
Die Modi »Distanz in Zentimetern« und »Distanz in Zoll«
Der Modus Anwesenheit/Wahrnehmen
Das Programm DoorChime
Eine Person wahrnehmen
Den Gong abspielen
Die Wiedergabe des Gongs beenden
Der Kreiselsensor
Der Ratenmodus
Der Winkelmodus
Den Winkel zurücksetzen
Das Programm GyroTurn
Aufgabe 5-7
Der Motorumdrehungssensor
Das Programm BumperBot2
Noch mehr zum Ausprobieren
Zusammenfassung
6 Programmablauf
Der Schalterblock
Die Bedingung festlegen
Die Größe eines Blocks ändern
Das Programm LineFollower
Das Grundprogramm
Einen Schwellenwert für den Farbsensor wählen
Die Bewegungslenkungsblöcke einrichten
Das Programm testen
Mehr als zwei Wahlmöglichkeiten
Das Programm testen
Die Registeransicht
Aufgabe 6-1
Das Programm RedOrBlue
Rote Objekte erkennen
Einen neuen Fall hinzufügen
Der Standardfall
Aufgabe 6-2
Der Schleifenblock
Der Schleifen-Interrupt-Block
Das Programm BumperBot3
Noch mehr zum Ausprobieren
Zusammenfassung
7 Das Programm WallFollower: Orientierung im Labyrinth
Pseudocode
Aus einem Labyrinth herausfinden
Anforderungen an das Programm
Annahmen
Erster Entwurf
Verwendung der Education-Ausgabe
Einer geraden Wand folgen
Den Code schreiben
Testen
Um die Ecke biegen
Den Code schreiben
Testen
Durch eine Öffnung fahren
Den Code schreiben
Testen
Klangblöcke für das Debugging
Abschlusstest
Noch mehr zum Ausprobieren
Zusammenfassung
8 Datenleitungen
Was sind Datenleitungen?
Das Programm GentleStop
Das Programm schreiben
Tipps für die Verwendung von Datenleitungen
Aufgabe 8-1
Das Programm SoundMachine
Die Lautstärke regeln
Den Matheblock verwenden
Die Tonhöhensteuerung hinzufügen
Datentypen
Die Frequenz- und Lautstärkewerte anzeigen
Den Textblock verwenden
Beschriftungen für angezeigte Werte hinzufügen
Die Lautstärke anzeigen
Aufgabe 8-2
Aufgabe 8-3
Aufgabe 8-4
Noch mehr zum Ausprobieren
Zusammenfassung
9 Datenleitungen am Schalterblock
Die Wertmodi des Schalterblocks
Das Programm GentleStop umschreiben
Daten in einen Schalterblock übergeben
Vorteile bei der Verwendung eines Sensorblocks
Daten aus einem Schalterblock heraus übergeben
Aufgabe 9-1
Das Programm LineFollower vereinfachen
Aufgabe 9-2
Noch mehr zum Ausprobieren
Zusammenfassung
10 Datenleitungen am Schleifenblock
Der Logikmodus
Aufgabe 10-1
Der Schleifenindex
Das Programm LoopIndexTest
Eine Schleife neu starten
Der letzte Wert des Schleifenindex
Das Programm SpiralLineFinder
Einen Spiralkurs fahren
Linien während der Spiralbewegung erkennen
Aufgabe 10-2
Bessere Drehungen mit dem Kreiselsensor
Noch mehr zum Ausprobieren
Zusammenfassung
11 Variablen
Der Variablenblock
Das Programm RedOrBlueCount
Variablen erstellen und initialisieren
Sinnvolle Variablennamen
Die Anfangswerte anzeigen
Die roten Objekte zählen
Die blauen Objekte zählen
Variablen auf der Projekteigenschaftenseite verwalten
Der Vergleichsblock
Das Programm LightPointer
Die Variablen definieren
Die Lichtquelle finden
Variablen initialisieren
Das Programm LightPointer schreiben
Der Konstantenblock
Aufgabe 11-1
Aufgabe 11-2
Noch mehr zum Ausprobieren
Zusammenfassung
12 Eigene Blöcke
Eigene Blöcke erstellen
Die Palette Eigene Blöcke
Eigene Blöcke bearbeiten
Aufgabe 12-1
Der Eigene Block LogicToText
Parameter hinzufügen, entfernen und verschieben
Das Register Parametereinrichtung
Der Eigene Block DisplayNumber
Eigene Blöcke und das Debugging
Parameter von Eigenen Blöcken ändern
Variablen und Eigene Blöcke
Aufgabe 12-2
Noch mehr zum Ausprobieren
Zusammenfassung
13 Der Mathe- und der Logikblock
Der Modus »Großer Funktionsumfang« des Matheblocks
Unterstützte Operatoren und Funktionen
Der Modulo-Operator
Fehler im Matheblock
Ein proportionales Spurfolgeprogramm
EV3-Zeitgeber
Aufgabe 13-1
Das Programm DisplayTimer
Den Zeitgeber-Messwert in Minuten und Sekunden aufteilen
Den Text für die Anzeige zusammenstellen
Der Rundungsblock
Aufgabe 13-2
Aufgabe 13-3
Der Zufallsblock
Das Programm BumperBot mit einer zufälligen Drehung
Der Logikblock
Logische Operationen im Programm BumperBot
Der Bereichsblock
Das Programm TagAlong
Das Programm GyroPointer
Aufgabe 13-4
Noch mehr zum Ausprobieren
Zusammenfassung
14 Tasten, Statusleuchte und Anzeige des EV3-Steins
Die Tasten des EV3-Steins
Das Programm PowerSetting
Der Anfangswert und die Schleife
Den aktuellen Wert anzeigen
Den Leistungswert anpassen
Das Programm testen
Schnelle Änderung des Werts
Aufgabe 14-1
Die Stein-Statusleuchte
Das Programm ColorCopy
Aufgabe 14-2
Der Anzeigeblock
Ein Bild anzeigen
Das Programm Eyes
Auf dem EV3-Bildschirm zeichnen
Das Programm EV3Sketch
Noch mehr zum Ausprobieren
Zusammenfassung
15 Arrays
Überblick und Terminologie
Arrays erstellen
Der Block Array-Operationen
Der Längemodus
Der Modus »Lesen aus Index«
Der Modus »Schreiben in Index«
Der Modus »Anfügen«
Das Programm ArrayTest
Aufgabe 15-1
Das Programm ButtonCommand
Das Befehlsarray erstellen
Die Befehle anzeigen
Die Befehle ausführen
Aufgabe 15-2
Das Programm ColorCount
Der Eigene Block ColorToText
Der Eigene Block AddColorCount
Eine Klangdatei über eine Datenleitung auswählen
Initialisierung
Farben zählen
Das Programm MemoryGame
Der Anfang der Schleife
Die Farbfolge zusammenstellen
Der Eigene Block WaitForButton
Die Antwort des Benutzers überprüfen
Noch mehr zum Ausprobieren
Zusammenfassung
16 Dateien
Der Dateizugriffsblock
Den Dateinamen festlegen
In eine Datei schreiben
Probleme mit Dateinamen verhindern
Aus einer Datei lesen
Den Highscore in MemoryGame speichern
Das Programm FileReader
Aufgabe 16-1
Das Dateiende finden
Dem Programm ColorCount ein Menü hinzufügen
Der Eigene Block CreateMenu_CC
Der Eigene Block SelectOption
Die neue Struktur des Programms ColorCount
Objekte zählen
Die Zähldaten speichern und laden
Testen
Aufgabe 16-2
Speicherverwaltung
Noch mehr zum Ausprobieren
EV3-Textdateien unter Windows
Zusammenfassung
17 Datenprotokollierung
Datenerfassung mit dem EV3-System
Der Messwert »Stromstärke«
Das Programm CurrentPowerTest
Der Eigene Block LogData
Das Programm CurrentPowerTest2
Aufgabe 17-1
Die aktuelle Leistung mit dem Bewegungslenkungsblock testen
Das Programm SteeringTest
Das Programm VerifyLightPointer
Aufgabe 17-2
Die Menge der Daten beeinflussen
Noch mehr zum Ausprobieren
Zusammenfassung
18 Multitasking
Mehrere Startblöcke
Der Block »Programm beenden«
Aufgabe 18-1
Blockierende Schleifen vermeiden
Ein Blinklicht zum Programm DoorChime hinzufügen
Programmablaufregeln
Startblöcke und Datenleitungen
Werte aus einem Schleifen- oder Schalterblock verwenden
Eigene Blöcke verwenden
Zwei Sequenzen zeitlich abstimmen
Schwierigkeiten vermeiden
Noch mehr zum Ausprobieren
Zusammenfassung
19 Eine PID-gesteuerte Version des Programms LineFollower
Der PID-Regler
Proportionalregelung
Die Rohdaten
Gute und schlechte Zonen
Den niedrigsten und den höchsten Messwert des Sensors bestimmen
Die Sensormesswerte und den Sollwert normalisieren
Die Proportionalregelung des Programms LineFollower verbessern
Die Kalibrierungsmodi des Farbsensors
Die PID-Regelung hinzufügen
Den Differenzialterm hinzufügen
Den Integralterm hinzufügen
Den Regler einstellen
Noch mehr zum Ausprobieren
Zusammenfassung
A Kompatibilität von NXT und EV3
Motoren
Sensoren
Software
B Websites rund um EV3
Index
In diesem Buch geht es darum, Programme für Lego-Mind-storms-EV3-Roboter zu schreiben. Die EV3-Software ist sehr leistungsfähig, und hier lernst du, wie du sie am besten nutzt, und erwirbst die Programmierkenntnisse, die du zum Schreiben deiner eigenen Programme benötigst.
Dieses Buch ist für alle geeignet, die lernen wollen, wie sie Programme zur Steuerung ihrer EV3-Roboter schreiben können. Es spielt keine Rolle, ob du ein junger Roboterfan bist, ein Erwachsener, der Robotik für Kinder unterrichtet, ein Elternteil, ein FIRST-LEGO-League-Teambetreuer oder ein Lehrer, der EV3 im Unterricht einsetzt. Beim Schreiben dieses Buches habe ich einerseits darauf geachtet, den Stoff auch für junge Leser aufzubereiten, und andererseits genügend in die Tiefe zu gehen, um Schülern und Lehrern das Wie und Warum der EV3-Programmierung zu erschließen.
Zum Testen sämtlicher Programme wird ein einziger Allzweckroboter verwendet, den du sowohl mit der normalen Einzelhandels- als auch der Education-Ausgabe von EV3 bauen kannst. Es gibt bei den Programmen nur ein paar wenige wichtige Unterschiede zwischen den beiden Ausgaben, auf die ich jeweils hinweisen werde. Fast der gesamte hier dargestellte Stoff kann mit beiden Ausgaben nachvollzogen werden.
Vorkenntnisse in Programmierung sind nicht erforderlich. Die EV3-Software ist leistungsfähig, aber einfach anzuwenden, und bildet ein hervorragendes Werkzeug für die erste Einführung in die Programmierung.
In diesem Buch geht es um die Programmierung von EV3-Robotern und nicht um den mechanischen Teil beim Bauen. Alle Programme in diesem Buch sind entweder für einen Allzweckroboter gedacht oder auch nur für den EV3-Stein. Du lernst hier, wie du mit den wichtigsten Elementen der EV3-Software arbeitest, also z. B. mit Blöcken, Datenleitungen, Dateien und Variablen, und wie diese Elemente zusammenwirken. Außerdem erfährst du etwas über gute Programmiertechniken, über schlechte Angewohnheiten, die du vermeiden solltest, und über Debugging-Verfahren, mit denen du frustrierende Erfahrungen in Grenzen halten kannst, um mehr Spaß beim Programmieren zu haben.
In diesem Buch findest du Schritt-für-Schritt-Anleitungen und Erklärungen für viele EV3-Programme. Das sind einerseits kleine Beispiele, die dazu dienen, dir die Funktionsweise von EV3-Programmen genau deutlich zu machen, andererseits aber auch anspruchsvolle Programme, die vielschichtige Verhaltensweisen zeigen. Zwischendurch wirst du auch immer wieder Programmieraufgaben finden, in denen du dazu aufgefordert wirst, dich selbstständig mit Fragen der EV3-Programmierung zu befassen, um das Gelernte zu vertiefen.
Zu Anfang des Buches steht eine Einführung in den EV3-Kasten und die Software, die du zum Schreiben der Programme verwendest. Darauf folgt die Bauanleitung für den Testroboter. Die nächsten Kapitel behandeln die Grundlagen der EV3-Software, was in Kapitel 7 mit einem Programm seinen Höhepunkt findet, mit dem der Roboter aus einem Labyrinth herausfinden kann. Darauf folgen mehrere Kapitel, die fortgeschrittenere Elemente der Programmierumgebung behandeln. Am Schluss des Buches steht ein anspruchsvolles Spurfolgeprogramm mit PID-Regler. Der folgende Überblick zeigt, was du in den einzelnen Kapiteln lernen wirst.
Kapitel 1: Lego und Roboter: eine großartige Kombination
Das erste Kapitel gibt eine kurze Einführung in die Software Lego Mindstorms EV3. Außerdem stellt es die Unterschiede zwischen der Einzelhandels- und der Education-Ausgabe und deren Auswirkungen auf die Experimente in diesem Buch vor.
Kapitel 2: Die EV3-Programmierumgebung
In diesem Kapitel werden die einzelnen Merkmale der EV3-Software vorgestellt. Anhand von zwei einfachen Beispielen erfährst du, wie du Programme erstellst und auf dem EV3-Stein ausführst. Hier lernst du auch, wie du Blockparameter änderst, Kommentare hinzufügst und die Anschlussansicht nutzt.
Kapitel 3: TriBot: der Testroboter
In diesem Kapitel baust du den Testroboter TriBot. Diesen Allzweckroboter wirst du zum Prüfen sämtlicher Programme in diesem Buch verwenden.
Kapitel 4: Bewegung
In diesem Kapitel geht es um die EV3-Motoren und die Blöcke zu deren Steuerung. Hier erstellst du mehrere Programme, die die typische Verwendung dieser Blöcke veranschaulichen. Außerdem wirst du auf einige Fallstricke hingewiesen, über die Lego-Bastler häufig stolpern.
Kapitel 5: Sensoren
Dieses Kapitel behandelt die EV3-Sensoren: den Berührungs-, den Farb-, den Ultraschall-, den Infrarot-, den Kreisel- und den Motorumdrehungssensor. Für jeden dieser Sensoren schreibst du ein Beispielprogramm. Du erfährst hier auch, wie du dir die Sensorwerte in der Anschlussansicht anschauen kannst, während du ein Programm entwickelst oder ausführst.
Kapitel 6: Programmablauf
Schwerpunkt dieses Kapitels sind der Schalterblock (mit dem du in deinen Programmen Entscheidungen treffen kannst) und der Schleifenblock (mit dem sich Aktionen in einem Programm wiederholen lassen). Mit diesen Programmablaufblöcken schreibst du ein einfaches Spurfolgeprogramm.
Kapitel 7: Das Programm WallFollower: Orientierung im Labyrinth
Nachdem du nun die Grundlagen der EV3-Programmierung beherrschst, bist du jetzt in der Lage, kompliziertere Aufgabenstellungen anzupacken. In diesem Kapitel lernst du, wie du ein Wandfolgeprogramm, mit dem dein Roboter aus einem Labyrinth herausfinden kann, gestaltest, schreibst und darin Fehler behebst.
Kapitel 8: Datenleitungen
Datenleitungen gehören zu den vielseitigsten Elementen für die EV3-Programmierung. In diesem Kapitel erfährst du, was Datenleitungen sind und wie du sie wirkungsvoll einsetzt. Die Beispielprogramme zeigen dir, wie du mithilfe von Datenleitungen Informationen von Sensoren abrufst und wie du anhand dieser Sensordaten einen Motor steuerst.
Kapitel 9: Datenleitungen am Schalterblock
In diesem Kapitel geht es um die anspruchsvolleren Merkmale des Schalterblocks, die bei der Verwendung von Datenleitungen zur Verfügung stehen. Außerdem lernst du hier, wie du Daten über Datenleitungen in einen Schalterblock hinein- und aus ihm herausführst.
Kapitel 10: Datenleitungen am Schleifenblock
In diesem Kapitel lernst du den Umgang mit Datenleitungen an Schleifenblöcken kennen. Du erstellst ein Programm, das den Roboter in einem rechteckigen Spiralkurs bewegt, und verwendest dabei neue Techniken wie Schleifenzähler und die Beendigungsbedingung der Schleife.
Kapitel 11: Variablen
Thema dieses Kapitels sind der Variablen- und der Konstantenblock. Du lernst hier, wie du Variablen hinzufügst und verwaltest, um Werte zu speichern und zu aktualisieren.
Kapitel 12: Eigene Blöcke
Ein Eigener Block ist ein neuer Block, den du erstellst, indem du mehrere andere Blöcke gruppierst. In diesem Kapitel erfährst du, wie du Eigene Blöcke anlegst, in deinen Programmen verwendest und sie von einem Projekt zu einem anderen überträgst.
Kapitel 13: Der Mathe- und der Logikblock
Dieses Kapitel beschreibt die Blöcke für mathematische und logische Operationen: den Mathe-, den Logik-, den Bereichs-, den Rundungs- und den Zufallsblock. Du lernst die erweiterte Verwendung dieser Blöcke kennen, indem du einige der in früheren Kapiteln geschriebenen Programme ausbaust.
Kapitel 14: Tasten, Statusleuchte und Anzeige des EV3-Steins
In diesem Kapitel lernst du, wie du ein Programm über die SteinTasten steuerst, wie du mithilfe des Stein-Statusleuchten-Blocks die farbigen Lichter auf dem EV3-Stein verwendest und wie du auf die Anzeige auf dem Stein zugreifst. Als Beispiel wirst du dazu ein einfaches Zeichenprogramm schreiben.
Kapitel 15: Arrays
Thema dieses Kapitels sind Arrays und ihre Verwendung in der EV3-Programmierung. Hier entwickelst du ein Programm, mit dem du dem TriBot eine Liste von Befehlen vorgeben kannst, die er ausführen soll.
Kapitel 16: Dateien
In diesem Kapitel erfährst du, wie du mithilfe von Dateien Informationen auf dem EV3-Stein speicherst, wie du den Speicher des EV3-Steins verwaltest und wie du Dateien vom EV3-Stein auf den Computer überträgst und umgekehrt. Hier entwickelst du auch ein Programm, dessen Einstellungen du in einer Datei speichern und später wieder von dort abrufen kannst.
Kapitel 17: Datenprotokollierung
Die Programme in diesem Kapitel zeigen dir, wie du den EV3-Stein zur Datenprotokollierung verwenden kannst. Hier zeige ich dir die Grundlagen der Datenerfassung und -analyse. Außerdem nutzen wir die Datenprotokollierung, um ein tieferes Verständnis der Funktionsweise des Bewegungslenkungsblocks zu gewinnen.
Kapitel 18: Multitasking
Der EV3-Stein kann mehrere Gruppen von Blöcken parallel ausführen. Hier lernst du, wie du mehrere Sequenzen gleichzeitig ausführst und wie du Probleme vermeidest, die dabei häufig auftreten.
Kapitel 19: Eine PID-gesteuerte Version des Programms LineFollower
Im letzten Kapitel verwenden wir anspruchsvolle EV3-Programmierfunktionen, um ein hoch entwickeltes Spurfolgeprogramm zu schreiben. Du lernst hier, wie du einen PID-Regler (Proportional-Integral-Differenzial) einsetzt, um den Roboter so zu steuern, dass er der Linie schnell und genau folgt.
Anhang A: Kompatibilität von NXT und EV3
In diesem Anhang geht es um die gemeinsame Verwendung von älteren NXT-Mindstorms- und EV3-Produkten.
Anhang B: Websites rund um EV3
Dieser Anhang stellt Websites mit Informationen über EV3-Programmierung vor.
Um den größten Nutzen aus diesem Buch zu ziehen, solltest du beim Lesen die Schritt-für-Schritt-Anleitungen zum Erstellen der Beispielprogramme auf deinem Computer nachvollziehen. Programmieren gehört zu den Tätigkeiten, die man am besten durch Ausprobieren lernt. Du kannst auf jeden Fall viel mehr lernen, wenn du Programme selbst schreibst und mit ihnen herumexperimentierst, als wenn du nur über sie liest.
Zum besseren Verständnis der Programme und der zugehörigen Erklärungen ist es am besten, die Kapitel in der vorgegebenen Reihenfolge zu lesen. In den ersten Kapiteln werden mehrere Beispielprogramme eingeführt, die du dann in späteren Kapiteln, wenn du mehr über die EV3-Programmierung weißt, erweiterst. Wenn du am Ende des Buches angelangt bist, verfügst du über die Kenntnisse und Fähigkeiten eines erfahrenen EV3-Programmierers!
Lego und Roboter: eine großartige Kombination
Willkommen in der Welt der Robotik! Es ist noch gar nicht so lange her, da konnte man Roboter nur in Science-Fiction-Geschichten finden. Heutzutage gehören Roboter unzweifelhaft zur Realität und führen eine breite Palette wichtiger Aufgaben durch, von der Erforschung fremder Planeten und Unterwasservulkane über die Automontage bis zur Chirurgie. Abbildung 1-1 zeigt den Mars-Forschungsrover Curiosity. Du kannst im Elektrohandel inzwischen sogar Roboter kaufen, die den Boden fegen, während du dich ausruhst!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!