LEGO® MINDSTORMS® programmieren
eBook - ePub

LEGO® MINDSTORMS® programmieren

Robotikprogrammierung mit grafischen Blöcken, Basic und Java für LEGO EV3

  1. 278 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

LEGO® MINDSTORMS® programmieren

Robotikprogrammierung mit grafischen Blöcken, Basic und Java für LEGO EV3

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Mit LEGO Mindstorms EV3 programmieren lernen!- Programmieren lernen mit drei Sprachen: MINDSTORMS-Blöcken, Basic und Java- Teste deinen Programmiercode mit einem selbst gebautem Robotermodell!- Mit Schülerinnen und Schülern in AG-Kursen entwickelt.Roboterkonstruktion ist faszinierend, doch noch spannender ist es, die eigenen Kreationen mit selbst programmiertem Code zu steuern. Mit "LEGO MINDSTORMS programmieren" von Alexander Schulze lernst du Programmierung in mehreren Varianten: - Mit Labview von LEGO Mindstorms: Die visuelle Programmiersprache bietet dir einen einfachen Einstieg in den Aufbau von Computerprogrammen.- In Basic: Der einfache Zugang zur textbasierten Programmierung unter Einsatz von Microsoft Small Basic.- In Java: Unter Einsatz von leJOS gelingt auch der Einstieg in die objektorientierte Programmierung, mit der du auch komplexe Ideen umsetzen kannst.Konzentriere dich entweder auf eine der Programmiersprachen oder erkunde ihre Unterschiede und lerne sie so besser zu verstehen. Dieses Konzept hat Autor Alexander Schulze bei der gemeinsamen Arbeit mit Schülern entwickelt und getestet."LEGO MINDSTORMS programmieren" enthält darüber hinaus eine Anleitung zu einem neuen, einfachen Robotermodell, das ideal ist für deine Experimente mit den Programmierungen im Buch. Der Bot kann vollständig mit der LEGO EV3 MINDSTORMS HomeEdition 31313 gebaut werden.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu LEGO® MINDSTORMS® programmieren von Alexander Schulze im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Programming in Java. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2020
ISBN
9783960889304

1Einleitung

Im Rahmen einer Robotik-AG an einer Grundschule sowie am Gymnasium und der Teilnahme an mehreren Roboter-Wettbewerben entstand die Idee für ein LEGO-Mindstorms-Buch, das sich an einer konkreten didaktischen Vorbereitung orientiert und neben den notwendigen Robotermodellen und Programmbeispielen auch unterschiedliche Programmiersprachen behandelt. Damit wird der Grundstein für eine professionelle Anwendungsentwicklung gelegt.
Die grafische Programmierung der LEGO-EV3-Software ist für Einsteiger ein perfektes Mittel, um die klassischen Programmierkonzepte zu erlernen und schnell Erfolge zu erzielen. Dies ist nicht zuletzt der Grund, warum LEGO Mindstorms vor allem an Bildungseinrichtungen ein großer Erfolg ist. Das gleiche Argument trifft auch auf Snatch-basierte Programmierumgebungen zu, die sich im Gegensatz zur EV3-Software (basierend auf LabVIEW) eher an Flussdiagrammen orientieren. RobertaLab ist dabei ein bekannter Vertreter für die grafische Programmierung, die auch im Browser eine simulierte Welt anbietet.
Die grafische Programmierung hat jedoch Limitierungen, sobald komplexere Lösungen umzusetzen sind. In der kommerziellen Softwareentwicklung hat sich die grafische Programmierung nie durchgesetzt, auch wenn dort Ansätze vorhanden waren (zum Beispiel mit Visual Age for Java). Somit kommt in der kommerziellen Softwareentwicklung textbasierte Programmierung mit unterschiedlichen Programmiersprachen zum Einsatz. Dieser Tatsache wird in diesem Buch Rechnung getragen, indem nicht eine Konzentration auf die grafische Programmierung erfolgt, sondern alle Übungen und Beispiele auch in Basic unter Einsatz von Microsoft Small Basic und Java unter Einsatz von leJOS gezeigt werden. Damit ist es möglich, sich entweder auf eine Programmiersprache zu konzentrieren oder aber die Unterschiede der Sprachen zu bearbeiten und darzustellen. Bei Konzentration auf eine Sprache ist es nicht notwendig, die Unterkapitel mit den Beispielumsetzungen und Lösungen der anderen Sprachen zu lesen. Im Hauptkapitel werden immer die generellen Aspekte erläutert und für jede Programmiersprache anschließend spezifisch vertieft.
Material zum Buch (Modelle, Anleitungen, Quellcode in den verschiedenen Programmiersprachen) kann über die Website des Verlags kostenfrei bezogen werden:
dpunkt.de/programmev3
Dieses Buch nutzt ein einfaches Robotermodell, das vollständig mit der LEGO EV3 Mindstorms Home Edition gebaut werden kann und für das Erlernen der Programmierelemente alle erforderlichen Komponenten berücksichtigt. Das Buch enthält keine komplexen oder ausgeklügelten Robotermodelle, wofür es sehr gute alternative Bücher gibt, die sich auch mit der Konstruktion von Robotern, Getrieben oder Ähnlichem beschäftigen.
Neben den verschiedenen Programmierelementen in den ersten Kapiteln wird in einem der späteren Kapitel die Umsetzung größerer Projekte thematisiert und darunter ein Spiel-Clone des bekannten Spiels Pong für den EV3 umgesetzt sowie ein Raumscanner, wie ihn Staubsaugerroboter nutzen, demonstriert. In diesen Kapiteln werden somit die Erkenntnisse der vorherigen Kapitel zusammengefasst genutzt.
Im Rahmen dieses Buchs werden die Umgebungen auf einem Windows-10-System installiert und konfiguriert. Sowohl leJOS als auch die LEGO-EV3-Software sind ebenso für andere Plattformen wie zum Beispiel macOS verfügbar. Auf die Unterschiede wird jedoch nicht explizit eingegangen. Microsoft Small Basic ist nur für Windows verfügbar.
Das Buch verwendet an verschiedenen Stellen der leichteren Lesbarkeit halber die maskuline Form. Dies impliziert jedoch keine Benachteiligung anderer Geschlechter, sondern ist im Sinne der sprachlichen Vereinfachung als geschlechtsneutral zu verstehen.

