CONTENUTO ►
Ciclo while e do … while in Arduino IDE – consideriamo come utilizzare questi cicli nei programmi e quali errori evitare. Consideriamo l’uso degli operatori for() e while() sull’esempio di accensione e dissolvenza regolare dei LED. A tal fine, controlleremo il LED attraverso la porta PWM di Arduino per mostrare con un semplice esempio come avviare, interrompere il ciclo while() o passare da un ciclo all’altro utilizzando goto.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- LED e resistenza
- breadboard
- cavi di collegamento
Come si usa ciclo while e do … while di Arduino?
Il ciclo while viene eseguito in modo continuo e indefinito finché la condizione tra parentesi è vera. Il ciclo while esce con un’istruzione break o quando la variabile nella condizione while() cambia, quindi qualcosa nello sketch deve cambiare il suo valore. La variabile può essere modificata da operazioni aritmetiche nel codice del programma all’interno del ciclo o dalla lettura dei valori di un sensore, ad esempio un sensore di livello dell’acqua.
Sintassi della ciclo while / do … while Arduino IDE
while (stipula) { // operatori }
Un altro ciclo che può essere utilizzato nel linguaggio di programmazione Arduino è un ciclo con postcondizione do … while. Quando si utilizza questo costrutto, le istruzioni del ciclo vengono eseguite almeno una volta, indipendentemente dalla condizione, perché la condizione viene verificata dopo l’esecuzione del ciclo. Il do è un blocco che viene eseguito almeno una volta e il blocco principale viene ripetuto nel ciclo finché la condizione while è vera.
do { // operatori } while (stipula);
Nel seguente esempio di programma per un microcontrollore con un LED lampeggiante, se la condizione del primo ciclo è vera, cioè la variabile i < 255, verranno eseguite le istruzioni nel corpo del ciclo while(). Il blocco di azione tra le parentesi graffe incrementerà la variabile e accenderà gradualmente il LED finché la condizione rimarrà vera. Il secondo ciclo while() spegnerà gradualmente il LED fino a quando la variabile i sarà pari a zero.
Programma Arduino con ciclo while() e LED
#define RED_LED 9 int i = 0; void setup() { pinMode(RED_LED, OUTPUT); } void loop() { while(i<255) { analogWrite(RED_LED, i); delay(10); i++; } while(i>0) { analogWrite(RED_LED, i); delay(10); i--; } }
Spiegazione del codice per utilizzare ciclo while() Arduino
- su Arduino Uno e Nano, i seguenti pin forniscono il segnale PWM: 3, 5, 6, 9, 10 e 11.
Se si desidera uscire dal corpo di un ciclo for o while, indipendentemente dalle condizioni specificate, si utilizza l’operatore break o goto. L’operatore break consente di uscire dal ciclo in qualsiasi momento e il programma continuerà a eseguire le istruzioni successive. L’operatore goto consente non solo di uscire dal ciclo, ma anche di continuare l’esecuzione del programma da qualsiasi punto, ad esempio, di saltare a un altro ciclo.
Conclusione. Ogni ciclo in linguaggio C++ e nel linguaggio di programmazione Arduino è un’azione che viene ripetuta più volte o all’infinito. Nessun programma per microcontrollori Arduino è privo di loop, ad esempio il void loop() viene chiamato in un loop infinito. Esistono tre tipi di ciclo: for, while e do … while. Oggi ci concentriamo sull’operatore for e vediamo come funziona in un semplice esempio con l’accensione di un LED liscio.
Lascia un commento