Vai al contenuto

MCP23017 port expander

L’mcp23017 è un espansore di porte a 16 bit con 32 canali di convertitori analogico-digitali a 12 bit e due ingressi/uscite generiche a 8 bit. A differenza della maggior parte degli altri espansori di porta, l’mcp23017 dispone di un oscillatore interno. L’MCP23017 funziona a 2 MHz, ma può supportare frequenze fino a 1 MHz; può essere collegato in cascata ed è disponibile in un contenitore PDIP a 18 pin, per cui è possibile utilizzarlo in breadboard e perfboard con saldatura a foro passante. In questo modo è facile collegarlo ad altre parti del circuito.

L’MCP23017 utilizza un’interfaccia I2C e dispone di due pin i2c, SCL e SDA, utilizzati per comunicare con il dispositivo. I pin di interrupt esterni INT0 e INT1 possono essere utilizzati per segnalare eventi quali pulsanti di campanelli o sistemi di allarme. Inoltre, l’MCP23017 offre 16 porte di ingresso/uscita di uso generale (GPIO). Ogni pin della porta può essere programmato attraverso tre registri.

Ciascuna delle 16 porte può essere programmata come ingresso o uscita e cablata per il funzionamento open drain o push-pull. Oltre alle dimensioni ridotte, questo significa che è possibile collegare un dispositivo esterno (come un sensore) e farlo comunicare con altri dispositivi sullo stesso bus I2C. A prima vista può sembrare poco, ma se si considera che oggi sono disponibili centinaia di dispositivi I2C che utilizzano questo protocollo, si comincia a capire quanto sia versatile!

Il chip funziona a 3,3 volt, ma dispone di alcuni convertitori di tensione interni, per cui può essere utilizzato anche a 5 volt. Tuttavia, non è solo per gli ingegneri hardware; la scheda tecnica chiarisce che questo chip è destinato a chiunque voglia sfruttare le sue caratteristiche nei propri progetti o prototipi.

Applicazioni dell’MCP23017

L’MCP23017 è un modo semplice e veloce per aggiungere altri pin di I/O ad Arduino, soprattutto nelle applicazioni in cui si desidera monitorare o controllare più dispositivi contemporaneamente. Ad esempio, si può usare per aggiungere pulsanti e LED ai progetti o per collegare più sensori contemporaneamente. È anche ideale per aggiungere altre porte di comunicazione seriale, che possono essere utili se si desidera inviare dati da un dispositivo a un altro. L’MCP23017 può persino controllare 8 servomotori!

L’interfaccia I2C consente di collegare più dispositivi al microcontrollore e di leggere/scrivere su ciascuno di essi con due soli fili. Ciò significa che se si utilizza un ATtiny85 (o simile), è possibile creare 7 ingressi digitali o 5 uscite PWM da 3 pin! Gli ingressi analogici possono essere utilizzati con le librerie esistenti, consentendo di raccogliere i dati dei sensori senza alcuna modifica.

Per utilizzare un dispositivo, si impostano i registri nei primi byte di memoria che controllano il comportamento del dispositivo (si stabilisce se le sue porte sono di ingresso o di uscita e se esistono pull-up interni), quindi si impostano questi registri. Ogni pin della porta può essere programmato come ingresso o uscita attraverso tre registri. Il primo registro controlla se il pin è configurato come ingresso o uscita, mentre altre due serie di bit definiscono opzioni più dettagliate, come il funzionamento bidirezionale e la modalità open drain.

È abbastanza facile configurare il microcontrollore in modo che esegua questa operazione ogni volta che il dispositivo si avvia, rendendo il suo utilizzo molto più semplice rispetto alla necessità di individuare e impostare manualmente tutti questi pin ogni volta.

Conclusion

In sintesi, l’MCP23017 è un piccolo e meraviglioso dispositivo che può essere di grande aiuto nei vostri progetti. È facile da usare e fornisce 16 porte di I/O per uso generale. L’unico vero vantaggio è che utilizza il protocollo I2C invece di quello SPI, il che significa che avrete bisogno di due pin per la comunicazione invece di un pin, che lo rende interfacciabile con altri microcontrollori come Arduino o Raspberry Pi.


Per trovare i prodotti di questo articolo al prezzo più conveniente puoi accedere alla nostra pagina degli sconti cliccando qui.


Condividi su:


Articoli correlati

Media server Raspberry

After we seeing how to configure , to use commands e and transform it into NAS we will see in this article how to get a media server with Raspberry.
Read More

Materials for 3d printing FDM

In this article we will talk about some common used materials for 3D printing industry, their advantages / disadvantages, and how they differ from each other when used by professionals.
Read More
Exit mobile version