2Einführung in die Basiskomponenten

2.1Einführung LEGO MINDSTORMS

LEGO MINDSTORMS hat mittlerweile eine sehr lange Historie und wurde von LEGO 1998 auf den Markt gebracht. Es war ursprünglich als Marketingkanal für LEGO zur Kundenbindung angedacht, um eine »lebenslange Bindung« zu LEGO zu erzeugen und nicht nur Kinder anzusprechen. Mit LEGO Mindstorms hat LEGO eine programmierbare Plattform zur Steuerung von LEGO-Modellen geschaffen, die über Sensoren Werte einlesen, verarbeiten und über Motoren als Aktoren agieren kann.
Über mehrere Jahre erfolgte eine Evolution des Produkts, angefangen beim RCX 1998 über den NXT 2006 zum aktuellen Modell EV3 im Jahr 2013. Dabei kamen weitere Anschlüsse, die Unterstützung von USB, Bluetooth und WLAN sowie leistungsfähigere Prozessoren und Speicherkomponenten hinzu.
Vor allem im Bildungsbereich (Schulen, Universitäten) wird LEGO Mindstorms intensiv eingesetzt: in Robotik-Arbeitsgemeinschaften vieler Schulen, dem LEGO-Mindstorms-Labor im Deutschen Museum in München und der Fraunhofer-Initiative »Roberta – Lernen mit Robotern«1, um nur ein paar wenige Beispiele zu nennen.
LEGO liefert mit der Home Edition (31313) von EV3 verschiedene Motoren und Aktoren sowie Sensoren mit und bietet verschiedene weitere Komponenten zum Nachkauf an. Weiterhin existiert eine LEGO Mindstorms Education Edition (45544), die sich im Vergleich zur Home Edition durch eine Stapelbox sowie eine alternative Zusammenstellung von Sensoren (Ultraschall statt Infrarot, Kreiselsensor) sowie einen Akku auszeichnet.
Die folgende Tabelle gibt eine kurze Übersicht über die Unterschiede der verschiedenen Entwicklungsstufen von LEGO Mindstorms, angelehnt an die Darstellung in Wikipedia2.
image
Für die Programmierung stellt LEGO die LEGO-EV3-Software kostenfrei zur Verfügung. Für den Bildungsbereich (Education Edition) wird eine Fassung für Lehrer und Schüler angeboten, die um zusätzliche Beispiele sowie die Möglichkeit der zentralen Datenauswertung erweitert wurde.
Als Aktoren bezeichnet man Komponenten, über die eine Ausgabe oder Aktion erfolgen kann. Die folgenden sind dabei zu nennen, die alle in selbst erstellten Programmen genutzt werden können:
  • 5 Tasten auf dem Brick direkt nutzbar
  • LCD als Ausgabe für Text und Grafik
  • LEDs der Tasten ansteuerbar (rot/gelb/grün)
  • Lautsprecher zur Ausgabe von Tönen, Geräuschen und Musik
  • Großer Motor – Nutzung meist zur Fortbewegung
  • Mittlerer Motor – Nutzung meist für Roboterarmbewegungen
