Salve ragazzi anche io sto giocando con il wii nunchuk, e sto utilizzando il codice che posto sotto, però non sono sicuro di come connettere i vari fili del connettore wii.
Ho acquistato un controller cinese e una prolunga, in modo da tagliare e connettere il tutto senza problemi, leggendo in rete ho visto che a volte in base al controller che si acquista (originale o meno), i pin del connettore vanno connessi in modo diverso, ho provato in diversi modi, ma solo in un modo mi viene stampato su serial monitor quello che gli dico io di stampare (come stringhe) ma senza dati dal controller, negli altri modi non stampa proprio nulla sul serial monitor.
Qui ho preso info sul connettore:
http://www.alfonsomartone.itb.it/rkxncv.html
http://wiire.org/Wii/protocols/wiimote_bus
Qui ho preso il file della libreria e il codice dello sketch:
“WiiChuck” Wii Nunchuck Adapter Available – todbot blog
Io ho connesso il tutto così:
| 1 3 5 |
| 2 4 6 |
|---|
1 -> DATA -> ANALOG4
2 -> GROUND -> GND
3 -> NON CONNESSO
4 -> NON CONNESSO
5 -> POWER 3,3V -> 3,3V ARDUINO
6 -> CLOCK ->ANALOG5
Questo è lo sketch che ho utilizzato
/*
* WiiChuckDemo --
*
* 2008 Tod E. Kurt, http://thingm.com/
*
*/
#include <Wire.h>
#include "nunchuck_funcs.h"
int loop_cnt=0;
byte accx, accy, zbut, cbut;
int ledPin = 13;
void setup()
{
Serial.begin(19200);
nunchuck_setpowerpins();
nunchuck_init(); // send the initilization handshake
Serial.print("WiiChuckDemo ready\n");
}
void loop()
{
if( loop_cnt > 100 ) { // every 100 msecs get new data
loop_cnt = 0;
nunchuck_get_data();
accx = nunchuck_accelx(); // ranges from approx 70 - 182
accy = nunchuck_accely(); // ranges from approx 65 - 173
zbut = nunchuck_zbutton();
cbut = nunchuck_cbutton();
Serial.print("accx: "); Serial.print((byte)accx,DEC);
Serial.print("\taccy: "); Serial.print((byte)accy,DEC);
Serial.print("\tzbut: "); Serial.print((byte)zbut,DEC);
Serial.print("\tcbut: "); Serial.println((byte)cbut,DEC);
}
loop_cnt++;
delay(1);
}
E questo è l'output che ottengo:
WiiChuckDemo ready
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
accx: 255 accy: 255 zbut: 0 cbut: 0
Perchè non leggo nessun dato dal joystich???
C'è qualche problema nella connessione dei contatti del connettore del wiimote o c'è qualche problema nella libreria???
Grazie anticipato per l'aiuto