Stadler | Mein LEGO®-EV3-Buch | E-Book | sack.de
E-Book

E-Book, Deutsch, 290 Seiten

Reihe: makers DO IT

Stadler Mein LEGO®-EV3-Buch

Eigene Roboter bauen und programmieren mit LEGO® MINDSTORMS®
1. Auflage 2016
ISBN: 978-3-446-44900-8
Verlag: Hanser, Carl
Format: EPUB
Kopierschutz: 6 - ePub Watermark

Eigene Roboter bauen und programmieren mit LEGO® MINDSTORMS®

E-Book, Deutsch, 290 Seiten

Reihe: makers DO IT

ISBN: 978-3-446-44900-8
Verlag: Hanser, Carl
Format: EPUB
Kopierschutz: 6 - ePub Watermark



Eigene Roboter bauen und programmieren mit LEGO® MINDSTORMS® EV3
Du bist im Besitz der LEGO® MINDSTORMS® EV3 Home bzw. Education Edition, hast EV3RSTORM & Co fertig aufgebaut im Zimmer stehen und willst nun deinen eigenen Roboter bauen und programmieren? Einen, der mehr als lahme Standardtricks auf dem Kasten hat? In diesem Buch erfährst du alles, was du wissen musst, damit dein Roboter genau das tut, was du dir wünschst.
In mehr als 40 Übungen lernst du, welche mechanischen und elektronischen Zusammenhänge du kennen musst, um deinen digitalen Freund von Grund auf zu verstehen und nach deinen Vorstellungen zu steuern - wie ein richtiger Entwickler!
- Erstelle mit dem LEGO® Digital Designer einen Bauplan für deinen Roboter und teile diesen mit der Community
- Erlerne grundlegende Programmtechniken mit der EV3-Software und lass deinen Roboter sprechen, Hindernisparcours fahren u.v.m.
- Lerne die Funktionen sämtlicher Programmierblöcke kennen: von Aktion & Ablauf-Regelung über Sensor & Daten-Operation bis zum Erweiterten Modus
- Hole mit den LEGO®-Sensoren alles aus deinem Roboter raus, was möglich ist
- Hole dir coole Anregungen für die Steuerung von EV3ERSTORM, Wall-E, R2D2 & Co.
Wenn du keine Lust mehr auf Nachbauen und -programmieren hast und darauf brennst, deine eigenen Ideen zu verwirklichen, dann liefert dir dieses Buch alle wichtigen Skills, um deinen Roboter wie ein echter Profi zu steuern.
Hinweis: Auch für LEGO® MINDSTORMS® NXT geeignet
Stadler Mein LEGO®-EV3-Buch jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhaltsverzeichnis;6
2;1 Einführung in die Roboterwelt und in LEGO® MINDSTORMS® EV3;14
2.1;1.1 LEGO® MINDSTORMS® EV3-Hardware – EV3-Stein, Motoren, Sensoren & Co.;16
2.1.1;1.1.1 Handelsübliche LEGO® MINDSTORMS®-Systeme (Home Edition und Education-Version);20
2.1.2;1.1.2 Der Eco-Bot – ein Bauplan für den Basisroboter dieses Buches;22
2.1.3;1.1.3 Eigene Baupläne mit dem LEGO® Digital Designer erstellen;32
2.2;1.2 LEGO® MINDSTORMS® EV3-Software – die Programmierumgebung;34
2.2.1;1.2.1 LEGO® MINDSTORMS® EV3-Software (Home Edition);34
2.2.2;1.2.2 LEGO® MINDSTORMS® Education EV3-Software;41
3;2 Aufgaben zur Rubrik Aktion – die Aktoren im Einsatz;48
3.1;2.1 Mittlerer Motor – die Steuerung über einen oder mehrere Programmblöcke;50
3.2;2.2 Großer Motor – der Einsatz verschiedener Modi für eine Umdrehung;57
3.3;2.3 Standardsteuerung (Bewegungslenkung) – einen Meter geradeaus fahren;61
3.4;2.4 Hebelsteuerung – eine halbe Umdrehung um die eigene Achse;65
3.5;2.5 Anzeige – die Ausgabe von Schrift, Emoticons und Bildern;67
3.6;2.6 Klang – die Sprachausgabe und Tonwiedergabe;73
4;3 Aufgaben zur Rubrik Ablauf-Regelung – die sensorgesteuerte Verarbeitung;80
4.1;3.1 Warten auf die Stein-Tasten – die Blickrichtung eines Augenpaares auf der Anzeige steuern;81
4.2;3.2 Warten auf den Farbsensor – mit Lichtsignalen und akustischen Ausgaben auf farbige Gegenstände reagieren;84
4.3;3.3 Eine Schleife für den Kreiselsensor – eine sensorgesteuerte Umdrehung um die eigene Achse;88
4.4;3.4 Eine Schleife für den Drehsensor – das Durchdrehen der Räder verhindern (Traktionskontrolle);93
4.5;3.5 Mit dem Berührungssensor schalten – den Roboter zurückweichen und entgegenkommen lassen;96
4.6;3.6 Mit dem Infrarotsensor schalten – den Roboter auf Hindernisse reagieren lassen;100
4.7;3.7 Eine Schleife für die Schleife – das Bremslicht über den Berührungssensor steuern;104
4.8;3.8 Eine Schleife für den Mehrfach-Schalter – den Roboter einer Linie folgen lassen (Farbsensor);105
4.9;3.9 Entscheidungen für eine Schleife – den Roboter eine Wand erkennen lassen (Ultraschall-/Infrarotsensor);109
4.10;3.10 Ein Schleifen-Interrupt – den Roboter im Kreis fahren und stoppen lassen (Berührungssensor);114
5;4 Aufgaben zur Rubrik Sensor – anspruchsvolle Arbeiten mit Sensor-Signalen;116
5.1;4.1 Messen und Vergleichen im Ziffernblock – die Nummern der Stein-Tasten über numerische Datenleitungen anzeigen;118
5.2;4.2 Fußgängerampel bei Tag und Nacht – den Roboter auf Farbe, Lichtstärke und Umgebungslicht reagieren lassen (Farbsensor);122
5.3;4.3 Messungen am rotierenden Objekt – Kreiselsensor und Motorumdrehung im Vergleich;129
5.4;4.4 Signale aus dem Raum – Infrarotsensor und -fernbedienung im Einsatz;136
5.5;4.5 Der Roboter als kreisende Dampflok – numerische und logische Datenleitungen für eine Motorumdrehung;142
5.6;4.6 Der Roboter als Thermometer (Temperatursensor) – numerische und Textdatenleitungen für eine Temperaturmessung;145
5.7;4.7 Ein kontinuierlich beschleunigender Renn-Roboter – der Zeitgeber gibt den Takt an;149
5.8;4.8 Ein Roboter mit Signallampe (Berührungssensor) – numerische und logische Datenleitungen für eine attraktive Lampensteuerung;153
5.9;4.9 Intelligente Steuerung eines Rasenmäher- oder Staubsaugerroboters (Ultraschall-/Infrarotsensor) – Schleifen-Index und Datenleitungen;158
5.10;4.10 Der LEGO®-Energiemesser (Energiezähler) im Einsatz – die elektrische Leistung einer Solarzelle und eines Windrades vergleichen;163
5.11;4.11 Ein Roboter zur Messung des Lärmpegels – der NXT-Geräuschsensor steuert zwei Schleifen;167
6;5 Aufgaben zur Rubrik Daten-Operation – anspruchsvolle Verarbeitung von Eingaben (Sensor-Signalen);174
6.1;5.1 Zwischenspeichern von Eingaben in Variablen (Eingabe-Datenpuffer) – mit akustischen Signalen auf die Betätigung der Stein-Tasten reagieren;175
6.2;5.2 Konstante Ausgaben – ein Begrüßungsprogramm auf dem Display;180
6.3;5.3 Variable Arrays – ein Roboter zur Erkennung von Rot-Grün-Blindheit (Berührungssensor);182
6.4;5.4 Logische Verknüpfungen von Sensorsignalen – eine robotergesteuerte Personenschleuse (Berührungssensor);188
6.5;5.5 Motorisierte Mathematik – ein Roboter mit Autopilot, Tachometer und Kilometerzähler;195
6.6;5.6 Rundungsfehler erkennen – den Kreisumfang eines um seine Achse kreisenden Roboters berechnen;202
6.7;5.7 Kontinuierlicher Vergleich zwischen Ist und Soll – einen Roboter zurück in seine Anfangsposition bewegen;206
6.8;5.8 Toleranzen und Bereiche – den Roboter mit Farbsignalen auf Hindernisse reagieren lassen;211
6.9;5.9 Textausgabe zweier Größen – ein Ortungssystem für die Infrarot-Fernbedienung;218
6.10;5.10 Mit Zufall zum Gewinn – ein Programm für das Würfelspiel Mäxchen schreiben;224
7;6 Aufgaben zur Rubrik Erweiterter Modus – Messwerterfassung, Schnittstellenapplikation & Co.;228
7.1;6.1 Messdaten extern verwalten – Dateizugriff auf Messwerte;230
7.2;6.2 Exkurs: Messwerterfassungssysteme;239
7.2.1;6.2.1 Grundlagen und Wissenswertes;239
7.2.2;6.2.2 Messung des Drehwinkels mit angeschlossenem EV3 Stein (inkl. Datenverwaltung);242
7.2.3;6.2.3 Messung des Drehwinkels mit nicht angeschlossenem EV3 Stein (inkl. Datenauswertung);245
7.2.4;6.2.4 Messungen aus einem Programm heraus;250
7.3;6.3 Kommunikation von EV3-Steinen über Bluetooth-Schnittstelle oder USB-Leitung;255
7.4;6.4 Der Inbetriebhalte-Block – Messen der Farbe und Erscheinungsdauer von Gegenständen (inkl. Messwertausgabe);266
7.5;6.5 Auslesen von verarbeiteten und unverarbeiteten Sensorwerten beliebiger kommerzieller Sensoren;268
7.6;6.6 Ungeregelte Motorumkehr – der Einsatz von Manipulatoren in intelligenten Messsystemen;272
7.7;6.7 Schlussgedanken – ein Kommentar zum Programm beenden;279
8;7 Anhang;280
8.1;7.1 Ohne PC programmieren und experimentieren;280
8.1.1;7.1.1 Programme ohne PC erstellen und laufen lassen;280
8.1.2;7.1.2 Experimente ohne PC durchführen;281
8.2;7.2 Für Lehrer: Wie mit diesem Buch gearbeitet werden sollte;283
8.2.1;7.2.1 Schülerorientierte Lernkonzepte – ein Überblick;283
8.2.2;7.2.2 Lernkonzept und Aufbau dieses Buches;288
9;Stichwortverzeichnis;290


