Programmieren lernen mit EV3 - Terry Griffin - E-Book

Programmieren lernen mit EV3 E-Book

Terry Griffin

4,8

  • Herausgeber: dpunkt
  • Kategorie: Lebensstil
  • Sprache: Deutsch
  • Veröffentlichungsjahr: 2015
Beschreibung

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:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 486

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
4,8 (16 Bewertungen)
12
4
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



PROGRAMMIEREN LERNEN MIT EV3

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.

Der Autor

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.

Die Fachgutachter

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/.

Danksagung

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.

Übersicht

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

Inhaltsverzeichnis

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

Einleitung

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.

Zielpublikum

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.

Voraussetzungen

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.

Der Inhalt dieses Buches

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.

Wie du dieses Buch lesen solltest

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!

1

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!