16 ene 2013

Wii Nunchuk y Arduino

Bueno, aquí van unas breves ideas de como conectar y usar el mando de nuestra Wii con Arduino.

No os preocupéis, no hay que cortar nada de vuestro precioso mando :D

Como una imagen vale más que mil palabras, una foto de los pines del mando:



La librería que nos permite comunicarnos con el Nunchuk es 'Wire' (dispositivos I2C), SDA es el pin analógico 4 y SCL en el pin analógico 5. Librería Wire. Bus I2C.

No es necesario cortar el conector, ni comprarse un adaptador. Con cualquier cablecito que usemos para el arduino vale. Si no, soldador y estaño. :D


Formato de los datos (6 Bytes) recibidos:

Byte Description Values of sample Nunchuk
1 X-axis value of the analog stick Min(Full Left):0x1E / Medium(Center):0x7E / Max(Full Right):0xE1
2 Y-axis value of the analog stick Min(Full Down):0x1D / Medium(Center):0x7B / Max(Full Right):0xDF
3 X-axis acceleration value Min(at 1G):0x48 / Medium(at 1G):0x7D / Max(at 1G):0xB0
4 Y-axis acceleration value Min(at 1G):0x46 / Medium(at 1G):0x7A / Max(at 1G):0xAF
5 Z-axis acceleration value Min(at 1G):0x4A / Medium(at 1G):0x7E / Max(at 1G):0xB1
6 Button state (Bits 0/1) / acceleration LSB Bit 0: "Z"-Button (0 = pressed, 1 = released) / Bit 1: "C" button (0 = pressed, 1 = released) / Bits 2-3: X acceleration LSB / Bits 4-5: Y acceleration LSB / Bits 6-7: Z acceleration LSB

Los datos se decodifican con esta ecuación:
DATA = (DATA XOR 0x17) + 0x17
¡Y listo! En esta web encontrareis un ejemplo de como leer los datos y mostrar por pantalla. Os dejo una captura del programa de ejemplo.

Salu2!

No hay comentarios:

Publicar un comentario