Probleme Adafruit motor schield

Bonsoir les amis,

Dans le cadre de réalisation d’un petit projet qui consiste a transformer une voiture télécommandée en une voiture plus intelligente, dans un premier temps je voulais juste commander la voiture par Bluetooth et donc j’ai acheté tous ce qu’il a fallu (arduino uno, module HC-05, adafruit motor schield v1) et j’ai réussi a faire marcher la voiture avec une application développé sous appinventor.

Apres cela j’ai décide de compliquer un peu les choses en ajoutant un capteur infrarouge bfd-1000 et un HC-SR04 pour qu’elle puisse suivre une ligne tracée et éviter les obstacles et donc j’étais obligé d’acheter un Arduino MEGA pour avoir plus de pin.

Mais le probleme que j’ai rencontré c’est que avec L’arduino MEGA j’arrive plus à commander les moteurs comme si la carte ne reconnait pas le schield , j’ai réinstallé la librairie mais le problème persiste toujours , par contre j’ai remarqué par exemple quand je clique sur un bouton pour avancer ou peu importe que la Led du schield s’allume plus donc je pense qu’il reçoit bien la commande du bluetooth

Donc je me demande est ce qu’il ya quelqu’un d’entre vous à rencontrer le même problème ou bien il connais la solution, j’apprécie énormément votre aide

Merci

bonjour, code? lien? trop peu d'infos

Voila le code

#include <SoftwareSerial.h>
#include <AFMotor.h>
SoftwareSerial BT(A8, A9); // RX | TX


AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
AF_DCMotor servo(4, MOTOR12_1KHZ); // create motor #2, 64KHz pw

int VitesseMax= 250;
int VitesseMin= 100;

int Data=0; 
//int led = 22;


void setup() {
    Serial.begin(9600);
    BT.begin(9600);
    Serial.println(" la voiture est prete pour rouler ");

    motor.setSpeed(VitesseMax);
    servo.setSpeed(VitesseMin);
    //pinMode(led, OUTPUT);

}

void loop() {

  if (BT.available()){
   Serial.println(" la connexion est reussie");
    Data=BT.read();
    Serial.println(Data);

    switch(Data)
    {
      case 1:
      {
        Serial.println("avancer");
        motor.run(FORWARD);
        //digitalWrite(led,1);
      }
      break;

      case 2:
      {
        Serial.println("reculer");
        motor.run(BACKWARD);
      }
      break;

      case 3:
      {
        Serial.println("tourner a gauche");
        servo.run(BACKWARD);
      
      }
      break;
      
      case 4:
      {
        Serial.println("tourner a droite");
        servo.run(FORWARD);
       
      }
      break;

      case 5:
      {
        Serial.println("avancer a droite");
        servo.run(FORWARD);
        motor.run(FORWARD);
       
      }
      break;

      case 6:
      {
        Serial.println("avancer a gauche");
        servo.run(BACKWARD);
        motor.run(FORWARD);
       
      }
      break;

      case 7:
      {
        Serial.println("reculer a droite");
        servo.run(FORWARD);
        motor.run(BACKWARD);
       
      }
      break;

      case 8:
      {
        Serial.println("reculer a droite");
        servo.run(BACKWARD);
        motor.run(BACKWARD);
       
      }
      break;


      case 0:
      {
        Serial.println("arreter");
        motor.run(RELEASE);
        servo.run(RELEASE);
        //digitalWrite(led,0);
      }
      break;
      
    }
    
  }
  if (Serial.available())
  BT.write(Serial.read());

}

et Voici le materiel que j'utilise :

Motor schield : http://www.banggood.com/Motor-Drive-Shield-L293D-for-Arduino-Duemilanove-Mega-UNO-p-72855.html?rmmds=myorder

Arduino MEGA :https://www.amazon.fr/gp/product/B01HQ0JDL8/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Module Bluetooth : http://www.banggood.com/HC-05-Wireless-Bluetooth-Serial-Module-With-Baseplate-For-Arduino-p-959393.html?rmmds=myorder

Pour moi, on ne commande pas les servos comme cela avec cette carte. mais je me trompe peut-être.

https://learn.adafruit.com/adafruit-motor-shield/using-rc-servos

En vrai je n’ai pas un servo pour la direction, j’ai un moteur DC normal, c juste dans le code je l’ai appelé “servo”

personne n'a une idée ?

Bonjour,

Il faut essayer d'isoler les problèmes. Déconnecte tout ce qui n'est pas Mega et Motor shield, mets en commentaires dans le code ce qui correspond à ce que tu as enlevé et regarde si ça marche. Parce que là, le problème pourrait aussi venir du module bluetooth, ou des capteurs, etc...