erreur module bluetooth hc06

Bonjour a tous

Je suis en train de créer un robot qui pourrait être piloter par un smartphone .
j’ai créer l application via app inventor et j ai programmer le module bluetooth avec arduino (j’utilise une arduino uno avec un shield moteur) .
Cependant je rencontre un problème l application détecte le module et lorsque je clique sur avancer le robot avance mais lorsque je clique sur reculer soit la réponse met du temps a être exécutée soit le module se déconnecte et j ai une erreur qui s’affiche sur l application “Error 516 broken pipe” .

Est ce que quelqu’un aurait une solution ?
Merci

Voici ci joint une copie de mon code arduino

test_shield.ino (1.39 KB)

Toujours Dans le cadre de votre TPE ?

toutes vos commandes devraient être dans le "si j'ai reçu une commande", pas la peine de répéter les ordres aux moteurs à chaque tour de loop()

pas besoin non plus d'attendre 1/2 seconde avant de remonter..

testez avec une loop qui ressemble à ça (j'ai mis un switch au lieu de vos if, c'est plus lisible comme cela je trouve)

void loop()
{
  if (Serial.available())
  {
    char BluetoothData = Serial.read();

    switch (BluetoothData) {
      case 'D':
        digitalWrite(sensMotA, LOW);
        digitalWrite(vitesseMotA, HIGH);
        digitalWrite(sensMotB, HIGH);
        digitalWrite(vitesseMotB, HIGH);
        break;

      case 'G':
        digitalWrite(sensMotA, HIGH);
        digitalWrite(vitesseMotA, HIGH);
        digitalWrite(sensMotB, LOW);
        digitalWrite(vitesseMotB, HIGH);
        break;

      case 'A':
        digitalWrite(sensMotA, HIGH);
        digitalWrite(vitesseMotA, HIGH);
        digitalWrite(sensMotB, HIGH);
        digitalWrite(vitesseMotB, HIGH);
        break;

      case 'R':
        digitalWrite(sensMotA, LOW);
        digitalWrite(vitesseMotA, HIGH);
        digitalWrite(sensMotB, LOW);
        digitalWrite(vitesseMotB, HIGH);
        break;

      case 'S':
        digitalWrite(freinMotA, HIGH);
        digitalWrite(freinMotB, HIGH);
        break;
    } // find du switch
  } // fin de "si une nouvelle commande est arrivée"
}

bien entendu il ne faut pas que l'arduino soit connecté en USB sur votre ordinateur. Le module BT doit être connecté sur les pins 0 et 1 pour utiliser le port Serial (et bien sûr configuré à 9600 bauds)

vous avez bien assez de courant pour vos moteurs ? c'est branché comment tout cela ?

bonjour oui toujours dans le cadre de mon tpe j ai apporter les modifications necessaires comme vous m'avez dit de faire mais le problemes persiste!

comme le code est trivial, ça vient soit de l'appli android, soit d'un soucis électrique côté client. comment vous effectuez l'appairage? comment avez vous configuré votre HC-06? comment tout cela est il alimenté (est-ce que les moteurs partagent l'alimentation avec l'arduino et le shield BT ?)

oui c 'est une seul alimentation (pile 9v pour tout) pour la arduino et le shield je suis obligé car l alim de la carte se fait par le shield

il se peut que quand les moteurs se mettent en route ça tire trop de courant ce qui fait effondrer la tension et votre arduino / BT n'a plus assez pour fonctionner

avez vous de quoi séparer les alims ?

Oui j ai c e qu' il faut je dois donc separer l 'alim du module bluetooth et des moteurs ?

oui c'est mieux. l'électronique d'un côté, les moteurs de l'autre. (bien sûr la commande du moteur c'est de l'électronique)