Bonjours,
avec des amis nous avons un projets qui consiste à réaliser un robot du type curiosity http://www.futura-sciences.com/magaz...re-gale-40437/
Nous allons reproduire le même châssis avec 6 roue mais seulement 4 roue motrices pour limiter le cout total
Nous avons aussi choisit de ne pas mettre de direction articulée pour simplifier le système et aussi pour une question de cout, pour faire tourner le robot à droite seule les moteurs de gauche seront alimentés et inversement.
Le rover sera dirigé grâce au joystick d'une nunchuk wii.
nous disposons:
d'une carte arduino uno
50-00.jpg
d'une carte adafruit motor shield v2
1438-04.jpg
d'un adaptateur pour connecter la nunchuk à la carte adafruit
41BM2RVgCaL._SY300_.jpg
Je pense avoir tous dit pour présenter le projet, maintenant je vais vous expliquer ou je coince.
J'ai fait un algorithme sur flow code pour simuler le fonctionnement du système et j'ai ensuite essayer de traduire ce dernier sur arduino mais lors de la simulation les moteurs ne sont pas alimenter.
Voici le programme arduino, (dsl pour la mise en page, j'ai pas réussi à fait apparaitre les espaces à chaque ligne)
J'aimerais être guider pour résoudre ce problème, je suis débutant en programmation et je vous avoue que je coince à ce niveau.Code:#include <Wire.h> #include <ArduinoNunchuk.h> #include <AFMotor.h> #define BAUDRATE 19200 ArduinoNunchuk nunchuk = ArduinoNunchuk(); AF_DCMotor motor1(1); //moteur avant droit AF_DCMotor motor2(2); //moteur avant gauche AF_DCMotor motor3(3); //moteur arriere droit AF_DCMotor motor4(4); //moteur arriere gauche void setup() { Serial.begin(BAUDRATE); nunchuk.init(); } void loop() { nunchuk.update(); while (117 <= nunchuk.analogY <= 137) { while (nunchuk.analogX < 117) { motor2.setSpeed(255); motor2.run(FORWARD); motor4.setSpeed(255); motor4.run(FORWARD); } motor2.run(RELEASE); motor4.run(RELEASE); while (nunchuk.analogX > 137) { motor1.setSpeed(255); motor1.run(FORWARD); motor3.setSpeed(255); motor3.run(FORWARD); } motor1.run(RELEASE); motor3.run(RELEASE); } while(117 >= nunchuk.analogY >= 137) { while (137 < nunchuk.analogY) { motor1.setSpeed(255); motor1.run(FORWARD); motor2.setSpeed(255); motor2.run(FORWARD); motor3.setSpeed(255); motor3.run(FORWARD); motor4.setSpeed(255); motor4.run(FORWARD); } motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); while(117 > nunchuk.analogY) { motor1.setSpeed(255); motor1.run(BACKWARD); motor2.setSpeed(255); motor2.run(BACKWARD); motor3.setSpeed(255); motor3.run(BACKWARD); motor4.setSpeed(255); motor4.run(BACKWARD); } motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); } }
Merci à vous.
-----