LEGO Mindstorms ist der Name einer Produktserie der LEGO Company, die einen programmierbaren Legostein (RCX genannt (Robotic Command Explorer)), sowie Elektromotoren, Sensoren und LEGO Technik Teile (Zahnräder, Achsen, Lochbalken, Pneumatik Teile usw.) enthält, um Roboter und andere autonome und interaktive Systeme zu konstruieren und programmieren. Obwohl es ein technisches Spielzeug ist, kann es auch (wie von LEGO und MIT ursprünglich auch geplant) als Lehrmittel eingesetzt werden; es ist ein gutes Beispiel für ein Embedded System mit computergesteuerten elektromechanischen Teilen. Beinahe alle Arten von Embedded Systemen, vom Aufzug bis hin zu Industrierobotern, können mit Mindstorms nachgebaut werden. Eine Ergänzung zu Mindstorms stellen die LEGO Spybotics dar, die einen programmierbaren Legostein mit zwei Motoren und Sensoren besitzen. RCX_1_0.jpg | RCX2.0.JPG Der programmierbare Legostein RCX besitzt einen Renesas H8/300 Microcontroller als CPU. Er wird programmiert, indem ein in einer der diversen Programmiersprachen geschriebenes Programm vom PC zur CPU des RCX mit Hilfe einer IR Schnittstelle herunter geladen wird. Nachdem das Programm herunter geladen und gestartet worden ist, kann der mit einem RCX gebauten Mindstormsroboter völlig autonom handeln und auf äußere und innere Ereignisse reagieren, entsprechend der Programmieranweisungen. Des Weiteren können zwei oder mehr RCX miteinander über die IR Schnittstelle kommunizieren, was Wettbewerbe und Kooperationen ermöglicht. Der RCX besitzt drei Motorausgänge sowie drei Sensoreingänge. Die Leistungssteuerung der Motorausgänge erfolgt über Pulsweitenmodulation.
task main () { On(OUT_A); Wait(200); Off(OUT_A); }
Jedes Programm dieser Programmiersprache sollte mit task main beginnen. On(OUT_A); bedeutet, dass sich der Motor A dreht. Eine Anweisung wird mit einem Semikolon beendet. Steht eine Wait–Anweisung, bedeutet das lediglich, dass das Programm für die Zeit in den Klammern wartet und danach erst fortfährt. In diesem Beispiel dreht sich der Motor A für 2 Sekunden und wird dann mit dem Befehl Off(OUT_A); angehalten. Das Programm endet und beginnt mit den geschweiften Klammern.
Für viele Bastler, die eigene Sensoren entwickeln wollen, ist es interessant, den vom RCX ausgegebenen Sensorwert (0..1023) interpretieren zu können. Dieser Wert ergibt sich aus der am Sensoreingang anliegenden Spannung. Ohne Sensor beträgt diese 5 V, fällt aber ab, sobald ein Sensor mit einem endlichen Widerstand angeschlossen wird. Die Anzeige des RCX lässt sich wie folgt aus der anliegenden Spannung U berechnen:
Die anliegende Spannung U wiederum kann z. B. aus dem angeschlossenen Widerstand R, oder der Stromdichte J an den Sensoren berechnet werden. Der maximale elektrische Strom beträgt 0,5 mA (Intern ist dem Sensor ein 10 kΩ Widerstand vorgeschaltet).
Die Sensoren können in einem aktiven (Lichtsensor, Drehsensor) und einem passiven Modus (Schalter, Temperatursensor) betrieben werden. Im passiven Modus wird wie oben beschrieben nur der Spannungsabfall an den Sensoreingängen gemessen. Im aktiven Modus liegt für je 3 ms die Batteriespannung am Sensoreingang an, um den Sensor mit Strom zu versorgen. Für 0,1 ms wird dann in den passiven Modus geschaltet, um den Sensorwert zu erfassen. In dieser Zeit muss sich der aktive Sensor durch eine eigene Stromquelle (Kondensator) versorgen.
Das LEGO Mindstorms NXT-Set enthält:
Lego Mindstorms | Lego Mindstorms | Lego Mindstorms | Lego Mindstorms | LEGO Mindstorms
This article is licensed under the GNU Free Documentation License.
It uses material from the
"LEGO Mindstorms".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world