wii-nunchuck

Jag köpte en nunchuk i mitten av juni 2007 för att kolla om den kan vara användbar till något av alla mina projekt. Den innehåller i alla fall några bra grejer som skulle vara mycket dyrare att köpa lösa.

Nunchuken innehåller en tre-axlig accelerometer, en analog joystick, och två vanliga knappar.

Den kontakt från nunckuken som man i vanliga fall kopplar in i en wiimote är allt annat än en standardkontakt, så man kan inte skaffa en matchande kontakt (om man inte köper en hel wiimote, och löder loss kontakten).

En tänkbar lösning är att helt enkelt kapa kabeln. Det är dokumenterat vilka färger som olika ledare i nunchukens sladd har:

white  ground
red    3.3V
green  data
yellow clock

(se Read wii nunchuck data into arduino)

Det andra alternativet för inkoppling är att tillverka en kontakt som ser likadan ut son den i wiimoten.

 _________
|   135   |
|   246   |
|___---___|

1 (Red wire) - +3V
2 (Yellow wire) - Clk
3 (Red wire) - Attachment detection?
4 (No wire) - Unknown (unconnected at Nunchuk connector)
5 (Green wire) - Data
6 (White wire) - GND

(se Wii/protocols/wiimote bus)


När man fått till det med anslutningen så är det dags att börja snacka seriellt med nunchuken. Den använder tydligen I2C (TWI) för kommunikationen, har en data-klocka på 400 kHz, och de delar av protokollet som har hackats kan man hitta här:
Wiimote/Extension Controllers/Nunchuk
Read wii nunchuck data into arduino

Datat man får ut innehåller 8 bitar för X respektive Y-axeln hos joysticken, samt 10 bitar för varje axel i den treaxliga accelerometern, samt status för de två knapparna på nunchuken.

Den stora frågan är vad man ska göra med datat sen. Vill man ha in den i en dator kan man till exempel använda en micro-kontroller och en interfacekrets ala MAX232 som regelbundet skickar data via t.ex serieporten. Vill man ha in datat i något annat projekt, så kan det räcka att använda I2C (TWI)-porten på sin mikrokontroller.

Efter det så är frågan bara vad man vill göra med datat...