Shield Arduino I/O expander

34,0052,00 IVA inclusa

Shield di espansione I/O per Arduino basato sul chip MCP23017 prodotto da Microchip

oppure
Puoi anche pagare in 3 rate senza interessi da 11,33 scegliendo come pagamento. Scopri di piรน

Svuota
SKU: 7100-FT1079K Categorie: , Tag:

Shield di espansione I/O per Arduino basato sul chip MCP23017 prodotto da Microchip. Dispone di 8 ingressi digitali, ognuno dei quali dispone di un diodo di protezione, una resistenza di pull-up ed un LED; 8 uscite a relรจ con relativo LED di stato.
La comunicazione con lโ€™MCP23017 รจ basata sullโ€™IยฒC-Bus, pertanto la libreria utilizza โ€œWire.hโ€ di Arduino. Il bus IยฒC รจ realizzato da 2 pin (SDA, ossia dati, ed SCL, cioรจ clock); sullโ€™integrato sono disponibili sui pin 13 e 12, portati sui corrispondenti pin della scheda Arduino. Nello shield รจ prevista la possibilitร  di portare (tramite ponticello) il pin di interrupt dellโ€™MCP23017 (INTB, pin 19) in ingresso su due differenti pin di Arduino (D2 o D4) in modo da adattarlo il piรน possibile al reale utilizzo. Lโ€™indirizzo IยฒC-Bus dellโ€™MCP23017 viene selezionato tramite dip switch che permette di collegare fino a 8 diversi shield senza che interferiscano tra di loro. Il kit comprende tutti i componenti, la basetta forata e serigrafata e tutte le minuterie.
Libreria Arduino IยฒC I/O Expander Shield
Abbiamo sviluppato una libreria software Arduino che fornisce tutte le routine necessarie alla rilevazione degli shield collegati e alla relativa gestione degli I/O (potete scaricare tale libreria da questa pagina). La comunicazione con lโ€™MCP23017 รจ basata sullโ€™IยฒC-Bus, pertanto la libreria utilizza โ€œWire.hโ€ di Arduino; รจ presente una funzione โ€œbegin(int i2cAddress)โ€ per inizializzare il singolo shield identificato tramite indirizzo IยฒC, ed anche una โ€œinit()โ€ per programmare correttamente i registri interni del chip secondo le nostre necessitร , ed infine una โ€œpinMode(int pin, int mode)โ€ per indicare se i singoli pin di I/O sono input o output. Oltre alle funzioni di inizializzazione, le istruzioni che in particolare ci interessano sono le โ€œdigitalRead(int pin)โ€, โ€œdigitalWrite(int pin, int val)โ€, โ€œdigitalWordRead()โ€ e โ€œdigitalWordWrite(word w)โ€ che, rispettivamente, permettono di leggere lo stato di un singolo pin di input, scrivere un singolo pin di output, leggere lo stato di tutti i pin di input (8 nel nostro caso) ed infine scrivere lo stato di tutti i pin di output (sempre 8).
La gestione degli input puรฒ avvenire tramite interrupt; รจ pertanto presente unโ€™apposita funzione โ€œpinDisableINT(int pin)โ€ che permette di configurare il singolo pin come generatore di interruzioni o meno (in particolari applicazioni potrebbe essere utile avere la possibilitร  di non impostare tutti i pin di input come generatori di interrupt, ma farlo selettivamente).
Documentazione e link utili

 

Documentazione Tecnica
PDF italiano

Menu