Uscire da un "if" durante un ciclo
ragazzi buonasera... sto realizzando un piccolo progettino per hobby su dei led rgb. in pratica per iniziare sto facendo in modo tale che mettendo un interruttore, se lo chiudo, allora parte un gioco automatico con led....mentre se lo apro, posso regolare led rgb da solo con potenziometri che ho messo....bè diciamo che tutto funziona, solo che ho un problema: per quanto riguarda il gioco automatico, sto lavorando con delay...e quindi se io faccio partire il lampeggio vario (gioco) e durante il ciclo di lampeggi io apro l'interruttore, prima che passi alla modalità regolazione con potenziometri devo aspettare che tutto il ciclo di lampeggi con merdosi delay sia finito. potete darmi una mano? faccio un piccolo esempio...senza che mi metto postare l'intero codice:
code: [select]
#define ledpin 5
#define interruttore 2
int statoint = 0;
void setup () {
pinmode(ledpin,output);
pinmode(interruttore,input);
}
void loop() {
statoint = digitalread(interruttore);
if (statoint == 1){
digitalwrite(ledpin,high);
delay(1000);
digitalwrite(ledpin,low);
delay(1000);
digitalwrite(ledpin,high);
delay(1000);
}else{
digitalwrite(ledpin,low);
}
}
tu non hai bisogno di uscire da un "if" ma da un "delay". e da un delay non si esce finché non è trascorso il tempo che hai passato alla funzione. devi usare "millis". con millis puoi leggere il tempo trascorso e contemporaneamente fare altre cose.
ti invito alla lettura di questo articolo che ti spiega come fare quel che ti serve.
ti invito alla lettura di questo articolo che ti spiega come fare quel che ti serve.
Arduino Forum > International > Italiano > Software (Moderator: leo72) > Uscire da un "if" durante un ciclo
arduino
Comments
Post a Comment