Pages: [1]   Go Down
Author Topic: Arduino + nunchuck + 2 moteurs  (Read 1403 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 28
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour, Pourriez-vous me donnez le code qui me permettrai de contrôler 2 moteurs Un peu comme ce robot :

Avec 2 Dc moteurs et une nunchuck.
Je ne me servirai que du joystick.

Merci d'avance  

                                                   x3-NicOo
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tout est là : articles sur Nunchuck pour contrôle de moteurs

- récupération des informations du Nunchuck
- commande des moteurs

Tu peux même améliorer le code en faisant une conversion des informations du joystick en commandes polaires des deux moteurs (voir l'animation et les explications mathématiques sur cette page : http://www.pobot.org/Telecommande-en-controle-polaire.html)
« Last Edit: November 26, 2010, 07:11:14 am by julien@pobot.org » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 28
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci beaucoup !  ;D
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 28
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai un nouveau problème, je n'arrive pas a récupérer les donnée de la nunchuck par usb, je suis cette methode :: http://www.arduino.cc/playground/Main/WiiChuckClass
Mais quand j'envoi le code suivant :
Code:
#include <math.h>

#include "Wire.h"
#include "WiiChuck.h"
//#include "nunchuck_funcs.h"

#define MAXANGLE 90
#define MINANGLE -90


WiiChuck chuck = WiiChuck();
int angleStart, currentAngle;
int tillerStart = 0;
double angle;

void setup() {
  //nunchuck_init();
  Serial.begin(115200);
  chuck.begin();
  chuck.update();
  //chuck.calibrateJoy();
}


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


  Serial.print(chuck.readRoll());
    Serial.print(", ");  
  Serial.print(chuck.readPitch());
    Serial.print(", ");  

    Serial.print((int)chuck.readAccelX());
    Serial.print(", ");  
    Serial.print((int)chuck.readAccelY());
    Serial.print(", ");  

    Serial.print((int)chuck.readAccelZ());

    Serial.println();

}
et que je compile, il me met :
"WiiChuck" does not name a type

Que dois-je faire ? :-/
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vérifie que le fichier WiiChuck.h est bien présent dans le répertoire de ton projet Arduino.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 28
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Par hasard, ne sauriez-vous pas me donner le code  :$
Je ne suis pas doué pour les faires

je voudrai avoir 4 sortie : Exemple :
 Joystick vers l'avant : Pin 5 : on
 Joystick vers l'arrière : pin 6 : on
 joystick vers la gauche : pin 7 : on
 joystick vers la droite : pin 8 : on
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il faut persévérer. Donner le code ne te servira à rien si tu ne sais pas l'envoyer dans la carte.

Tout est déjà dans l'archive zip qui se trouve sur le site web dont je t'ai envoyé le lien.

Bon, voici :

Code:
void setup()
{
   pinMode(5,OUTPUT);
   pinMode(6,OUTPUT);
   pinMode(7,OUTPUT);
   pinMode(8,OUTPUT);

   // ... initialisation du WiiChuck comme dans l'exemple

}

void loop()
{

delay(50);
chuck.update();

if (chuck.readJoyX() > 0) {
   digitalWrite(8,HIGH);
   digitalWrite(7,LOW);
} else if (chuck.readJoyX() < 0) {
   digitalWrite(8,LOW);
   digitalWrite(7,HIGH);
} else {
   digitalWrite(8,LOW);
   digitalWrite(7,LOW);
}

if (chuck.readJoyY() > 0) {
   digitalWrite(5,HIGH);
   digitalWrite(6,LOW);
} else if (chuck.readJoyX() < 0) {
   digitalWrite(5,LOW);
   digitalWrite(6,HIGH);
} else {
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
}

}


Peut-être veux-tu que je t'envoie une carte Arduino déjà programmée ?
« Last Edit: November 28, 2010, 06:34:31 pm by julien@pobot.org » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 28
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non non, pour envoyer le code il n'y a pas de soucils.
Merci beaucoup, je vais essayer de faire fonctionner tout sa smiley
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3227
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


[edit]Peut-être veux-tu que je t'envoie une carte Arduino déjà programmée ? [/edit]

C'est de l'ironie, ce qu'il entend par là c'est que si tu ne fais pas un minimum d'efforts, tu n'arrivera à rien...   :smiley
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai édité l'article en remplaçant PC2 et PC3 par PORTC2 et PORTC3, les nouveaux noms de variable pour ces deux entrées sur les nouvelles Arduino.
Logged

Pages: [1]   Go Up
Jump to: