Wir nutzen Cookies, um das allgemeine Benutzerelebnis zu verbessern. Mit der Nutzung unseres Wikis stimmst du der Nutzung von Cookies zu.

Enchanting (Scratch Modifikation)

Das offizielle Logo von Enchanting

Enchanting ist eine Scratch Modifikation welche das einfache Programmieren von LEGO Mindstorms NXT RoboternWikipedia.jpg ermöglicht. Es basiert auf Scratch 1.4 und BYOB. Enchanting ist als Version für Windows, Mac OS X und Linux verfügbar.

Installation

  1. Lade Enchanting und den NXT Fantom Driver für dein System unter enchanting.robotclub.ab.ca herunter
  2. Vor der Installation von enchanting muss LEGO's Fantom Driver for the NXT installiert werden
  3. Installiere danach Enchanting

Die Oberfläche von Enchanting ähnelt grafisch sehr jener von Scratch 1.4 und BYOB. Jedoch gibt es viele zusätzliche Befehle zur Ansteuerung von NXT-Motoren, dem Abfragen der NXT-Knöpfe, dem Auslesen der Batteriespannung, etc.

Oberfläche von Enchanting

Technisches

Um mit dem NXT zu kommunizieren, muss der LEGO's Fantom Driver for the NXT installiert werden.

Um Projekte auszuführen, kompiliert Enchanting es in eine Java-Datei für das leJOS-Environment. leJOS ist eine kompakte Java Virtual Machine welche Java-Programme auf dem LEGO Mindstorms RCX brick und dem LEGO Mindstorms NXT brick ausführen kann. Eine Beta-Version für den Lego Mindstorms EV3 wurde 2015 veröffentlicht, diese wird von Enchanting jedoch noch nicht unterstützt.

Vor dem Download des ersten Programms muss die Firmware des LEGO Mindstorms Brick mit leJOS überschrieben ("geflasht") werden. Dies geschieht durch Anwählen des Menüpunkts Datei / Flash Firmware. Der NXT Brick ist für ein mehrfaches Überschreiben der Firmware ausgerichtet, dennoch besteht ein kleines Risiko bei dieser Operation. Enchanting gibt vor dem Flashen einen entsprechenden Warnhinweis. Die originale Firmware kann jederzeit mit der Update-Funktion der LEGO Mindstorms NXT-Software wiederhergestellt werden.

Falls der NXT nach dem Flashen nicht startet und nur ein wiederholtes Klicken von sich gibt, ist beim Flashen etwas schief gegangen. In diesem Fall muss das Flashen wiederholt werden. Oft ist dazu aber der Treiber für den NXT manuell anzugeben. Die Videoanleitung zu ["Clicking Brick" Syndrome (SOLVED)] gibt die notwendigen Schritte detailliert wieder.

Verwenden von Enchanting

Konfiguration der Sensoren und Motoren

Sensoren festlegen

Um die Befehlsblöcke zum Ansprechen der am NXT angebauten Hardware zu erhalten, muss die vorhandene Hardware zuvor in Enchanting bekannt gegegeben werden. Dazu gibt es eine Funktion "Sensoren festlegen" (in der Kategorie "Sensoren") und eine Funktion "Motoren festlegen" (in der Kategorie "Motoren").

Motoren festlegen

Für die Sensoren gibt es am NXT vier Anschlüsse welche mit 1 bis 4 beschriftet sind. Analog zu den Motorausgängen gibt es ein Konfirgurationsfenster bei dem vier Kopfblöcke für die vier Anschlüsse, darunter kann der jeweilige Sensortyp angegeben werden. Da es sehr viele verschiedene Sensortypen gibt, ist hier darauf zu achten, dass der richtige Typ ausgewählt wird. Motoren können am NXT an drei Buchsen angeschlossen werden, welche mit "A", "B" und "C" bezeichnet sind. Beim Festlegen der Motoren gibt es daher 3 Kopfblöcke für jeden Anschluss unter denen man die Art des angeschlossenen Motors angeben kann. Danach erscheinen neue Befehlsblöcke zum Ansteuern dieser Motoren in der Motorkategorie. In der aktuellen Version 0.2.4.3 von Enchanting gibt es zwei Motorarten, NXT und RCX (letzterer ist zur Unterstützung der ersten Generation von programmierbaren Lego-Bricks). Für ein aktuelles NXT-Kit ist hier der NXT-Typ auszuwählen. Alternativ zu den Motorblöcken können Motoren auch kombiniert als Fahrzeug angesprochen werden, dabei besteht ein Fahrzeug aus einer angetriebenen Achse bei der der Radabstand und der Raddurchmesser anzugeben ist. Dazu ist noch anzugeben, an welchen Anschlüssen (A,B,C) die Motoren angeschlossen sind. Nach der Konfiguration erhält man Befehle zum Fahren und Drehen des Roboters, welche die beiden Motoren entsprechend ansteuern.

Fahrzeugeinstellungen
Enchanting beim Starten eines Progamms. Die Übersetzung, das Hochladen und Starten dauert ca. 15s

Ausführen von Programmen

Enchanting-Programme werden auf dem NXT ausgeführt. Dazu muss der NXT über USB oder Bluetooth mit dem Computer verbunden sein und eingeschaltet sein. Die grüne Startflagge ist bei Enchanting rechts über der Bühne, welche ebenfalls rechts vom Skriptbereich angeordnet ist. Neben der grünen Startflagge gibt es auch einen blauen Pfeil nach oben (zum Hochladen von Programmen auf den NXT) und einen roten Knopf zum Stoppen eines Programms. Die Symbole sind nur aktiv wenn ein angeschlossener NXT erkannt wurde. Die grüne Flagge übersetzt das aktuelle Programm, lädt es auf den NXT hoch und startet das Programm dort. Dieser Vorgang dauert ca. 15 Sekunden. Ein Hochgelandenes Programm kann auch direkt am NXT über dessen Menü gestartet werden.

Fazit

Mit Enchanting gibt es ein ausgereiftes Framework zum Programmieren von Lego-NXT-Hardware mit Scratch. Das ist vor allem dann von Vorteil, wenn schon Scratch-Vorkenntnisse vorhanden sind. Ein Nachteil ist allerdings die Notwendigkeit, den NXT mit einer neuen Firmware zu flashen und die Verzögerung zwischen dem Drücken des Startknopfs und der Programmausführung. Dieser Vorgang funktioniert mit der originalen Lego-NXT-Software schneller, welche zwar ebenfalls eine grafische Darstellung hat, allerdings mit komplett anderer Syntax. Leider läuft Enchanting noch nicht auf dem aktuellen Mindstorm Kit EV3, sondern nur mit den Vorgängerversionen RCX und NXT, welche im Handel nur mehr sehr schwer erhältlich sind.

Videos

Introduction to Enchanting

Pong and Obstacle - Enchanting Demo

Siehe auch



Code zum Einbinden ins Forum:
[wiki=de:Enchanting (Scratch Modifikation)]Enchanting (Scratch Modifikation)[/wiki]