Domanda di: Ing. Luna Bianchi | Ultimo aggiornamento: 20 aprile 2026 Valutazione: 4.4/5
(66 voti)
La funzione delay() in Arduino serve a mettere in pausa l'esecuzione del codice per un numero specificato di millisecondi ( 1 secondo = 1000 millisecondi 1 s e c o n d o = 1 0 0 0 m i l l i s e c o n d i ). È utilizzata principalmente per creare temporizzazioni semplici, come il lampeggio di un LED (Blink), ma è bloccante: durante il ritardo, Arduino non legge sensori né risponde ad altri comandi.
La funzione generale del delay consiste nel registrare il suono in ingresso e riprodurlo con un determinato ritardo temporale. Solitamente il suono ritardato viene aggiunto al segnale originale, anziché sostituirlo; in questo caso l'effetto complessivo è simile a quello dell'eco.
La funzione millis() restituisce il numero di millisecondi trascorsi dall'avvio del programma corrente su una scheda Arduino. Questo valore è restituito come un numero di tipo unsigned long.
Il linguaggio di programmazione di Arduino è una versione semplificata del C/C++, ottimizzata per l'elettronica e l'uso con l'hardware, che utilizza un ambiente di sviluppo integrato (IDE) e librerie specifiche per gestire sensori e attuatori in modo semplice. Il codice, chiamato "sketch", si struttura in due funzioni principali: setup() (eseguito una volta) e loop() (eseguito ripetutamente).
Il loop si può fermare impedendo che il codice raggiunga l'ultima parentesi } che circoscrive il blocco di codice appartenente alla funzione loop(). In breve: void loop() { while(true); // ripete questa riga all'infinito. }