Bounce o rimbalzo dei pulsanti – rimedio software

Il bounce, letteralmente rimbalzo, nei pulsanti ed in generale negli interruttori è un fenomeno sconosciuto per chi non si è mai scontrato con la lettura dello stato di un interruttore tramite un microcontrollore. Si tende ad immaginare che l’interruttore o pulsante è accesso o spento invece nella realtà non è proprio così.

Al contrario, chi ha interfacciato un interruttore o pulsante con un microcontrollore ha potuto constatare l’imprecisione di lettura che ne deriva. Prendiamo ad esempio un semplice contatore che deve contare quante volte è stato premuto un pulsante.
Dopo aver scritto il software dove si legge semplicemente lo stato dell’ingresso in corrispondenza del pulsante si può notare che molto spesso il contatore conta passi ulteriori rispetto al numero di volte che viene premuto il pulsante.
Questo fenomeno è dovuto al fatto che la lama metallica del pulsante, dopo essere stata premuta, esegue una serie di rimbalzi che dal microcontrollore vengono interpretati come ulteriori aperture o chiusure del pulsante.
Parliamo di tempi brevissimi che comunque dipendono dalla meccanica del pulsante. A grandi linee i rimbalzi terminano dopo circa 10 millisecondi.
Si può ovviare a questo inconveniente sia via software che via hardware. Io ho trovato molto utile la soluzione Software riportata sul sito ufficiale di Arduino.

Offerte del giornoGuarda