Robotersteuerung mit WASD

Nachdem ihr im letzten Schritt die Roboter erfolgreich zusammengebaut habt, können wir etwas Schwung in die Sache bringen und Anfangen die Robotersteuerung zu programmieren.

Hierfür ladet ihr euch die Arduino IDE unter diesem Link herunter: https://www.arduino.cc/en/Main/OldSoftwareReleases#previous. Hier müsst ihr darauf achten am besten die ältere Version (1.0.5-r2) zu nutzen, da die neueren Versionen nicht automatisch euer Board unterstützten. Diese Software erleichtert es euch zu programmieren und den Code gleich auf euer Board, in dem Fall das Dagu Mini Motor Driver Board, zu laden. Wenn ihr es heruntergeladen habt, öffnet ihr das Programm. Dann habt ihr noch ein paar Einstellungen zu tätigen, damit ihr problemlos den Code auf das Board laden könnt.

Arduino: 

Unter dem Punkt Werkzeuge → Platine könnt ihr euer Board auswählen. In dem Fall ist es ATMega 8 was ihr auswählen müsst, da dieser Microcontroller auf eurem Board vorhanden ist.

Wenn ihr das ausgewählt habt müsst ihr noch den Port unter Werkzeuge → Port auswählen. Hier nehmt ihr den /dec/cu.Bluetooth-Incoming-Port, da ihr die Nachrichten zwischen PC und Roboter über Bluetooth schickt.

Jetzt könnt ihr den Code mit einem Klick auf das Bild herunterladen und einfügen.

arduino_code_screenshot

Der Code ist darauf ausgelegt, den Roboter über w, a, s, d zu steuern und mit p zu stoppen. Falls ihr dies ändert, beachtet, dass ihr dann die virtuell angelegten Tasten im Kinect Code ändert, da diese miteinander verbunden sind.

Wenn ihr den Code habt könnt ihr das Board über einen Micro-USB auf USB Kabel mit dem PC verbinden und dann in der Arduino IDE oben links erst auf den Haken für verifizieren und dann auf den Pfeil nach rechts drücken, um den Code auf das Board zu laden.

PuTTY:  

Jetzt seid ihr soweit, die Roboter das erste Mal fahren zu lassen. Allerdings wird hierfür ein weiteres Programm benötigt, welche die serielle Bluetooth Verbindung herstellt und die Kommandos der Tasten an die Roboter übermittelt. Ladet euch dazu das Programm PuTTY herunter: http://www.putty.org

Geht anschließend folgendermaßen vor: Findet den COM Port des Bluetooth Shields unter Systemsteuerung → Hardware und Sound → Geräte und Drucker → Gerät hinzufügen → Bluetooth Shield. Diese werden nur angezeigt, wenn der entsprechende Roboter und das Bluetooth an eurem PC angeschaltet sind.

Wählt das Shield aus und klickt weiter (auch auf die Frage hin, ob der Kopplungscode übereinstimmt). Anschließend wird die benötigte Gerätetreibersoftware geladen, das kann durchaus einige Minuten dauern.

Mit einem Doppelklick auf das hinzugefügte Bluetooth Shield erhaltet ihr die Eigenschaften dazu. Unter dem Reiter Hardware erscheint nun der zugehörige COM Port (eventuell über das angezeigte Element unter Gerätefunktionen mit der Maus fahren oder doppelt darauf klicken).

Jetzt kann PuTTY (bei mir unter dem Namen “SSH, Telnet and Rlogin client” zu finden) geöffnet werden. Setzt unter der Kategorie Session die Auswahl auf Serial und tragt bei Serial line → COMX ein, wobei X die Zahl ist, die ihr eben dem Bluetooth Shield entnommen habt.

Im letzten Unterpunkt Connection → Serial sollten nun die folgenden Werte stehen (gegebenenfalls ergänzen/ abändern): COMX (also euer COM Port), 9600, 8, 1, NONE, XON/XOFF.

putty_screenshot

Wenn ihr nun Open klickt, müsste sich ein Fenster öffnen und ihr könnt euren Roboter über w, a, s, d steuern. Dazu muss allerdings das PuTTY Fenster aktiv sein, also klickt einmal einfach in das Fenster rein, bevor ihr die Tasten zum Steuern drückt. Sollte die Verbindung fehlgeschlagen sein, wiederholt die Schritte mit PuTTY.

Tipp: zur Kontrolle, ob die Bluetooth Verbindung erfolgreich aufgebaut wurde, schaut mal an der Unterseite des Bluetooth Shields am Roboter. Dort müsste die LED, die vorher gelb/grün geblinkt hat, nun konstant orange leuchten. 

Wenn ihr jetzt noch die Gesten mit reinbringen wollt, dann schaut euch das nächste Kapitel zum Thema Robotersteuerung mit Kinect an.