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.
La prise de connexion comporte 5 broches dont 4 sont utilisées
..
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
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);
}
’’