Arduino – Funzione antirimbalzo (debouncing)

Impiego del pulsante per incrementare una variabile

Se volessimo impiegare il pulsante per incrementare il valore di una variabile val, sicuramente è da scartare la possibilità di escludere l’antirimbalzo, in quanto una pressione ne incrementerebbe spropositatamente il valore. Impiegando la funzione debounce(pin) si ha invece maggiore controllo, tuttavia una pressione del pulsante prolungata ne determina il frequente incremento a intervalli pari a debounceDelay.

Nel seguente listato la variabile val viene incrementata ad ogni lettura 0V sull’ingresso del pulsante e ne viene stampato il valore sul monitor seriale, ogni volta che viene modificato.

Nel video seguente si può notare come l’incremento della variabile dipenda dalla durata della pressione del pulsante.

Se invece volessimo incrementare di 1 la variabile ogni volta che premiamo il pulsante, prescindendo dalla durata della pressione? Ciò è trattato nel paragrafo seguente.

22,403 total views, 4 views today