fonction was not declared in this scope

bonjour a tous

j'ai un probleme avec mon programme arduino lorsque je rajoute des elements dans mon programme qui permet de faire roulet un robot depuis une application via smartphone en bleutooth ,arduino m'affiche "Etape 1" was not declared in the scope" quelqu'un aurait il une solution merci
:slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile:

int E1 = 5;
int E2 = 6;
int M1 = 4;
int M2 = 7;
char BluetoothData;
char BluetoothData1;



void setup(){
 
  Serial1.begin(9600);
  pinMode(13,OUTPUT);
}

void loop() { // On va creer plusieurs étapes afin de mieux organiser les évenements qui se suivent.
 if(Serial1.available())
  {
    char BluetoothData = Serial1.read();

  
if(BluetoothData== 'J'){ //on va dans la boucle chenille manuelle
  Etape1();

exit(0);
}
else if(BluetoothData== 'L'){ //on va dans la boucle roue manuelle
  
 }
exit(0);
 }
 else 
 
 if(BluetoothData== 'I'){ //on va dans la boucle chenille auto
  exit(0);
  
 }
 else if(BluetoothData== 'K'){ //on va dans la boucle roue auto

  exit(0);
 }
  
     }
}
    

    
 









              /////////////////////////  BOUCLE CHENILLE MANUELLE //////////////////////////////////
void Etape1() 

{ 

if(Serial1.available())
  {digitalWrite(13,HIGH);
  delay(3000);
    char BluetoothData1 = Serial1.read();
    
if(BluetoothData1== 'A') {
 analogWrite (E1, 255);
  digitalWrite(M1, HIGH);
  analogWrite (E2, 255);
  digitalWrite(M2, HIGH);
}
else if(BluetoothData1== 'R') {
//reculer();
}

else if(BluetoothData1== 'D') {
  //droite();
}

else if(BluetoothData1== 'G') {
//gauche();
}
else if (BluetoothData== 'S') {
//stop1();
}
}
}



void avancer() {
  analogWrite (E1, 255);
  digitalWrite(M1, HIGH);
  analogWrite (E2, 255);
  digitalWrite(M2, HIGH);
}

void reculer() 
{
  analogWrite (E1, 255);
  digitalWrite(M1, LOW);
  analogWrite (E2, 255);
  digitalWrite(M2, LOW);
   
}

void droite()
{
   
  analogWrite (E1, 255);
  digitalWrite(M1, HIGH);
  analogWrite (E2, 255);
  digitalWrite(M2, LOW);
}

void gauche()

{
 analogWrite (E1, 255);
 digitalWrite(M1, LOW);
 analogWrite (E2, 255);
 digitalWrite(M2, HIGH);
   
}

void stop1()
{
  
  analogWrite (E1, 0);
  digitalWrite(M1, HIGH);
  analogWrite (E2, 0);
  digitalWrite(M2, HIGH);

}



void Etape2() 
{ 
}

                /////////////////////////  BOUCLE CHENILLE AUTO //////////////////////////////////
void Etape3() 
{
  }
                /////////////////////////  BOUCLE ROUE AUTO //////////////////////////////////
void Etape4() 
{
   
  }

robot.ino (2.1 KB)

corrigez votre post - mettez le code en ligne ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici

--> faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement - vous y verrez peut être plus clair aussi comme cela... (vous devriez trouver votre problème)

bonjour je ne voit toujours d'ou vient le problème

--> faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement - vous y verrez peut être plus clair aussi comme cela... (vous devriez trouver votre problème)

(sinon quand vous compilez regardez le second message d'erreur - ça vous donnera un indice supplémentaire )

je viens de faire ctrl+T mais ca ne m'avance toujours pas dans mon probleme !!!

quand on voit deux accolades de suite au même niveau d'indentation, généralement c'est signe que quelque chose n'est pas cohérent....

void Etape1()

{

if(Serial1.available())
{digitalWrite(13,HIGH);
delay(3000);
char BluetoothData1 = Serial1.read();
} <= manque

il faut que tu comptes le nombre de { et de } et qu'elles soit egale.. autrement il y a un soucis

hazerty565:
void Etape1()

{

if(Serial1.available())
{digitalWrite(13,HIGH);
delay(3000);
char BluetoothData1 = Serial1.read();
} <= manque

merci de ta réponse mais je viens de rajouter l'acolade mais le probleme persiste

{ // On va creer plusieurs étapes afin de mieux organiser les évenements qui se suivent.
if(Serial1.available())
{
char BluetoothData = Serial1.read();

} <= il en manque un

comme dis plus haut, revoi tes accolades, il y en a en trop, mal placé, ou il en manque a certain endroit

J-M-L:
quand on voit deux accolades de suite au même niveau d'indentation, généralement c'est signe que quelque chose n'est pas cohérent....

merci mais je ne vois pas ou est ce qu'il y a 2 accolades au même niveau d'indentation

//stop1();
}
} ligne 90
}
une en trop

exit(0);
}

}
} <= 45 mal placé

au pire telechage notepad++, si tu cliques sur les accolades tu verras qu'il y a un soucis...

Après un ctrl-T je vois que la loop() se ferme deux fois