Accendere un led con una sequenza di tasti

stefanodaimler:
Onestamente non conoscevo il problema del rimbalzo dei pulsanti e mi hai insegnato un'altra cosa nuova.Grazie mille!

È cosa di cui, su questo forum, si è parlato centinaia di volte e ... prima di mettersi a fare qualsiasi progetto, un po' di ricerche per capire quali possono essere eventuali problemi è sempre bene farle ::slight_smile:

Comunque, vediamo di chiarire il concetto ...
... contrariamente a quanto tu puoi pensare, un pulsante "reale" ha un comportamneto del tutto differente da un pulsante "ideale" che si apre e chiude in modo pulito. Un pulsante "reale" quando lo premi produce un qualche cosa di simile a questo:

... per cui, il tuo pin su Arduino, interpreta tutti quei "rimbalzi" meccanici del contatto, come tante aperture e chiusure.

Una strada è quella che ti è stata suggerita, ma introduce dei delay() che NON sempre possono essere usati (es. in ISR molto veloci), l'altra è quella di eliminarli alla fonte con un apposito circuitino in ingresso al pin (vd. allegato).

Guglielmo

debouncing_hw.pdf (22.8 KB)