Utiliser la Nunchuck Wii avec Arduino

Utilisation de capteurs et composants électroniques avec Arduino.
Une fiche de tutoriel pour chaque.

Utiliser la Nunchuck Wii avec Arduino

Messagepar tiptop » Ven 16 Aoû 2013 14:56

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

Composants utilisés

La manette
  • Un joystick 2 axes X-Y
  • Un accéléromètre à 3 axes Ax, Ay, Az.
  • 2 boutons pooussoirs
Cette manette est économique et très ergonomique dans la main.
Image..Image
La prise de connexion comporte 5 broches dont 4 sont utilisées
Image..Image

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
Image

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);
}
tiptopboards - admin
Avatar de l’utilisateur
tiptop
Administrateur du site
 
Messages: 88
Inscription: Mar 13 Aoû 2013 20:38
Localisation: 38

Retourner vers Capteurs et composants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités