erreur leds

bonjours avec ce code j’ai un problème

int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int bp3 = 0;
int pourcent = 25;
void setup() {
  // put your setup code here, to run once:
  pinMode(led3 , OUTPUT);
  pinMode(led4 , OUTPUT);
  pinMode(led5 , OUTPUT);
  pinMode(led6 , OUTPUT);
  pinMode(led7 , OUTPUT);
bp3 = digitalRead(A2);
}

void loop() {
  bp3 = digitalRead(A2);
  if(bp3 == HIGH)
{
  if(pourcent <= 25);
  {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
  }
  if(pourcent <= 50);
  {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
  }
  if(pourcent <= 75);
  {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
  }
  if(pourcent <= 100);
  {
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    digitalWrite(led6, HIGH);
    digitalWrite(led7, LOW);
  }
  delay(5000);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
 }
}

normalement une seule led devrait s’allumer mais les quatres s’allume et je ne comprends pas pourquoi ?

normal, suppose pourcent = 5

regarde l’ordre de tes tests

si %< 25 =>allume led1
si %< 50 =>allume led2
si %< 75 =>allume led3
si %< 100 =>allume led4

tu ferais comme ton micro, tu allumerais les 4 leds

il faudrait que j'inverse tous les condition ?

oui commence par si > 100 si > 75 si > 50 si > 25

merci beaucoup !

Au départ tu définis pourcent a la valeur 25, comment ta variable va changer dans ton code ?

Fredericzim: Au départ tu définis pourcent a la valeur 25, comment ta variable va changer dans ton code ?

Je pense que ça viendra plus tard.

Polua: il faudrait que j'inverse tous les condition ?

Tu aurai pu aussi faire des intervalles, si pourcent entre 0 et 25 alors 1 led, si entre 25 et 50 alors 2 leds etc...

oui mais comment faire ? ce n'est juste une partie de code mais je pense que je vais faire un poste dans la partie réalisation !

If ( pourcent >0 || pourcent < 25)

//instructions

If (pourcent > 25 || pourcent < 50)

//instructions

etc…

La double barre signifie ET, tu peux donc ainsi vérifier 2 conditions

Jambe:
If ( pourcent >0 || pourcent < 25)

//instructions

If (pourcent > 25 || pourcent < 50)

//instructions

etc…

La double barre signifie ET, tu peux donc ainsi vérifier 2 conditions

|| c’est le ou logique, le et logique c’est &&

Oui c'est vrai quel idiot!

Merci kamill d'avoir repris