Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN 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
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.