Go Down

Topic: fonction was not declared in this scope (Read 1 time) previous topic - next topic

hassanleboss

May 29, 2017, 07:15 pm Last Edit: May 29, 2017, 08:08 pm by hassanleboss
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
:)  :)  :)  :)  :)

Code: [Select]
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()
{
   
  }







J-M-L

#1
May 29, 2017, 08:05 pm Last Edit: May 29, 2017, 08:07 pm by J-M-L
corrigez votre post - mettez le code en ligne ci dessus et rajoutez les code tags autour du code:
[code] // votre code ici [/code].

ça doit ressembler à cela:
Code: [Select]
// 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)


Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

hassanleboss

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

J-M-L

#3
May 29, 2017, 08:11 pm Last Edit: May 29, 2017, 08:13 pm by J-M-L
--> 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 )
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

hassanleboss

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

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....

Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

hazerty565

#6
May 29, 2017, 08:23 pm Last Edit: May 29, 2017, 08:26 pm by hazerty565
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

hassanleboss

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

hazerty565

{ // 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

hazerty565

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

hassanleboss

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

hazerty565

#11
May 29, 2017, 08:32 pm Last Edit: May 29, 2017, 08:34 pm by hazerty565
//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...

J-M-L

Après un ctrl-T je vois que la loop() se ferme deux fois
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Go Up