Ho notato alcuni problemi di comunicazione tra il modulo di espansione MCP23017 e arduino yun.
Il problema che si verifica è che dopo alcune operazioni sembra che il modulino non riceva più le informazioni, all'inizio tutto ok, il problema si verifica dopo un po'..
Ho collegato due pulsanti alla scheda di arduino, e due relativi led al modulo MCP, inizialmente tutto procede secondo il codice, ad esempio pulsante 1 accende led 1, pulsante 2 accende led 2 ecc ecc..
dopo qualche secondo sembra che il sistema si blocchi, ovvero qualche led rimane sempre acceso o spento e non risponde più al comando.
Non credo sia un problema di codice perché testato tutto su scheda arduino senza l'MCP funziona tutto alla perfezione, i problemi sorgono quando collego i led all'MCP.
I collegamenti credo siano corretti, ho seguito i numerosi schemi che si trovano..
qualcuno ha avuto problemi simili con questo integrato? come potrei risolvere?
>almax85: Nonostante è un po' che tu sei qui sul forum, NON riesco a trovare il tuo post di presentazione , per cui ...
... nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
SukkoPera i pull-up intendi le resistenze da 4,7k tra SDA SCL e pin reset dell'MCP?
quello non l'ho fatto perché adesso non possiedo tali resistenze, però ho collegato il pin reset al +5v attraverso una resistenza da 10k come da schema..
almax85:
SukkoPera i pull-up intendi le resistenze da 4,7k tra SDA SCL e pin reset dell'MCP?
NO, intende le resistenze da 4.7K tra SCL ed SDA e il +Vcc che sono obbligatorie per il funzionamento del bus I2C (... è un open-drain, equivalente del open-collector nei BJT).
Devi metterle esternamente ... il loro valore è funzione della lunghezza e capacità dei cavi, 4.7K è un valore medio che normalmente va ... puoi magari scendere a 3.3K o salire a 6.8K ... a seconda di ciò che hai a disposizione.
saranno circa 15cm.. 15cm da sda scl a resistenza e altri 15 da resistenza a vcc.
Non vi ho detto che quando carico il codice nella scheda esce questo messaggio in arancio: Cartella spuria .github nella libreria 'Adafruit MCP23017 Arduino Library'
adesso l'expander addirittura sembra non dare più segni di vita.. non accende i led, spero di non aver bruciato l'integrato o ancor peggio i pin SDA SCL
le resistenze sono collegate in parallelo, due e due da 10k. il pin sda va ai due capi delle due resistenze così come il pin scl, e anche ai corrispettivi scl sda dell expander pin 12 e 13. alle altre due estremità delle resistenze in parallelo vado al +vcc, tutto montato su breadboard. adesso non posso farvi foto perché nel frattempo ho smontato tutto riprovo più tardi.
non capisco perché nelle ultime prove fatte l'expander sembra non reagire proprio
No Gugli, sinceramente questa operazione non la consideravo, scusa l'ignoranza.. Io ho semplicemente caricato le librerie, assegnato il nome al expander e fatto collegamenti, non ho cercato nessun indirizzo I2C e tanto meno fatto scansioni.
Potresti delucidarmi in merito? te ne sarei grato..