- Questo topic ha 0 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 58 secondi fa da .
Visualizzazione 0 filoni di risposte
Visualizzazione 0 filoni di risposte
- Devi essere connesso per rispondere a questo topic.
Home › Forum › Le librerie ospitate nel sito › PCF8575 expander digitale I/O i2c a 16bits › PCF8575 e Micro su Matrici
Salve, Grazie x il lavoro !
Ho acquistato i chip e scaricato la sua libreria dopo aver letto l’articolo, perchè volevo realizzare con un Pro/Micro e più interfaccie PCF8575 uba specie di multitastiera, praticamente più
interfaccie a matrice di vari pannelli di un cocpit utilizzando una sola CPU.
Ho realizzato da prima la matrice a provata diretta sul Micro, e visto che tutto era ok sono andato avanti per farla leggere ak PCF8575.
La matrice è fatta da circa 8 colonne e 7 righe, come primo progetto i pulsanti portavano a massa.
Percui ciclo for tutte le colonne alte some set up e poi le abbassavo in sequenza ed andavo a leggere le righe singolarmente, con un incrementale per individuare il pulsante.
Più un array per verificare lo stato antecedente in modo da rilevare solo i fronti di salita o discesa.
Sul micro nessun problema, collegato al PCF sono iniziati i problemi. Ho introdotto dei ritardi sia da quando mando alto la colonna che dopo aver chiamato la lettura, altrimenti non ne voleva sapere.
Una volta trovati indicativamente dei tempi che potessero andare , però la matrice si comporta in modo strano, sembra diafonia su i fili, delle righe vanno , altra blinkano tra on ed off ecc ecc.
Così l’ho rifatta, visto che le uscite pilotano corrente , ho cambiato logica, messo dei pull up da 1 k sulle uscite e portate a messa e poi le alzo separatamente con un BAT come diodo per disaccoppiare. Ho risolto poco però.
Sempre problemi di diafonia, in base a come muovo i cavi, circa 30 cm succedono magie.
Ho visto leggendo l’articolo che è possibile fare una lettura del buffer dell’ IO tipo shift register e poi andare a lavorare sulle singole posizioni. Così ho pensato OK, aumento i tempi, peggo in una sola volta e poi estraggo dalla singola lettura.
Ma nulla , come lancio il readall sia in low memory che normale, il pro/micro si pianta.
Dunque le domande sono multiple, la n1 meglio che lasci perdere non nasce per fare una cosa del genere?
La 2 metto resistenze di pull up di valori più bassi, anche se tiro più corrente diminuisco la diafonia e risolvo?
La 3 , devo cambiare micro il 32u4 meglio destinarlo ad altre cose?
Grazie anticipatamente
Riccardo
P.S. allego anche il codice che stò usando per fare la varie prove
More