Tutoriel inspiré par http://tiptopboards.free.fr

La manette de télécommande Ninchuck Wii peut servir à contrôler une carte Arduino.

Composants utilisés


La manette

Cette manette est économique et très ergonomique dans la main.
lh6.googleusercontent.com_-c2grdaoeqpq_ug4pnjij0oi_aaaaaaaaajm_acq0fwgqqbq_w400-h300-no_nunchuck_axes.jpglh3.googleusercontent.com_-wpoxevoqglq_ug4plk_kc7i_aaaaaaaaai0_p6kh0gczkzi_w400-h300-no_nunchuck_boutons.jpg
La prise de connexion comporte 5 broches dont 4 sont utilisées
lh4.googleusercontent.com_-bdicfauusje_ug4pkav-x7i_aaaaaaaaais_4qa_i-6_twq_w400-h300-no_nunchuck_broches.jpg..lh6.googleusercontent.com_-fevvss14uie_ug4pl0du0bi_aaaaaaaaai8_r1ywpfv81jk_w400-h300-no_nunchuck_prise.jpg

Câblage
Démonter la prise (2 petites vis à retirer puis déboiter le couvercle) ou couper le câble, et dénuder l’extrémité des 4 fils suivants
lh5.googleusercontent.com_-4joxdls6lta_ug4pmdnnmwi_aaaaaaaaaje_2fptw_mzoj8_w400-h300-no_nunchuck_demontee.jpg

Le démontage du connecteur permet d’identifier les fils en cas de problème.
| 1 SDA 3 NC 5 PWR |
| 2 GND (4 NC) 6 CLK |

Sur notre modèle, la câblage est
Couleurs de fil | Brochage |
1 blanc, 3 bleu, 5 rouge | SDA Att PWR |
2 rose, 4 rien, 6 jaune | GND nc CLK |

Interfaçage avec la carte Arduino

Nunchuck Wii –> Arduino Uno
1 blanc —> SDA (pin 4)
2 rose –> GND
3 fil bleu –> non utilisé
4 nc –>non utilisé
5 rouge –> PWR 3.3V
6 jaune –> CLK (pin5)

Important, alimentation sous 3.3V et pas plus !

Pour une manette Wii “officielle” le câblage est le suivant
1 rouge +3V –>PWR 3.3V
2 jaune CLK –>SCL pin5
3 fil orange –>
4 pas de fil –>
5 vert DATA –>SDA pin 4
6 blanc GND –>GND

Librairie à installer
Une librairie pour l’IDE 1.0 est disponible (Cf forum Arduino). Cette librairie a été développée par Gabriel Bianconi. Elle est en téléchargement ici (GitHub sous Creative Commons license) {C}https://github.com/GabrielBianconi/ArduinoNunchuk{C}

Utilisation de la librairie
On l’installe en copiant le dossier complet “ArduinoNunchuk” dans le répertoire qui comporte déjà les autres librairies Arduino (Arduino/libraries).
Ce dossier contient


Elle est très simple à utiliser. On commence par instancier :

ArduinoNunchuk nunchuk = ArduinoNunchuk();


Puis on initialise dans le setup

nunchuk.init();


Puis on récupère les mises à jour de la Wii dans la boucle loop()

nunchuk.update();


Les 7 données de la Wii Nunchuk sont disponibles sous cette forme


Exemple de code

Code :

/*ArduinoNunchukDemo.ino
* Copyright 2011-2013 Gabriel Bianconi, http://www.gabrielbianconi.com/
* Project URL: http://www.gabrielbianconi.com/projects/arduinonunchuk/
* Commentaires ajoutes 16 08 2013 tiptopboards.com
*/

#include <Wire.h>
#include <ArduinoNunchuk.h>

#define BAUDRATE 19200
Instancier la manette Wii Nunchuck
ArduinoNunchuk nunchuk = ArduinoNunchuk();

void setup()
{
Serial.begin(BAUDRATE);
nunchuk.init();
Initialiser la Nunchuck
}

void loop()
{

nunchuk.update(); lecture des donnees
Joystick XY
Serial.print(nunchuk.analogX, DEC); 0-255 X, 125 au neutre
Serial.print(' ');
Serial.print(nunchuk.analogY, DEC);
Serial.print(' ');


Accelerometre XYZ
Serial.print(nunchuk.accelX, DEC);
Serial.print(' ');
Serial.print(nunchuk.accelY, DEC);
Serial.print(' ');
Serial.print(nunchuk.accelZ, DEC);
Serial.print(' ');

Deux boutons de la Nunchuck Wii
Serial.print(nunchuk.zButton, DEC);
Serial.print(' ');
Serial.println(nunchuk.cButton, DEC);
} ’’