Go Down

Topic: come terminare il programma all'interno di un if (Read 457 times) previous topic - next topic

valryu

Ciao buon giorno,qualcuno mi può aiutare devo fare un programma in cui se una condizione entra in un "if" e rimanga dentro

ess
  if (estadoActual-estadoAnterior>0.01){
         
          digitalWrite(13,HIGH);
          lcd.setCursor(5,1);
          lcd.print("ALERT");
          delay(500);
          lcd.clear();
          return;
          }

.
.
.

gpb01

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (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
Search is Your friend ... or I am Your enemy !

ORSO2001

ciao valryu,

if() viene valutato una volta per ciclo e se l'espressione all'interno delle sue () ritorna VERO allora il pezzo di codice della stessa if(), come nel tuo caso, verrà eseguito una volta altrimenti no; attenzione che se, appunto, questo si ripete ad ogni ciclo loop().

se tu vuoi che, al verificarsi di una condizione, il programma rimanga li ad eseguire specifiche righe di programma e non completare e ripetere l'intero loop() allora devi sostituire l'if() con il while()...attenzione che all'interno del while() ci deve essere qualche cosa che verifica nuovamente la condizione verificata altrimenti non ne esci più.

però ho il sospetto che il tuo vero problema è come hai impostato il codice...ragiona su quello che ti ho detto all'inizio e cioè che if() viene valutato una volta a ciclo loop()...quindi il loop() non si ferma mai...ma si ripete continuamente.

Go Up