problema con fotoresistenza che controlla dei led

Salve ho intenzione di creare un programma per arduino che prende in input il valore di una fotoresistenza e ogni volta che supera un valore(per es. 400) spegne un LED (in totale ho intenzione di usare 4/5 LED)

Non l’ho scritto prima, conosco le basi del c e c++

int luce;
int lucen = 5;
bool v = 0;
void setup() {
 // put your setup code here, to run once:
 Serial.begin(9600);
 pinMode(8, OUTPUT);
 pinMode(9, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(11, OUTPUT);
 pinMode(12, OUTPUT);
}

void loop() {
 // put your main code here, to run repeatedly:
 luce = analogRead(0);
 Serial.println(luce);
 if (v == 1)
 {
   digitalWrite(8, HIGH);
   digitalWrite(9, HIGH);
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   digitalWrite(12, HIGH);
 }
 if (luce < 400)
 {
   lucen = lucen - 1;
   if (lucen == 4)
   {
     digitalWrite(8, LOW);
   }
   if (lucen == 3)
   {
     digitalWrite(9 , LOW);
   }
   if (lucen == 2)
   {
     digitalWrite(10 , LOW);
   }
   if (lucen == 1)
   {
     digitalWrite(11 , LOW);
   }
   else
   {
     digitalWrite(12, LOW);
   }
   v = 1;
 }
}

quando eseguo questo programma si accendono i 5 led solo superato il valore stabilito della fotoresistenza e il mio quinto led si spegne quando ritorna il valore stabilito.
questo è il codice che ho scritto, potreste aiutarmi?
grazie

Buona sera e benvenuto sul forum,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO … Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili

Ciao francifgl , ho riscritto il codice in un modo differente , prima di vederlo però ti serve sapere come si usa uno switch case , se non lo conosci puoi sempre vedere qua CLICCA QUA ( PAGINA UFFICIALE ARDUINO) , oppure se non capisci chiedi pure , in ogni caso il codice che ho riscritto è questo , dovrebbe funzionare :

#define led1 8
#define led2 9
#define led3 10
#define led4 11
#define led5 12
#define Vs 400  // valore di soglia Vs , cioè Vs = Vs , posto dove compara la variabile letta 

int Lval = 0; // valore in entrata del tuo sensore
int pass = 0; // valore dei case

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  Lval = analogRead(0);
  Serial.println(Lval);


  switch (pass) {
    case 0:
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      pass = 1;
      break;

    case 1:
      if (Lval > Vs) {
        digitalWrite(led5, LOW);
        pass = 2;
        delay(100);
      }
      else {
        delay(100);
        pass = 1;
      }
      break;

    case 2:
      if (Lval > Vs) {
        digitalWrite(led4, LOW);
        pass = 3;
        delay(100);
      }
      else {
        delay(100);
        pass = 2;
      }
      break;

    case 3:
      if (Lval > Vs) {
        digitalWrite(led3, LOW);
        pass = 4;
        delay(100);
      }
      else {
        delay(100);
        pass = 3;
      }
      break;

    case 4:
      if (Lval > Vs) {
        digitalWrite(led2, LOW);
        pass = 5;
        delay(100);
      }
      else {
        delay(100);
        pass = 4;
      }
      break;

    case 5:
      if (Lval > Vs) {
        digitalWrite(led1, LOW);
        pass = 5;
        delay(100);
      }
      else {
        delay(100);
        pass = 5;
      }
      break;

  }

}