Go Down

Topic: Je ne trouve pas mes erreurs (Read 44 times) previous topic - next topic

leduc

bonjour, je cherche à gérer via un BP position =>1 chenillard K200 vitesse gérer par potentiomètre
                                                       position =>2 leds gérer par détection sonore

mais je ne trouve pas mes erreurs dans mon programme.
si quelqu'un peut m'aider merci d'avance ;)


sketch_may08b.ino:102:3: error: expected unqualified-id before 'if'
Erreur lors de la compilation.



Code: [Select]

int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int pin8 = 8;
int etatInterrupteur=12;
int timer = 50;
int pinPot=0;
int valPot=0;


void setup() {
  pinMode (2, OUTPUT);
  pinMode (3, OUTPUT);
  pinMode (4, OUTPUT);
  pinMode (5, OUTPUT);
  pinMode (6, OUTPUT);
  pinMode (7, OUTPUT);
  pinMode (8, OUTPUT);
pinMode(12,INPUT);
}

void loop() {
  
  etatInterrupteur = digitalRead(12);
  
  if ( etatInterrupteur == HIGH) {
  
    valPot=analogRead(A0);
    int attente=valPot;
  
  digitalWrite(pin2, HIGH);
  delay(timer);
  digitalWrite(pin2, LOW);
  delay(timer);
  
  digitalWrite(pin3, HIGH);
  delay(timer);
  digitalWrite(pin3, LOW);
  delay(timer);
  
  digitalWrite(pin4, HIGH);
  delay(timer);
  digitalWrite(pin4, LOW);
  delay(timer);

  digitalWrite(pin5, HIGH);
  delay(timer);
  digitalWrite(pin5,LOW);
  delay(timer);
  
  digitalWrite(pin6, HIGH);
  delay(timer);
  digitalWrite(pin6, LOW);
  delay(timer);
  
  digitalWrite(pin7, HIGH);
  delay(timer);
  digitalWrite(pin7, LOW);
  delay(timer);
  
  digitalWrite(pin8, HIGH);
  delay(timer);
  digitalWrite(pin8, LOW);
  delay(timer);
  
  digitalWrite(pin7, HIGH);
  delay(timer);
  digitalWrite(pin7, LOW);
  delay(timer);
  
  digitalWrite(pin6, HIGH);
  delay(timer);
  digitalWrite(pin6, LOW);
  delay(timer);
  
  digitalWrite(pin5, HIGH);
  delay(timer);
  digitalWrite(pin5, LOW);
  delay(timer);
  
  digitalWrite(pin4, HIGH);
  delay(timer);
  digitalWrite(pin4, LOW);
  delay(timer);
  
  digitalWrite(pin3, HIGH);
  delay(timer);
  digitalWrite(pin3, LOW);
  delay(timer);
  
  digitalWrite(pin2, HIGH);
  delay(timer);
  digitalWrite(pin2, LOW);
  delay(timer);
  }
}
  
  
  if ( etatInerrupteur == LOW) {
  
    
  int val = analogRead(A2);

if (val >=40){
    digitalWrite(2, HIGH);
    delay(50);
    digitalWrite(2, LOW);
  }
  else if (val >=35){
    digitalWrite(3, HIGH);
    delay(50);
    digitalWrite(3, LOW);
  }
  else if (val >=30){
    digitalWrite(4, HIGH);
    delay(50);
    digitalWrite(4, LOW);
  }
  else if (val >=25){
    digitalWrite(5, HIGH);
    delay(50);
    digitalWrite(5, LOW);
  }
  else if (val >=20){
    digitalWrite(6, HIGH);
    delay(50);
    digitalWrite(6, LOW);
  }
  else if (val >15){
    digitalWrite(7, HIGH);
    delay(50);
    digitalWrite(7, LOW);
  }
  else if (val >=10){
    digitalWrite(8, HIGH);
    delay(50);
    digitalWrite(8, LOW);
  }
    }
    


lesept

#1
May 09, 2019, 03:35 pm Last Edit: May 09, 2019, 05:20 pm by lesept
Le } avant la ligne if ( etatInerrupteur == LOW) ferme la loop. Enlève-le.

De plus ton nom de variable est incorrect : etatInerrupteur au lieu de etatInterrupteur
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

kamill

Bonjour,

Pour éviter ce genre d'erreur il faut bien formater son source.

Tu formates avec ctrl T (sous windows) et tu t'aperçois immédiatement qu'il y a quelque chose qui ne va pas car l'indentation du second if est au même niveau que loop() donc en dehors de la loop.

Go Up