Subtotale: €28,00 (IVA incl.)
Visualizza carrello “Shield HCS per Arduino – in kit da saldare” รจ stato aggiunto al tuo carrello.
Clicca per ingrandire
€34,00 – €52,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รน
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 |