Singola azione dopo if

Salve,
vorrei produrre Un Solo impulso di mezzo secondo quando il mio sensore va oltre il valore di 500;
usando if/else e' abbastanza semplice, ma l'impulso si ripete all'infinito anziche' una sola volta.

void loop() {

  sensorValue = analogRead(sensorPin);

  Serial.println(sensorValue);
  
  {
    if (sensorValue<500)
  digitalWrite(ledPin, LOW);

  
  else
  
  digitalWrite(ledPin, HIGH);
  delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
}

ho provato ad:
-inserire for(int i=0; i<2;i++);
-togliere l'ultimo delay
con nessun risultato.
Potete darmi una mano...
grazie anticipatamente

Si ripete all'infinito perché la condizione è sempre vera quando il valore è oltre 500.
Devi aggiungere un flag, dentro la else, da settare quando il valore è maggiore di 500 e resettare quando è minore, controllando questo flag, con una if dentro la else, verifichi se devi eseguire le altre istruzioni oppure no.

Devi usare una flag (variabile di stato) per dire allo sketch cosa fare e quando ... esempio: se devi produrre un'impulso ogni volta che va oltre 500, ti crei una variabile (chiamala come vuoi, diciamo "fatto", e gli cambi stato ogni volta che crei l'impulso, e la resetti ogni volta che il valore torna sotto, poi produci l'impulso solo se la variabile non ha ancora cambiato stato ... tipo ...

se valore > 500 e fatto == 0
produci impulso
fatto = 1

se valore < 500
fatto = 0

In questo modo, la prima volta che il valore supera 500, le due condizioni sono vere e produci l'impulso, ma siccome subito dopo cambi "fatto" da 0 ad 1, non lo produci piu finche' prima non scendi di nuovo sotto i 500 e lo riporti a 0 ...

EDIT: battuto sul tempo :stuck_out_tongue:

Credo che ci vogliano anche delle graffe attorno al corpo dell'if e, soprattutto, dell'else, visto che deve eseguire più istruzioni.

>brase: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie.

Guglielmo

grazie ragazzi, chiarissimo!
Guglielmo sorry per il mancato editing, faro' piu attenzione