Composants utilisés
- 1 Carte Arduino uno R3
- 1 Manette Wii Nunchuck
- 1 breadboard et fils de câblage (ou soudures)
La manette
- Un joystick 2 axes X-Y
- Un accéléromètre à 3 axes Ax, Ay, Az.
- 2 boutons pooussoirs
..
La prise de connexion comporte 5 broches dont 4 sont utilisées
..
Câbage
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 nouvelle 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) https://github.com/GabrielBianconi/ArduinoNunchuk
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
- ArduinoNunchuk.cpp
- ArduinoNunchuk.h
- un sous dossier exemples
Elle est très simple à utiliser. On commence par instancier :
- Code: Tout sélectionner
ArduinoNunchuk nunchuk = ArduinoNunchuk();
Puis on initialise dans le setup
- Code: Tout sélectionner
nunchuk.init();
Puis on récupère les mises à jour de la Wii dans la boucle loop()
- Code: Tout sélectionner
nunchuk.update();
Les 7 données de la Wii Nunchuk sont disponibles sous cette forme
- nunchuk.analogX
- nunchuk.analogY
- nunchuk.accelX
- nunchuk.accelY
- nunchuk.accelZ
- nunchuk.zButton
- nunchuk.cButton
Exemple de code
- Code: Tout sélectionner
/*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);
}