Ciao a tutti, ![]()
purtroppo, con il mio progetto, per motivi vari sono un po’ fermo, così mi concentro un po’ sulle ottimizzazioni…
Una cosa che volevo fare da tempo, era migliorare la lettura dei tasti: attualmente, nel mio sketch, vengono letti utilizzando la libreria IOexp che interroga a ripetizione il PCF8774AP a cui sono collegati i tasti sperando che prima o poi venga premuto un tasto, di fatto il bus I2C è perennemente spazzolato inutilmente e questo non mi piaceva affatto…
L’obiettivo quindi era interrogare il PCF incriminato solo se effettivamente premo un tasto ed ho avuto il compito facilitato dal PCF stesso che ha un bel piedino INT open drain, ovvero attivo quando è basso (ha bisogno di una R di pull up da 4K7).
Mi ha un po’ messo in difficoltà perché a causa di un’errata traduzione del datasheet, non avevo capito che ad ogni lettura l’INT si disabilita, poi però è andato tutto bene, in allegato c’è lo sketch (che poi implementerò in quello del controller), nel quale è incluso anche l’utilizzo di un buzzer per avere un feedback sonoro quando viene premuto un tasto.
Non contento del lavoro fatto, mi sono dedicato sul lato hardware al debouncing dei tasti, attualmente, sempre nel mio progetto, uso un semplice circuito basato su RC, ma non ero soddisfatto, così ho voluto migliorare anche questa parte; ho fatto un po’ di ricerche ed alla fine ho scelto di realizzare quello che ho trovato a questo link: http://www.ikalogic.com/de-bouncing-circuits/
Fatte un po’ di prove su breadboard, ho disegnato il circuitino ed il PCB in allegato che poi diventerà il modulo tasti del mio progetto. Non sono ancora però sicuro di aver fatto un buon lavoro, così eccomi a chiedervi cosa ne pensate. ![]()
Grazie in anticipo per il tempo che vorrete dedicarmi.
Documentazione:
http://www.ikalogic.com/de-bouncing-circuits/
P.S. Ho postato in “Generale” generale perché tratto sia di hardware che di software e non nel topic del mio progetto, perché ho pensato che l’input con i tasti così come l’ho realizzato può tornare utile in altre applicazioni, spero di aver fatto la cosa giusta.

Tasti_v2.ino (2.01 KB)
Buttons.zip (93.5 KB)



