probleme commande moteur en bleutooth

bonsoir
J'ai un probleme avec mon programme arduino. j'ai crée mon application pour contrôler avec bluetooth deux moteurs a l'aide d'une carte arduino. donc lorsque je clique avancr sur mon application les moteurs se mettent a tourner.Mais je souhaite que lorsque j'appuis sur le bouton cela stoppe la rotation des moteurs pour les faire tourner dans l'autre sens . or je ne sais pas comment faire.
voici une copie de mon programme

const int vitesseMotA=3; 
const int sensMotA=12; 
const int freinMotA=9; // Constante pour la broche 9
const int intensiteMotA=A0; // intensité du moteur 0

const int vitesseMotB=11;
const int sensMotB=13; 
const int freinMotB=8; // Constante pour la broche 8
const int intensiteMotB=A1; // intensité du moteur 1


char BluetoothData;


void setup()   {

Serial.begin(9600); //Initialize serial at 115200bps
 
 pinMode (vitesseMotA,OUTPUT); 
 pinMode (vitesseMotB,OUTPUT);
 pinMode (sensMotA,OUTPUT); 
 pinMode (sensMotB,OUTPUT); 


}
void loop(){ 

Serial.print(BluetoothData);


  if (Serial.available())
  {
    BluetoothData = Serial.read();
    }

  else if(BluetoothData == 'A'){
  digitalWrite(sensMotA,HIGH);
digitalWrite(vitesseMotA, HIGH);
digitalWrite(sensMotB,HIGH);
digitalWrite(vitesseMotB, HIGH);    
}

else if(BluetoothData == 'A'){
  
 digitalWrite(freinMotA,HIGH);
  digitalWrite(freinMotB,HIGH);   
}

else if(BluetoothData == 'R'){
  digitalWrite(sensMotA,LOW);
digitalWrite(vitesseMotA, HIGH);
digitalWrite(sensMotB,LOW);
digitalWrite(vitesseMotB, HIGH);    
}

else if(BluetoothData == 'R'){
  
  digitalWrite(freinMotA,HIGH);
  digitalWrite(freinMotB,HIGH);   
} 



}

merci de votre aide est bonne soirée :slight_smile:

Vous comprenez votre programme? (Vous l'avez ou trouvé sur le net?)

Pourquoi avoir deux fois if(BluetoothData == 'A')?

Appuyez sur CTRL-T (pou CMD-T sur mac) pour indenter le code vous verrez que vos else sont bizarre

Pourquoi envoyer aucun ordre lorsque vos recevez un caractere et attendre le tour de boucle suivant ?

Pour renvoyer les mêmes ordres en permanence si vous n'avez rien reçu ?

Bonjour je n'ai pas trouvé le programme sur le net j'ai mis deux if bleutooth data =A car je souhaite que lorsque j'appuie une fois sur bouton ça démarre le moteur et lorsque je reappui une autre fois cela arrête le moteur mais cela ne marche pas

Appuyez sur CTRL-T (pou CMD-T sur mac) pour indenter le code vous verrez que vos else sont bizarres

--> il faut restructurer votre code dans la loop()

tester si vous recevez un caractère.
--> si rien, ne rien faire.
--> si caractère reçu, déterminer ce caractère et en fonction de l'état courant décider de l'ordre à envoyer.