Sensoren liefern Werte für die weitere Verarbeitung und sind essenziell für einen Roboter, um mit der Umwelt zu interagieren. LEGO bietet derzeit für den EV3 folgende Sensoren an:
  • Taster
  • Licht-/Farbsensor
  • Infrarotsensor für Entfernungsmessung und Ortung
  • Ultraschallsensor für millimetergenaue Entfernungsmessung
  • Kreiselsensor (Gyroskop) für Drehwinkelbestimmung (2-D)
Für den NXT sind noch weitere Sensoren offiziell verfügbar:
  • Geräuschsensor (Messung in dB)
  • Temperatursensor
Als Besonderheit der LEGO-Motoren ist dabei zu erwähnen, dass die Motoren auch als Sensoren eingesetzt werden können, da sie als Schrittmotoren die Drehung in Grad auslesbar zur Verfügung stellen. Damit lassen sich interessante Anwendungsfälle erzeugen, die später in Kapitel 6.1 noch behandelt werden.
An einem EV3-Brick können bis zu 4 Motoren als Aktoren sowie 4 Sensoren angeschlossen werden. Dabei sind sowohl EV3- als auch NXT-Komponenten anschließbar.
Es gibt noch weitere Sensoren von Fremdanbietern, wobei die meisten auch direkt Programmierblöcke für die LEGO-EV3-Software mitliefern. In anderen Programmiersprachen sind hier manchmal eigene Implementierungen der Schnittstellen zu erstellen.
Bekannte Hersteller sind HumaRobotics, Mindsensors, Dexter Industries, HiTechnic. Dabei ist zu beachten, dass diese Sensoren nicht bei allen Robotik-Wettbewerben zugelassen sind.
Des Weiteren sind auch Multiplexer für Sensor-Ports verfügbar, sodass mehr als 4 Sensoren verwendet werden können.
Folgende Auflistung stellt lediglich einen Auszug der verfügbaren Sensoren von Drittanbietern dar:
  • Kamera
  • Drucksensor
  • Kompass-/Magnetfeldsensor
  • Beschleunigungssensor
  • 3-D-Lagesensor (Gyroskop)
  • Playstation-2-Controller
  • RFID
  • Linienverfolgungssensor
  • Licht-/Farbsensoren
  • Temperatursensor
Zu guter Letzt sind auch Adapter für LEGO PowerFunctions verfügbar, um diese Komponenten an einem EV3 zu betreiben.
Der EV3-Brick kommuniziert mit seinen Aktoren und Sensoren über das I2C-Protokoll. Somit besteht auch die Möglichkeit, mit etwas Lötarbeit Fremdsensoren anzubinden.
Der EV3-Brick bietet erweiterte Kommunikationsmöglichkeiten, die in unterschiedlichen Szenarien zum Einsatz kommen können. Es können beispielsweise über den USB-Port mehrere EV3-Bricks zusammengeschlossen werden, sodass damit in einem Verbund n × 4 Motoren und n × 4 Sensoren angesprochen werden können. Alternativ dazu können mehrere EV3-Bricks untereinander über Bluetooth kommunizieren. Dieses etwas komplexere Thema wird in Kapitel 5.2 aufgegriffen.

2.2Einführung LEGO Digital Designer

Der LEGO Digital Designer ist ein von LEGO frei verfügbares Softwarepaket zum virtuellen Bauen von LEGO-Modellen. Dafür steht eine große Anzahl an LEGO-Bauteilen zur Verfügung, die in einer dreidimensionalen Bauarena zu Modellen verarbeitet werden können. In der Bauarena kann das Modell in allen drei Achsen gedreht und gezoomt werden, sodass die bestmögliche Bauposition gefunden werden kann. Neben klassischen Bauteilen stehen auch die LEGO-Technic- und die LEGO-Mindstorms-Teile zur Verfügung, sodass auch Technikmodelle erstellt werden können. Die Bauelemente können auf bestimmte LEGO-Bausätze reduziert werden, sodass zum Beispiel auch nur die Bauelemente des EV3-B...

Inhaltsverzeichnis

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Danksagung
  6. Inhaltsverzeichnis
  7. 1 Einleitung
  8. 2 Einführung in die Basiskomponenten
  9. 3 Vorbereitung der Umgebungen, Installation der Basissoftware und Grundeinführung
  10. 4 Programmierung des EV3
  11. 5 Weiterführende Themen der Programmierung
  12. 6 Umsetzung größerer Projekte
  13. 7 Fazit und Ausblick
  14. 8 Weiterführende Informationen zum EV3
  15. 9 Anhang
  16. Fußnoten