Sebbene sia possibile, e talvolta desiderabile, utilizzare gli interruttori di cambio pin per leggere lo stato dei pulsanti, è più semplice eseguire il polling dello stato dei pulsanti loop()
. Questa è una tecnica comunemente usata.
Se loop()
esegui abbastanza rapidamente, le pressioni dei pulsanti saranno sempre catturate e l'utente non sarà in grado di percepire alcun ritardo o ritardo.
È possibile che il tuo loop impieghi così tanto tempo da causare un ritardo o un ritardo da percepire.
La domanda è: quanto tempo sarebbe, in generale, prima che un utente lo veda?
loop()
è piuttosto lento (voglio dire, troppo lento per essere in grado di fornire un feedback abbastanza veloce all'utente finale), potresti eventualmente utilizzare un ISR sulla modifica del livello dei pin e fornire un feedback immediato (se questo può essere calcolato velocemente) per l'utente oppure forniscigli un feedback temporaneo (ad es. LED acceso) per comunicargli che la sua richiesta è stata riconosciuta e verrà elaborata a breve (inloop()
); lascerestiloop()
impostando alcunebool
variabili globali nell'ISR.