Wie bereits gesagt, kommt als Herz ein Raspberry Pi 3 zum Einsatz. Das integrierte Bluetooth-Modul ist praktisch und lässt sich schön mit einer Wiimote koppeln.
Betriebssystem ist das aktuelle Raspbian, als Python-Version kommt 2.x zum Einsatz, da die verwendete Wiimote-Bibliothek mit der Version 3.x nicht funktioniert.
Ah ja, eine Anleitung, wie man die Bibliothek installiert und wie man die Wiimote koppelt, gibt es z.B. auf dieser Seite. Beim Pi 3 kann man sich das Installieren eines Bluetooth-Dongles natürlich sparen.
Hier ein Ausschnitt des Python-Programms:
while True: buttons = wii.state['buttons'] #Achtung: WiiMote wird quer gehalten, deshalb RIGHT --> Vorwaerts if(buttons & cwiid.BTN_RIGHT): if(buttons & cwiid.BTN_DOWN): #DOWN --> rightfor Drive_rightfor() elif(buttons & cwiid.BTN_UP): #UP --> leftfor Drive_leftfor() else: Drive_forward() elif(buttons & cwiid.BTN_LEFT): #LEFT --> Rueckwaerts if(buttons & cwiid.BTN_DOWN): #DOWN --> rightback Drive_rightback() elif(buttons & cwiid.BTN_UP): #UP --> leftback Drive_leftback() else: Drive_back() else: if(buttons & cwiid.BTN_UP): #UP --> leftturn Drive_leftturn() elif(buttons &cwiid.BTN_DOWN): #DOWN --> rightturn Drive_rightturn() else: Drive_stop() time.sleep(0.1) #Turm drehen mit 1 und 2 if(buttons & cwiid.BTN_1): Turn_left() elif(buttons & cwiid.BTN_2): Turn_right() else: Turn_stop() time.sleep(0.1) #Turm heben mit + und - if(buttons & cwiid.BTN_PLUS): Lift_up() elif(buttons & cwiid.BTN_MINUS): Lift_down() else: Lift_stop() time.sleep(0.1) #Band und Bagger if(buttons & cwiid.BTN_A): if(pressed == '0' and run == 'stop'): Band_run() pressed = 'A' elif(pressed == '0' and run == 'run'): Band_stop() pressed = 'A' else: pressed = '0' time.sleep(0.1) ....
Und hier die Belegung der Wiimote:
Da natürlich kein Monitor und keine Tastatur am Pi stecken wird, muss das Programm automatisch starten. Die Status-LED, die immer blau leuchtet, wenn Spannung anliegt, blinkt kurz rot, wenn die Wiimote gekoppelt werden kann (gleichzeitiges Drücken von 1 und 2). Wenn die Kopplung erfolgreich ist, leuchtet die grüne LED zusätzlich.
Wenn die Kopplung nicht erfolgreich ist, beendet sich das Programm, der Pi bleibt aber an.
Nach erfolgter Kopplung kann man mit dem Bagger spielen.
Hat man keine Lust mehr, trennt man die Wiimote mit dem Home-Button. Dann fährt auch der Pi herunter. Hält man den B-Knopf (auf der Rückseite) gedrückt, während man Home drückt, trennt man nur die Verbindung. Der Pi fährt aber nicht runter.