Problème, avec programme arduino UNO SMD

Bonjour à tous,
J'ai un projet de BAES, et je suis sur le point d'aboutir mais je me heurte à un petit problème.
Voilà le code source :

int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int compteur = 7;
int LDRPin = A0;
int LDRReading;

void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}

void loop() 
{
LDRReading = analogRead(LDRPin);
Serial.print("Analog reading = ");
Serial.print(LDRReading);

if (LDRReading < 150)
{
 digitalWrite(led1, HIGH); 
 delay(500);
 digitalWrite(led1, LOW);
 
 digitalWrite(led2, HIGH); 
 delay(500);
 digitalWrite(led2, LOW);
 
 digitalWrite(led3, HIGH); 
 digitalWrite(led4, HIGH);
 delay(500);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 
 digitalWrite(led5, HIGH); 
 delay(500);
 digitalWrite(led5, LOW);
 delay(500);

 digitalWrite(led1, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led4, HIGH);
 digitalWrite(led5, HIGH);
 delay(1000);

 }
 
 else
 {
 digitalWrite(led1, LOW);
 digitalWrite(led2, LOW);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 digitalWrite(led5, LOW);
 }
}

Alors là, le programme fonctionne parfaitement, mais j'aimerais que sur la partie suivante les 5 LED's restent allumées à la fin du programme, mais qu'il remette à jour le IF pour voir si la valeur est toujours inférieur à 150 et si il est supérieur enclencher le ELSE.

if (LDRReading < 150)
{
 digitalWrite(led1, HIGH); 
 delay(500);
 digitalWrite(led1, LOW);
 
 digitalWrite(led2, HIGH); 
 delay(500);
 digitalWrite(led2, LOW);
 
 digitalWrite(led3, HIGH); 
 digitalWrite(led4, HIGH);
 delay(500);
 digitalWrite(led3, LOW);
 digitalWrite(led4, LOW);
 
 digitalWrite(led5, HIGH); 
 delay(500);
 digitalWrite(led5, LOW);
 delay(500);

 digitalWrite(led1, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led4, HIGH);
 digitalWrite(led5, HIGH);
 delay(1000);

 }

Merci d'avance !

Salut,

moi pas comprendre, ça serait possible d'avoir une version plus claire ?
on arrive pas a deviner les pensées encore ...
Merci

Salut, je pensais m’être bien exprimer mais c'est vrai que c'est difficile à expliquer.

En gros j'ai une LDR et 5 LED's en forme de flèche like this :

->
-> -> ->
->

Ma LDR capte la lumière, et quand elle perçoit plus de 150 Lumens je crois, ARDUINO exécute
le ELSE donc aucune LED ne s'allume.
En revanche quand la LDR perçoit moins de 150 Lumens, ARDUINO exécute le IF qui lui lance
le programme.

Mon problème est que vu que c'est dans une boucle une fois qu'il est dans une dans la partie
IF ne reviens pas sur la valeur de la LDR car je veux faire une boucle infini sur la fin pour que cela
reste allumée.

En gros comment faire une boucle sur

digitalWrite(led1, HIGH);
 digitalWrite(led2, HIGH);
 digitalWrite(led3, HIGH);
 digitalWrite(led4, HIGH);
 digitalWrite(led5, HIGH);
 delay(1000);

Tout en vérifiant la valeur de la LDR pour qu'il exécute ELSE si besoins.

J'espère etre plus claire mais c'est vraiment difficile d'expliquer :frowning: