[Résolu] Déclenchement séquence clignotement LDR

Bonjour a tous,
je suis debutant sur arduino et j'aurais besoin de votre aide.

Je souhaite faire une lampe qui s'allume dès qu'il fait nuit et qui s'eteint quand il fait clair. Je voudrais que les leds s'allument avec une sequence de clignotemet, d'ou le code barbare au debut.

tout fonctionne bien jusqu'au "while". En effet, des que je cache le LDR, les leds clignotent comme prévu mais au lieu de rester allumés, la sequence de clignotement tourne en boucle...

const int ldr = 0;
int valeur = 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(9, OUTPUT);
pinMode(11, OUTPUT);
pinMode(ldr, INPUT);

}

void loop() {

valeur = analogRead(ldr);

if (valeur<60)
{digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay( 50);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay( 50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
delay (50);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay (50);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9,LOW);
delay (50);

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay  (150);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9,LOW);
delay (150);


digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay  (150);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9,LOW);
delay (150);

digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay  (150);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9,LOW);
delay (150);
analogRead(ldr);
  
  
 while (analogRead(ldr)<60){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);

analogRead(ldr);}


}
    else (analogRead(ldr)>60 );
         
         {digitalWrite(2, LOW);
         digitalWrite(3, LOW);
         digitalWrite(4, LOW);
         digitalWrite(5, LOW);
         digitalWrite(6, LOW);
         digitalWrite(7, LOW);
         digitalWrite(8, LOW);
         digitalWrite(9,LOW);
  }

je ne sais pas si j'ai été tres clair, n'hésitez pas a me demader des précisions!

merci a tous

tu avais une accolade mal placée

const int ldr = 0;
int valeur = 0;

void setup() 
{
  for (int f=2;f<=9;f++){pinMode(f, OUTPUT);}
  pinMode(11, OUTPUT);
  pinMode(ldr, INPUT);
}

void loop() 
{

valeur = analogRead(ldr);

if (valeur<60)
{
digitalWrite(2, HIGH);
for (int f=3;f<=9;f++){digitalWrite(f, LOW);}
delay( 50);
for (int f=2;f<=3;f++){digitalWrite(f, HIGH);}
for (int f=4;f<=9;f++){digitalWrite(f, LOW);}
delay (50);
for (int f=2;f<=4;f++){digitalWrite(f, HIGH);}
for (int f=5;f<=9;f++){digitalWrite(f, LOW);}
delay( 50);
for (int f=2;f<=5;f++){digitalWrite(f, HIGH);}
for (int f=6;f<=9;f++){digitalWrite(f, LOW);}
delay (50);
for (int f=2;f<=6;f++){digitalWrite(f, HIGH);}
for (int f=7;f<=9;f++){digitalWrite(f, LOW);}
delay (50);
for (int f=2;f<=7;f++){digitalWrite(f, HIGH);}
for (int f=8;f<=9;f++){digitalWrite(f, LOW);}
delay (50);
for (int f=2;f<=8;f++){digitalWrite(f, HIGH);}
digitalWrite(9, LOW);
delay (50);
for (int f=2;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
digitalWrite(2, LOW);
for (int f=3;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=3;f++){digitalWrite(f, LOW);}
for (int f=4;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=4;f++){digitalWrite(f, LOW);}
for (int f=5;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=5;f++){digitalWrite(f, LOW);}
for (int f=6;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=6;f++){digitalWrite(f, LOW);}
for (int f=7;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=7;f++){digitalWrite(f, LOW);}
for (int f=8;f<=9;f++){digitalWrite(f, HIGH);}
delay (50);
for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
digitalWrite(9, HIGH);
delay (50);
for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
delay (50);
for (int f=2;f<=9;f++){digitalWrite(f, HIGH);}
delay  (150);
for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
delay (150);
for (int f=2;f<=9;f++){digitalWrite(f, HIGH);}
delay  (150);
for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
delay (150);
for (int f=2;f<=9;f++){digitalWrite(f, HIGH);}
delay  (150);
for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
delay (150);
for (int f=2;f<=9;f++){digitalWrite(f, HIGH);}

analogRead(ldr);
 while (analogRead(ldr)<60)
 {
analogRead(ldr);
 }
}
else if (analogRead(ldr)>60 )
  {
   for (int f=2;f<=9;f++){digitalWrite(f, LOW);}
  }
}

Tu as vérifié la valeur mesurée sur la broche ldr ? (Serial.print)

Le else (analogRead(ldr) >60); c'est n'importe quoi ! (Else c'est la condition non vérifié du test if ... Donc tu écris juste :
Else {
DigitalWrite .....

}

@dfgh merci beaucoup (pour la simplification aussi