Gestern Morgen hab ich in aller Ruhe bei der Sesamstrasse den LEGO Mindstorms Snatcher wieder zerlegt.
Mich hat genervt das ich nicht die Zeit gefunden habe (wann auch) um ihn fertig zu programmieren und die Anwendung (rumfahren, zugreifen, Farbe erkennen) war mir zu spezifisch. Also hab ich schnell das Grundmodell wieder zusammengestöpselt und so ein paar Basics reingehackt. War mir aber zu blöd dazu eine Anwendung zu überlegen mit Sensor und so, ich wollte DirectRemoteControlling.
Also hab ich mich heute durch das Web gegraben und einige ziemlich interessante Sachen zu Tage gefördert:
Remote Controlling via iPhone(s)
In diesem Zusammenhang sehr physikalisch aber klug gelöst, ein iPhone oder Smartphone mit Lichtsensor der auf eine Webseite gerichtet wird die dann über Client/Server verschiedene Helligkeitsstufen zeigt, die wiederum den Roboter steuern. Durch die Brust ins Auge und macht aus einem teuren Roboter einen sehr teuren Roboter (wegen des iPhones) aber dennoch eine gute Idee.
Scheiterte bei uns an dem kaputten Homebutton des alten iPhone 3Gs und der mangelnden Verfügbarkeit anderer Smartphones die ich mal eben verbauen könnte.
http://www.battlebricks.com/iphone-lego-nxt-robot/index.html
Remote Controlling via Bluetooth
Die Idee gefällt mir schon besser, dafür gibt es auch versch. Ansätze bzw. Lösungen.
c++ Communication Library
Da wäre einmal die C++basierte Lösung von Anders (Nachnamen hab ich nicht gefunden), der insgesamt eine ganze Menge sehr interessantes Material zur Verfügung gestellt hat:
http://www.norgesgade14.dk/index.php
MINDroid
Dann noch die "klassische" Lösung via Android namens MINDroid, von Günther Hölzl und Shawn Brown.
Der Code ist unter OS Lizenz verfügbar, die Geschichte hinter MINDroid findet ihr im Blog der GTUG München:
https://github.com/NXT/LEGO-MINDSTORMS-MINDdroid
http://munich.gtugs.org/home/diegeschichtehintermindroid
http://mindstorms.lego.com/en-us/News/ReadMore/Default.aspx?id=227417
Die Variante ist daran gescheitert das ich kein AndroidSmartphone habe. Das sollte sich nach der I/O ändern, wir werden sehen.
LEGO NXT Remote (Mac OS X)
Egal, dank einem sehr sympathischen Hacker namens Christian Stewart von Kidovate gibt es eine Mac OS X Version einer Universal Remote die über Bluetooth mit dem NXT Kontakt aufnimmt und a) vollständige Motorkontrolle anbietet sowie b) alle Sensoren auslesbar macht:
http://kidovate.com/home/2010/08/lego-nxt-remote-3-0/ Blogbeitrag zu Version 3.0
http://www.macupdate.com/app/mac/32602/lego-nxt-remote
Das klappt soweit hervorragend, leider ist die Reaktion manchmal ein bisschen verzögert. Aber daran arbeite ich noch.
Nächster Schritt ist jetzt eine Seilbahn vom Gartenhaus zum Haus, gesteuert über Bluetooth.
Im Zusammenhang mit Bluetooth, Wiimote und mehr bin ich übrigens noch über GLOVEPie gestolpert, ein Projekt für die Steuerung von Games mit alternativen Controllern:
http://sites.google.com/site/carlkenner/glovepie
Next step: Wiimote controls Mindstorms NXT.