Pb Arduino nano et nunckuck

Bonjour,
je débarque sur l'arduino en ayant l'idée de piloter une nacelle photo avec un nunchuck.

(désolé pour le double post mais il faut 2 posts pour pouvoir mettre un lien et une photo :-[ )

j'essaie de connecter un nunchuck sur un Arduino nano mais je ne m'en sort pas :

j'ai suivi les conseils de Luj06 trouvés sur ce post .

Quelques questions :

  • j'utilise Arduino21 et la compilation me donne des erreurs :
error: 'PC3' was not declared in this scope ; 
error: 'PC2' was not declared in this scope

je suppose qu'il faut indiquer autrement les prises analogiques mais je ne sais pas comment :frowning:

concernant la connexion :
j'ai utilisé ce plan de connexion

avec

  • Ground <-> arduino A2
  • VCC <-> arduino A3
  • Data <-> arduino A4
  • Clk <-> arduino A5
    c'est bon ou c'est tout faux :-[

Bonjour,

Les ports PC2 et PC3 portent d'autres noms avec les nouvelles Arduino. Je vais chercher :slight_smile:

C'est bien ça, l'essentiel est d'avoir :
Analog 4 = data
Analog 5 = clock

Pour le reste, il suffit de donner la masse et le 5 volts, mais si tu veux utiliser l'adaptateur alors oui, A2 = masse et A3 = vcc

[EDIT]

Trouvé, les variables PC2 et PC3 ont été remplacées par PORTC2 et PORTC3. Le code qui fonctionne est donc :

   DDRC |= _BV(PORTC3) | _BV(PORTC2);  // make outputs
   PORTC &=~ _BV(PORTC2);
    PORTC |=  _BV(PORTC3);

A noter que ce code est utile uniquement pour donner le 5 volts à C3 soit Analogic 3 et la masse à C2 soit Analogic 2. Ceux qui font un branchement direct à la masse et au Vcc de la carte Arduino n'en ont pas besoin.

Merci pour ces infos. Je vais faire les tests.

bon je viens de faire quelques tests en connectant directement les GND et VCC du nunchuck sur le GND et +5v de l'arduino mais ce n'est pas concluant. en particulier parce que je ne peux rien visualiser sur le Serial monitor :-[
avec le code suivant :

#include "Wire.h"
#include "WiiChuck.h"


WiiChuck chuck = WiiChuck();

//constantes
const int ledPin =  13;      // numéro de la pinoche de la LED

// Variables
int valX = 0;
int valY = 0;

void setup() {
/*alimentation du nunchuck (pas nécessaire de comprendre)
  DDRC |= _BV(PORTC3) | _BV(PORTC2);  // pattes Analog 2 et 3 en sortie
  PORTC &=~ _BV(PORTC2);           // patte Analog 2 à 0v
  PORTC |=  _BV(PORTC3);           // patte Analog 3 à 5v
  delay(100);  // une petite attente
*/  

  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      

  Serial.begin(9600);
  Serial.println("1\n");
  chuck.begin();
  Serial.println("22");
  chuck.update();
  Serial.println("333");
}

void loop() {
  delay(200);
  chuck.update(); 

  // lecture des valeurs du joystick 2D
  valX = chuck.readJoyX();
  valY = chuck.readJoyY();

  // affichage
  Serial.print(valX);
  Serial.print(" ");
  Serial.print(valY);
  Serial.println();
  
}

je ne vois apparaitre que "1" sur le Serial Monitor. Il semblerait donc que la commande "chuck.begin() stoppe l'affichage. c'est balo et du coup pas possible de faire de tests.

d'ailleurs je me demande si le Wiichuch.h est bien compatible avec l'Arduino20 ? est ce qu'il y a d'autre chose à modifier dedans ?

A priori mon plan de câblage était faux : le VCC et le Data sont inversés ce qui donne :

nunchuk par fxix, sur Flickr
et çà marche beaucoup mieux.