2 Aufgaben zur Rubrik Aktion ? die Aktoren im Einsatz

In der Informatik und der Robotik ist das EVA-Prinzip von grundlegender Bedeutung. Informationen werden über die Tastatur oder die Maus in den Computer eingegeben, im Prozessor des Rechners verarbeitet und über den Bildschirm und den Lautsprecher ausgegeben.

Auch der EV3-Stein ist ein kombiniertes Eingabe-, Verarbeitungs-, Ausgabe-Gerät. So können beispielsweise über die Stein-Tasten Eingaben getätigt werden, die im EV3-Stein verarbeitet und über das Display (die Anzeige), den Lautsprecher (den Klang) oder die Stein-Statusleuchte wieder ausgegeben werden. Zudem stehen Eingabe- und Ausgabe-Ports zur Verfügung, an welche externe Ein- und Ausgabegeräte angeschlossen werden können. Bei den Eingabe-Ports handelt es sich um die Ports 1 bis 4, bei den Ausgabe-Ports um die Ports A bis D. Auch über einen USB-Port und einen SD-Kartenleser können Ein- und Ausgaben getätigt werden.

An die Ausgabe-Ports des EV3-Steins wird üblicherweise die im Standardumfang des EV3-Kastens enthaltene Hardware, der mittlere und der große Motor, angeschlossen.

