Jago Inserito: 21 novembre 2014 Segnala Share Inserito: 21 novembre 2014 Ciao a tutti, avrei bisogno di un vostro parere. Ho costruito uno shield per Arduino. Ho due tasti che mandano a livello alto due ingressi di Interrupt. La loro funzione è molto semplice, serve a passare da una videata all'altra su un LCD. Ho notato che a volte la pressione del tasto produce un salto nei comandi. Vorrei mettere un Debounce hardware a questi due tasti senza stravolgere tutto (con Trigger Schmitt ecc) per evitare di rifare la scheda. Forse basta un condensatore e una resistenza? Ma come? Vi allego lo schema dove ho evidenziato la zona su cui intervenire. Vi ringrazio dei consigli. Bye https://drive.google.com/file/d/0BxddEF_i_qGGUzg2UDZWX2RkWGs/view?usp=sharing Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 21 novembre 2014 Segnala Share Inserita: 21 novembre 2014 Puoi farlo anche sw ? (Parere personale non leggere lo stato dei tasti sotto interrupt) Ma visto che lo fai potresti disabilitare l'interrupt appena leggi tasto premuto e riabilitarlo dopo tempo solo dopo aver cancellato il pending bit dell'interrupt Link al commento Condividi su altri siti More sharing options...
fisica Inserita: 21 novembre 2014 Segnala Share Inserita: 21 novembre 2014 per confermare il tasto e' sufficiente leggerlo un certo numero di volte (non a ciclo stretto, altrimenti viene una schifezza) e confermare quando la lettura e' stabile per un certo numero di letture CONSECUTIVE. I pulsanti possono avere rimbalzi anche per 3-10mS, tanto per capirci.... Poi, mettere un RC non offende nessuno, con una costante di tempo di 10-30mS ma obbligatoriamente devi aggiungere un trigger Link al commento Condividi su altri siti More sharing options...
Darlington Inserita: 21 novembre 2014 Segnala Share Inserita: 21 novembre 2014 Si sta molto prima a mettere 100mS di antibump a livello software che a fare qualsiasi cosa hardware, secondo me. Ma non mi sbilancio oltre perché finora ho programmato solo con LDMicro Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 21 novembre 2014 Segnala Share Inserita: 21 novembre 2014 Alcune considerazioni generali. I resistori in serie all'ingresso non servono. Gli ingressi ad interruzione si usano per eventi molto più rapidi d quelli generati dalla pressione di un pulsante. Solitamente con arduino i tasti si gestiscono da un ingresso analogico. Si realizzau partitore con resistori tutti uguali. ed i pulsanti selezionano una tensione dal partitore. Se leggi uno dei tanti tutorials su arduino, questo è uno dei primi esercizi proposti. Avendo usato un ingresso ad interrupt non necessiti di alcun debouncing Hw o Sw. E' sufficiente riabbilitare quell'interrupt solo dopo aver servito la funzione scatenata dall'evento. Se proprio vuoi fare un antirimbalzo Hw, basta che tu metta un condensatore da 0.33µF in parallelo al pulsante. Link al commento Condividi su altri siti More sharing options...
Jago Inserita: 21 novembre 2014 Autore Segnala Share Inserita: 21 novembre 2014 Grazie a tutti per i consigli. Proverò a eliminare la resistenza in serie e a mettere un condensatore in parallelo al pulsante come ha detto Livio. Magari è più che sufficiente, senza dover intervenire con altro codice. Vi farò sapere... Bye Link al commento Condividi su altri siti More sharing options...
Jago Inserita: 25 novembre 2014 Autore Segnala Share Inserita: 25 novembre 2014 Perfetto, ho fatto la modifica suggerita da Livio aggiungendo un condensatore da 470nF (da 330 non l'avevo sottomano) e funziona molto meglio… anzi non cicca un colpo. Ho lasciato però le resistenze in serie... Il tutto senza appesantire il codice. Grazie Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 25 novembre 2014 Segnala Share Inserita: 25 novembre 2014 Ho lasciato però le resistenze in serie... Quelle le dovevi togliere, perchè peggiorano l'immunità ai disturbi, perchè realizzano un partiore con il resitore che è in ingresso (nella scheda) Link al commento Condividi su altri siti More sharing options...
Jago Inserita: 25 novembre 2014 Autore Segnala Share Inserita: 25 novembre 2014 OK provvedo, di Livio mi fido ciecamente... Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 25 novembre 2014 Segnala Share Inserita: 25 novembre 2014 (modificato) di Livio mi fido ciecamente... Ti ringrazio per la stima, ma fai male, bisogna sempre essere critici. Anche a me capita di scrivere cose errate per distrazione o per ingoranza. Modificato: 25 novembre 2014 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora