Salve, perdonate la mia poca esperienza con il linguaggio di programmazione....
Come da titolo, avrei la necessità di far lampeggiare una barra led con tre diverse "frequenze" di lampeggio e con tempi diversi.
Sono riuscito a scrivere il codice del programma utilizzando la funzione delay() per determinare la "frequenza" del lampeggio, mentre per determinare la durata del lampeggio ho pensato di contare il numero dei lampeggi definendo la variabile "conta".
Tutto funziona correttamente ma terminata l'esecuzione del terzo ed ultimo ciclo, la barra led si spegne... e sono costretto a premere il pulsante reset per far ripartire il ciclo.
Come posso fare per far ripartire il ciclo in automatico? dove ho sbagliato?
Confido in un vostro gradito aiuto.
Vi ringrazio.
Ecco il codice:
#define ledPin 7
int conta = 0; // variabile del contatore
void setup() {
pinMode(ledPin, OUTPUT); // imposta il pin digitale ledPin come uscita
}
void loop() {
if(conta<2000){
digitalWrite(ledPin, HIGH); // accende ledPin
delay(500); //attende mezzo secondo
digitalWrite(ledPin, LOW); //spegne ledPin
delay(500); //attende mezzo secondo
conta++; // incrementa la variabile conta}
}
if((conta>=2000)&&(conta<=4000)){
digitalWrite(ledPin, HIGH); // accende ledPin
delay(1000); //attende un secondo
digitalWrite(ledPin, LOW); //spegne ledPin
delay(1000); //attende un secondo
conta++; // incrementa la variabile conta
}
if((conta>=4000)&&(conta<=6000)){
digitalWrite(ledPin, HIGH); // accende ledPin
delay(2000); //attende due secondi
digitalWrite(ledPin, LOW); //spegne ledPin
delay(2000); //attende due secondi
conta++; // incrementa la variabile conta
}}