Come collegare un pulsante ad Arduino di Paolo Luongo |
Lo schema, che vi propongo, è questo. Servono 1 resistore da 4,7 KOhm (Giallo, Viola, Rosso, Oro), un condensatore da 100nF e un'altro resistore da 1 KOhm (Marrone, Nero, Rosso, Oro - vedi articolo per leggere i colori dei resistori) e un pulsante.
Il condensatore l'ho aggiunto per limitare l'effetto rimbalzo del contatto (debouncing) di ogni pulsante. Nel momento dell'attivazione del pulsante il contatto si apre e si chiude velocemente fino a stabilizzarsi in chiusura. Questo problema crea delle oscillazioni nella lettura dello stato del pulsante che si risolvono col software. I più pigri, come me, preferiscono la soluzione Hardware con una capacità di 47nF o 100nF, dipende dai gusti (non è così, ma non è il caso di approfondire ora).
Collegando in questo modo il pulsante avremo uno zero logico (0 volt) alla pressione del pulsante e un uno logico (5 Volt) al suo rilascio.
Schema di collegamento del pulsante ad Arduino UNO R3 di Paolo Luongo |
Ora devo scappare, come al solito, e non ho il tempo di buttare giù lo sketch.
Nel caso serva... fate un fischio.
Ciao
Paolo :-)
6 commenti:
Salve,
grazie per il suggerimento. Sto affrontando proprio questo problema. Potresti dettagliare un attimo lo schema elettrico del circuito di debouncing per capire meglio come sono i collegamenti ?
Grazie mille
Ciao Alessandro,ho aggiunto lo schema elettrico.
In ogni caso, puoi semplicemente collegare un capacità di 100nF in parallelo al pulsante del tuo schema preferito.
Buon lavoro !
Buona sera.
Io ho inserito un condensatore ceramico 101 ma non funziona.
va messo il 104?.
Ciao Andrea,
il condensatore marcato 101 è di 100pF mentre quello marcato 104 è da 100nF ossia 100000pF. Quindi la rispoata è si, ci vuole il 104.
Buon lavoro !
Buona sera.
Ho aggiunto un condensatore ceramico 104 come lei mi ha detto, ma il LED non vuole proprio spegnersi immediatamente, nel senso che il debouncing continua ad esserci.
Appena lo premo il led si accende immediatamente, quando vado a premere di nuovo non si spegne.
Ciao Andrea, il problema del ritardo (ipotizzo) potrebbe essere nello sketch o nel pulsante di cattiva qualità che produce molto "rumore". Per applicazioni "professionali" esistono appositi circuiti di antirimbalzo: un condensatore non fa miracoli.
Nel caso ti consiglio di cambiare il pulsante e/o di aumentare il valore della capacità.
Se neanche così risolvi serve l'oscilloscopio per capire cosa succede al rilascio del pulsante.
Ciao e buon anno !
Posta un commento