arduino wii nunchuck
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

arduino wii nunchuck



  1. #1
    pseudok

    arduino wii nunchuck


    ------

    bonjours

    j'aimerai relier les ports de la nunchuch aux ports analogiques de ma carte arduino
    voici les ports de la nunchuck
    nunchuck-cable-schema.png

    La Nunchuck communique avec la manette Wii en I2C. Ce protocole est également utilisé dans le montage mettant en œuvre 2 Arduinos. La librairie « wire » simplifie l’usage de l’I2C.

    Pour fonctionner le Nunchuck doit être connecté à 4 signaux :

    SCL ↔ Analog 5 du Arduino
    SDA ↔ Analog 4 du Arduino
    3,3V
    GND

    Pour simplifier son câblage, un accessoire existe (Voir ci-contre). Sans cet outillage le câblage est assez complexe.
    arduino_accessories_wiichuck_2.png
    cablage.jpg

    je recherche quelle est l'accessoire utilisé ?soit son nom ?

    je crois et dite moi si c'est juste ou faux que c'est le même utilisé dans cette vidéo à 1:41 https://www.youtube.com/watch?v=kmD_n4UKosk

    mais attention car je ne suis pas sur que c'est la même chose car contrairement à la personne de la vidéo je ne souhaite pas couper le fil de la nunchuck étant donné que j'utilise une sans fil mais réaliser ce montage cablage.jpg

    si je clipse cette accessoire je n'airai juste à relier cette accessoire avec un fil électrique jusqu’à les ports analogique de l'arduino ?

    merci de votre aide

    -----
    Dernière modification par pseudok ; 24/10/2014 à 11h51.

  2. #2
    pseudok

    Re : arduino wii nunchuck

    voici une image (celle d'en bas pas celle d'en haut ) qui montre bien les pots de la nunchuck pour ceux qui ne l'on pas sous les mains
    Nom : 230px-Conectores_nunchuk_wiimote.png
Affichages : 427
Taille : 81,6 Ko

    merci

  3. #3
    Tibkou

    Re : arduino wii nunchuck

    Salut,
    l'accessoire que tu recherche s'appelle wiichuck. http://www.zartronic.fr/adaptateur-w...ino-p-232.html
    Mais un nunchuk sur Ebay ne coute pas cher, tu peux en sacrifier un et dénuder le cable pour brancher en direct.
    Bon courage pour ton montage

  4. #4
    pseudok

    Re : arduino wii nunchuck

    merci pour la réponse

    j'ai réalisé ce montage me permettant de contrôler un servomoteur à partir d'un nunchuck. Et j'ai utilisé ce code . Or je voudrais réaliser un smoothing me permettant de controler le servomoteur de facon plus fluide et non avec un rythme de rotation trop s'accadé . Voici le code , que dois je rajouter ?


    #include <Servo.h>;
    #include <Wire.h>;

    // Doit être ajusté en fonction de chaque nunchuck
    #define ZEROX 530
    #define ZEROY 530
    #define ZEROZ 530

    // adresse I2C du nunchuck
    #define WII_NUNCHUK_I2C_ADDRESS 0x52

    // définition d'une variable Servo
    Servo servomoteur;

    // définition d'une variable counter
    int counter;

    // définition d'un tableau de données
    uint8_t data[6];

    void setup()
    {
    // on attache le servomoteur à la pin 11
    servomoteur.attach(11);

    // initialisation du nunchuck
    Wire.begin();

    Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
    Wire.write(0xF0);
    Wire.write(0x55);
    Wire.endTransmission();

    Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
    Wire.write(0xFB);
    Wire.write(0x00);
    Wire.endTransmission();
    }


    void loop()
    {
    // on demande 6 octets au nunchuck
    Wire.requestFrom(WII_NUNCHUK_I 2C_ADDRESS, 6);

    counter = 0;
    // tant qu'il y a des données
    while(Wire.available())
    {
    // on récupère les données
    data[counter++] = Wire.read();
    }

    // on réinitialise le nunchuck pour la prochaine demande
    Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
    Wire.write(0x00);
    Wire.endTransmission();

    if(counter >= 5)
    {
    // on extrait les données
    // dans mon exemple j'utilise uniquement les données d'accélération sur l'axe Y
    double accelX = ((data[2] << 2) + ((data[5] >> 2) & 0x03) - ZEROX);
    double accelY = ((data[3] << 2) + ((data[5] >> 4) & 0x03) - ZEROY);
    double accelZ = ((data[4] << 2) + ((data[5] >> 6) & 0x03) - ZEROZ);

    // on limite la valeur entre -180 et 180
    int value = constrain(accelY, -180, 180);
    // on mappe cette valeur pour le servomoteur soit entre 0 et 180
    value = map(value, -180, 180, 0, 180);
    // on écrit sur le servomoteur la valeur
    servomoteur.write(value);

    // un petit delai pour pas saturer le servomoteur
    delay(100);
    }
    }


    merci de votre aide
    Dernière modification par pseudok ; 24/10/2014 à 23h34.

  5. A voir en vidéo sur Futura
  6. #5
    extremgear

    Re : arduino wii nunchuck

    Pourquoi ne pas tailler cet accessoire dans un bout de PCB ?

  7. #6
    pseudok

    Re : arduino wii nunchuck

    c'est bon pour l’accessoire on m'a indiqué son nom. en faite j'ai utilisé des fils électriques tout simple
    je veux juste de l'aide pour réaliser un smoothing à partir du code ( rotation du servo + fluide)
    voir post précédent

    merci de votre aide

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. RX et TX sur arduino
    Par gcortex dans le forum Électronique
    Réponses: 6
    Dernier message: 27/08/2014, 07h50
  3. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  4. Arduino
    Par invite85ff08e6 dans le forum Électronique
    Réponses: 8
    Dernier message: 17/03/2010, 11h49
  5. Arduino
    Par sdow dans le forum Électronique
    Réponses: 3
    Dernier message: 29/10/2007, 20h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.