In der LEGO® MINDSTORMS® EV3-Software findest du die Arbeitsoberfläche für das grafische Programmieren unter Hauptmenü / Datei / Neues Projekt (?/Programm). In der LEGO® MINDSTORMS® Education EV3-Software kannst du ein neues Projekt zudem über die Lobby öffnen, wenn du dem Pfad Lobby / Datei / Neues Projekt / Programm folgst und abschließend Öffnen klickst.

Auf der Arbeitsoberfläche findest du nun in der Rubrik Aktion die Programmierblöcke mit Modi und Parametern für die Ausgaben (grüner Reiter im Menü). Um die Rubrik Aktion soll es in diesem Kapitel gehen.

Die Rubrik Aktion besteht aus folgenden Programmierblöcken (von links nach rechts in der folgenden Abbildung dargestellt):

  • Mittlerer Motor

  • Großer Motor

  • Standardsteuerung (Bewegungslenkung)

  • Hebellenkung

  • Anzeige

  • Klang

  • Stein-Statusleuchte

Hinweis

Um ein Programm starten und die zeitliche Abfolge des Informationsflusses in einem Programm steuern zu können, sollen auch Eingaben über die Blöcke Start und Warten aus der Rubrik Ablauf-Regelung (oranger Reiter im Menü) verwendet werden. Dazu musst du diese Blöcke, wie auch alle anderen Blöcke, mit der linken Maustaste aus dem Menü auf die Arbeitsoberfläche ziehen.

Durch Klicken auf den grünen Pfeil des Start-Blocks wird dann die ihm folgende Programmierblock-Sequenz abgearbeitet und ein Roboter, der über USB-Kabel (oder drahtlos über Bluetooth bzw. WLAN) am Computer angeschlossen ist, wird in Aktion versetzt. Hierfür wird das Programm zuerst kompiliert, dann auf den EV3-Stein heruntergeladen und letztendlich ausgeführt.

Enthält ein Programm mehr als eine Programmierblock-Sequenz, dann sind die entsprechenden Start-Blöcke separat zu starten. Alternativ kann man Programme nach einem einzigen Start-Block auch in Parallelreihen verzweigen lassen. Nähere Informationen hierzu findest du in der LEGO® MINDSTORMS® EV3-Software unter Hauptmenü / Hilfe / EV3-Hilfe einblenden / Allgemein / Programme oder in Abschnitt 3.10.

Wird der Warten-Block in eine Programmierblock-Sequenz eingebunden, dann ist im Modus Zeit der Eingabe-Parameter Sekunden auf den entsprechenden Zahlenwert zu setzen. Ist der Warten- Block während der Abarbeitung der Programmierblock-Sequenz aktiv, blinkt er und setzt das Programm erst dann wieder fort, wenn die zu wartenden Sekunden verstrichen sind.

2.1 Mittlerer Motor ? die Steuerung über einen oder mehrere Programmblöcke

Erfassen der Aufgabenstellung

Ist es möglich, die Aktion eines mittleren Motors (Anschalten, Drehen, Ausschalten) sowohl mit einem Programm, bestehend aus drei Blöcken, als auch mit nur einem einzigen Programmblock vollständig zu beschreiben?

Wie können Umfang und Geschwindigkeit einer Rotation beeinflusst werden?

Lassen sich ganz allgemein mehrere Programmblöcke zu einem einzigen Programmblock ? einem Unterprogramm, einer Prozedur oder hier einem Eigenen Block ? zusammenstellen?

Erschließen des Themas

Baue einen einfachen Roboter, indem du den mittleren Motor über ein Verbindungskabel am EV3-Stein montierst. Stelle die USB-Verbindung zwischen EV3-Stein und Rechner sowie die Stromversorgung des EV3-Steins über das Netzteil sicher.

  1. Schreibe ein Programm, mit dem der mittlere Motor einerseits unter Verwendung von drei Blöcken (zwei Blöcke aus der Rubrik Aktion und ein Block aus der Rubrik Ablauf-Regelung) mit 50?% der Maximalgeschwindigkeit für 2?s läuft und dann gestoppt wird und andererseits mit nur einem Block (aus der Rubrik Aktion) dieselbe Funktion erbringt.

  2. Wie kann man den mittleren Motor mit langsamer Geschwindigkeit (25) eine 180?°-Drehung und dann mit schneller Geschwindigkeit (75) eine halbe Umdrehung in entgegengesetzter Richtung durchführen lassen?

  3. Wie könnte man nun das erstellte Programm, welches aus drei Blöcken besteht, auf ganz allgemeine Weise zu einem einzigen Eigenen Block (= einem Unterprogramm) zusammenfassen, der analog zu dem aus drei Blöcken bestehenden Programm verwendet werden kann?

