Do IT yourself! - LEGO® Mindstorms® R2-D2 mit Arduino-Steuerung

Inhaltsverzeichnis

Projektidee

Motor-Block

3D-gedruckte LEGO®-kompatible Bauteile

Material

Schaltplan

Do IT yourself!

R2-D2 in Aktion

Fazit

Projektidee: LEGO® Mindstorms® R2-D2 mit Arduino-Steuerung

Im Jahr 1999 veröffentlichte LEGO® das MINDSTORM® Set 9748 "Droid Developer Kit" mit dem Roboter R2-D2 aus den STAR WARS™ Science Fiction Filmen. Dieses Modell besaß einen intelligenten "Micro Scout" mit 7 fest eingebauten, einfach aufgebauten Programmen und einem eingebauten Sensor (Lichtsensor) sowie zwei eingebauten Aktoren (1 Motor, 1 Lautsprecher). Ein LCD-Display zeigte das gerade aktive Programm an, die Auswahl und das Starten der Programme sowie das Ein- und Ausschalten erfolgte über 3 Taster. Als Stromversorgung dienten 2 AA-Batterien (3V).

Der große Nachteil an diesem Modell war jedoch die Tatsache, dass es nahezu unmöglich war, eigene Programme zu ertellen und auf den "Micro Scout" zu laden, weil dies nur sehr umständlich mittels VLL-Schnittstelle möglich war (Beispiele hierzu finden sich auf der Website http://www.elecbrick.com/vll/). So entstand die Idee, den "Micro Scout" durch einen Arduino Mikrocontroller zu ersetzen, um unterschiedliche Sensoren und Aktoren anschließen zu können und den R2-D2 mit selbst erstellten Programmen zum "Leben" zu erwecken.

Nach oben

Motor-Block

Der "Micro Scout" musste durch ein LEGO® Technic Modell ersetzt werden, welches vorne und an den Seiten über Lochsteine an denselben Positionen verfügte wie der "Micro Scout". Zudem musste der integrierte Motor durch einen Standard-LEGO®-Motor ersetzt werden, der passgenau auf die vordere Antriebseinheit des R2-D2 gesteckt werden konnte. Als Motor mit einer passenden Übersetzung wurde ein LEGO® Elektric 9V Mini-Motor (71427c01) erfolgreich gestestet, der gut in das Technic Modell eingebaut werden konnte, das den "Micro Scout" ersetzte. Die Bauanleitung für das LEGO® Technic Modell wurde mit dem "LEGO Instruction Creator" erstellt, welcher über LDraw™ installierbar ist:

Nach oben

3D-gedruckte LEGO®-kompatible Bauteile

Die geringen Abmessungen innerhalb des R2-D2 Modells erforderten den Einsatz einiger 3D-gedruckter LEGO®-kompatibler Bauteile für den Arduino selbst und einiger Sensoren und Aktoren: Für den Arduino Uno Mikrocontroller wurde eine passende Befestigungsplatte gedruckt, ebenso wie für das Batteriefach, welches eine 9V-Blockbatterie aufnimmt:

Um den "Kopf" des R2-D2s drehen zu können, musste ein MicroServo mittels einer entsprechenden Halterung befestigt werden. Für den Ultraschallsensor schließlich wurden dieselben zwei Halterungen (Sonic2.stl und Sonic3.stl) gedruckt wie für das Modell des NXT-Arduinos:

Nach oben

Material

Nach oben

Schaltplan

 

Nach oben

Do IT yourself!

Es wurde zunächst der "Micro Scout" entfernt und durch einen Lochstein-kompatiblen Motor-Block ersetzt. Der dort eingebaute LEGO®-Motor wurde mittels eines LEGO® Anschlusskabels mit dem Mini-Breadbord verbunden, wozu der Anschluss-Stein an einem Kabelende entfernt und durch Dupont-Stecker ersetzt wurde.

Sowohl der Arduino Mikrocontroller als auch beide Mini-Breadboards wurden auf der Rückseite des R2-D2s befestigt, um einen ungehinderten Zugriff auf alle Steckkontakte und Kabelverbindungen zu gewährleisten, was bei dem auch im Original halboffenen Modell des R2-D2s ohnehin naheliegt:

Die RGB-LED und der Foto-Widerstand wurden mittels kleiner Leiterbahnplatten an LEGO® Technic Steine geklebt, um sie unkompliziert am R2-D2 befestigen zu können:

Für den MicroServo, den Ultraschall-Sensor, das Batteriefach und schließlich auch den Arduino Uno selbst wurden mittels 3D-Druck LEGO®-kompatible Halterungen gefertigt, die mit Hilfe von LEGO® Technic Bausteinen am R2-D2 montiert werden konnten:

Nach oben

R2-D2 in Aktion

In diesem Arduino-Beispielprogramm dreht der R2-D2 zu Beginn seinen "Kopf" einmal in beide Richtungen und misst dann mittels des Foto-Widerstands ununterbrochen die Helligkeit, welche über die Farben rot, grün oder blau an der RGB-LED angezeigt wird. Sobald der auf dem Prototype Shield eingebaute Taster betätigt wird, fährt der R2-D2 vorwärts, bis die mittels Ultraschallsensor gemessene Entfernung zu klein wird: Dann fährt der R2-D2 kurz rückwärts (und lenkt dabei konstruktionsbedingt), dreht einmal den "Kopf" nach rechts und nach links und fährt dann geradeaus weiter. Bei extrem geringem Abstand ertönt ein Fehlerton und der R2-D2 bleibt stehen. Das Fahrprogramm endet durch eine erneute Betätigung des Prototype-Tasters. In diesem Kurzvideo ist die Startsequenz des zu Beispielprogramms zu sehen:

Nach oben

Fazit

Ein R2-D2 mit einer Vielzahl von Sensoren und Aktoren und der Möglichkeit, seinen "Kopf" zu drehen - das kommt dem Original aus den STAR WARS™ - Filmen bedeutend näher als die sieben Programme des originalen "Micro Scouts", der sich zudem praktisch nicht programmieren lässt. Auch im Rahmen von Arduino-AGs lädt dieser R2-D2 dazu ein, verschiedene Aktivitätsszenarien eines Roboters zu programmieren und auszuprobieren. Der Anschluss weiterer Aktoren oder Sensoren ist durch die begrenzte Zahl an IO-Ports an einem Arduino Uno allerdings kaum noch möglich, wie auf dem Schaltplan zu erkennen ist - hier müssten entweder die Anschlüsse A1 bis A5 genutzt oder ein Mikrocontroller mit mehr IO-Ports verwendet werden.

Nach oben