torn24:
Ciao, io userei una variabile flag che assume i valori 0 e 1, e un timer con millis() che riporta la variabile flag allo stato iniziale.Faccio un piccolo esempio :
byte flag=1; //Variabile globale
unsigned long tempo;
void loop(){
if(flag){ // Eseguo o non eseguo a seconda del valore di flag 1 eseguo, 0 non eseguo
}// End if
if(condizione di pausa){
flag=0; // Interrompe l'esecuzione del codice dall if(flag)
tempo=millis();
}
/***********************************/
if(flag==0){// Esegue solo se è in pausa
if(millis()-tempo>=Pausa){ // Se la pausa è trascorsa
flag=1; // La pausa è finita il programma ripete
// e questo pezzo di codice non viene eseguito fino alla prossima pausa
}
}// End if
}
Se hai bisogno di due pause distinte, ti creerai due variabili flag, esempio flag1 e flag2, e due tempo1 tempo2, con due codici coem esempio postato. Se ti è stato di aiuto metti per favore un punto di carma :)
Grazie della risposta, ma non riesco a capire i passaggi:
if(flag){ //devo inserire questo?
if (valore <= h) {
digitalWrite (LED, HIGH);
}.
}// End if
if(condizione di pausa){ // devo anche dichiarare questa variabile?
flag=0; // Interrompe l'esecuzione del codice dall if(flag)
tempo=millis();
}