Code
#include
#include
/*
* WiiChuck tourelle--
*
* Cudnik Luc 2011
*
*/
#include
#include « nunchuck_funcs.h »
int loop_cnt = 0 ;
Servo s1 ;
Servo s2 ;
octet accx accy, zbut, cbut ;
int ledPin = 13 ;
void setup()
{
pinMode (sortie 11) ;
Serial.Begin(19200) ;
nunchuck_setpowerpins() ;
nunchuck_init() ; Envoyer l’initialisation du handshake
S1.Attach(6) ;
S2.Attach(8) ;
Serial.Print ("WiiChuckDemo ready\n") ;
}
void loop()
{
Si (loop_cnt > 100) {/ / chaque 100 millisecondes pendant laquelle obtenir de nouvelles données
loop_cnt = 0 ;
nunchuck_get_data() ;
ACCx = nunchuck_joyx() ; varie entre environ 70-182
ACCY = nunchuck_joyy() ; varie entre environ 65-173
Zbut = nunchuck_zbutton() ;
CBUT = nunchuck_cbutton() ;
int ax = map(accx,30,230,1,180) ;
ay int = map(accy,30,230,1,180) ;
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) ;
Serial.Print ("\ax:") ;
Serial.println((Byte)ax,DEC) ;
Serial.Print ("\ay:") ;
Serial.println((Byte)ay,DEC) ;
Si (cbut == 1) {}
S1.Write(90) ;
S2.Write(90) ;
}
Si (cbut == 0) {}
Si ((ax<80) ou (ax > 100)) {}
S1.Write(ax) ;
}
else {}
S1.Write(90) ;
}
}
Si (cbut == 0) {}
Si ((ay<80) ou (ay > 100)) {}
S2.Write(ay) ;
}
else {}
S2.Write(90) ;
}
}
}
Si (zbut == 1) {}
digitalWrite (11, haute) ;
}
Si (zbut == 0) {}
digitalWrite (11, faible) ;
}
loop_cnt ++ ;
Delay(1) ;
}