Stoffsammlung

Hardware: Verbinde den mittleren Motor über eine Verbindungsleitung mit dem Port A des EV3-Steins, da im entsprechenden Software-Block standardgemäß dieser Port voreingestellt ist. Nun musst du den EV3-Stein noch über eine USB-Leitung mit dem Computer verbinden.

Photo courtesy of the LEGO Group. ©2015 The LEGO Group

Software: Wähle Hauptmenü / Datei / Neues Projekt in der LEGO® MINDSTORMS® EV3-Software aus, um ein neues Programm zu öffnen. In der Rubrik Aktion findest du den Block für den mittleren Motor.

Mit der Anschlussauswahl kann der Port gewählt werden, über welchen der mittlere Motor mit der Software kommunizieren soll; üblicherweise ist dies Port A (siehe auch Hauptmenü / Hilfe / EV3-Hilfe einblenden / Allgemein / Anschlussauswahl). Über die Modus-Auswahl kann der Modus festgelegt werden, in welchem der mittlere Motor betrieben werden soll. Entsprechend des gewählten Modus kann ein Satz an Eingaben getätigt werden.

Modus Funktion

An


Im Modus An wird der Motor angeschaltet. Über den einzigen Eingabe-Parameter Leistung (-100, …, 50, …, 100) können die Drehgeschwindigkeit und die Drehrichtung (+/-) eingestellt werden. Anschließend wird sofort der nächste Block im Programm abgearbeitet. Der Motor läuft, bis er von einem späteren Block gestoppt wird, bis er anderweitig angesteuert wird oder bis das Programm beendet wird.

Aus


Im Modus Aus wird ein bereits angeschalteter Motor wieder ausgeschaltet. Wenn der einzige Parameter Am Ende bremsen auf Wahr gesetzt ist, wird der Motor sofort gestoppt. Ist er auf Falsch gesetzt, dann wird lediglich die Stromversorgung des Motors abgeschaltet und der Motor läuft aus.

An für n Sekunden


Im Modus An für n Sekunden wird der Motor für die im Parameter Sekunden eingestellte Dauer in Sekunden (Kommazahlen für Sekundenbruchteile) angeschaltet. Die Parameter Leistung und Am Ende bremsen werden wie bereits beschrieben verwendet.

An für n Umdrehungen


Im Modus An für n Umdrehungen wird der Motor für die im Parameter Umdrehungen eingestellte Anzahl an Umdrehungen (Kommazahlen für Bruchteile davon) eingeschaltet. Die Parameter Leistung und Am Ende bremsen werden wie bereits beschrieben verwendet.

An für n Grad


Im Modus An für n Grad wird der Motor für die im Parameter Gradzahl eingestellte Gradzahl (Kommazahlen für Bruchteile von Winkelgraden) angeschaltet. Die Parameter Leistung und Am Ende bremsen werden wie bereits beschrieben verwendet.

Rotationsbewegungen lassen sich über die Modi An für n Sekunden, An für n Umdrehungen und An für n Grad einstellen, wobei die Rotationsbewegung im Modus An für n Grad am exaktesten definiert werden kann.

Das mit einer Motorumdrehung zurückgelegte Bogenmaß ist in den Modi An für n Umdrehungen und An für n Grad über die einzugebenden Parameter bereits vollständig festgelegt (1 Umdrehung = 360?° = 2). Im Modus An für n Sekunden ist hierfür noch die Geschwindigkeit (Parameter Leistung) zu berücksichtigen.

In Abhängigkeit vom Vorzeichen der eingestellten Leistung ist die Drehrichtung des mittleren Motors wie in der folgenden Abbildung festgelegt.

Lösungshinweis

Eine Lösung wäre, nach dem Start-Block (Rubrik Ablauf-Regelung) den Block Mittlerer Motor (Rubrik Aktion) über das Modul An einzuschalten und seine Geschwindigkeit über den Parameter...


Dr. Andreas Stadler ist Physiker und hat in den letzten Jahren das LEGO-Robotik-Labor am Schülerforschungszentrum Berchtesgadener Land, eine Initiative der TU München (School of Education), betreut.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.