Ho realizzato questo circuito che funziona, ma non capisco completamente
PREMESSA: Ho appena iniziato ad interessarmi per hobby all'elettronica applicata, all'utilizzo di Fritzing ed Arduino. Quindi vogliate perdonare eventuali strafalcioni.
PROBLEMA (non vi preoccupate arriviamo al problema elettronico):
Studiare il "debouncing" di un pulsante normalmente aperto (lascia passare la corrente solo se premuto) tramite Arduino creando un semplice contatore, se il pulsante viene premuto il contatore viene aumentato di
Quindi
Se tengo premuto non succede niente. Se non premo non succede niente. Se tengo premuto (quanto tempo voglio) e poi rilascio il pulsante il contatore si incrementa.
SOLUZIONE SOFTWARE: ============================================
Si crea il classico semplice circuito sulla breadboard inserendo una resistenza da 270Ohm per limitare la corrente nel circuito e una resistenza di pull-down per far si che l'ingresso di Arduino sia basso.
Il tasto da problemi di bounce qualche volta quando premo e rilascio il pulsante ci sono 2 tre incrementi alla volta allora tramite software controllo che tra una pressione (reale) e la successiva (dovuta presumibilmente al bounce) sia passato un adeguato tempi di debounce trovato sperimentalmente in 150ms.
direttamente sulla breadboard.
SOLUZIONE HARDWARE 1: ============================================
Implemento questo circuito:
ingresso ad Arduino.
Arduino quando non viene premuto il pulsante.
- Il condensatore C1 elimina il bounce "scaricando a terra" le
individuata sperimentalmente.
Il trucco del condensatore l'ho letto su internet e pare plausibile.
io non vedo)?
La costante di tempo in questo caso sarebbe proprio R2*C1=150ms Centra Qualcosa?
Non contento e perplesso ho deciso di realizzare un curcuito passa basso classico:
SOLUZIONE HARDWARE2: ============================================
R1 abbassa la corrente nel cuircuito. R2 fa da pull-down R3 e C1 formano il circuito passa basso.
stavolta era troppo, il contatore non si incrementava nemmeno se premevo e rilasciavo il pulsante in rapida successione, il valore giusto era di
1 microfarad.Esiste un rapporto con il tempo di debounce usato nella soluzione via software (150ms)?
Grazie a Tutti.