Sommario:
- Passaggio 1: Schema del circuito
- Passaggio 2: realizzare la scheda principale
- Passaggio 3: schede aggiuntive
- Passaggio 4: programmazione
- Passaggio 5: quale pin?
- Passaggio 6: conclusione
Video: NODEMCU LUA ESP8266 con MCP23017 16 bit Port Expander IC: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
L'MCP23017 è un circuito integrato relativamente facile da realizzare in quanto ha le porte A e B su entrambi i lati del chip e i pin sono in ordine sequenziale.
Allo stesso modo, anche il bus degli indirizzi I2C è tutto insieme.
Ci sono 2 pin su questo IC che sono inutilizzati in quanto è paragonabile all'MCP23S17 che utilizza un'interfaccia SPI in cui vengono utilizzati questi pin.
Una scheda tecnica per questo IC è disponibile da Microchip.
Passaggio 1: Schema del circuito
Lo schema del circuito mostra come collegare l'IC a un ESP8266
NOTA: il circuito integrato funziona tra 2,7 e 5,5 Volt.
Pin Connections sulla mia scheda
- Pin 9 (VDD) a 3v3
- Pin 18 (RESET) su 3v3
- Pin 17 (A2) a GND
- Pin 16 (A1) a GND
- Pin 15 (A0) a GND
- Pin 14 (NC) a GND (non necessario)
- Pin 13 (SDA) su ESP GPIO0
- Pin 12 (SCL) a ESP GPIO2
- Pin 11 (NC) a GND (non necessario)
- Pin 10 (VSS) a GND
Passaggio 2: realizzare la scheda principale
La tavola è semplice da realizzare come spiegato sopra, tutto è di un layout semplice.
La mia scheda principale ha richiesto poco tempo per essere realizzata ed è mostrata sopra.
Ovviamente puoi costruire questo circuito su una breadboard.
Passaggio 3: schede aggiuntive
Ho creato alcune schede extra a 8 bit che possono essere facilmente collegate a diverse schede di progetto.
La prima scheda è collegata a un display a LED a 7 segmenti ed è collegata il pin 1 al segmento a, il pin 2 a b ecc. C'è un piccolo resistore (circa 55 ohm) per proteggere i LED.
Il secondo è un banco di 8 interruttori tutti cablati insieme e può essere collegato a 3,3 V oa terra. Non ho incluso alcun resistore pull poiché l'MCP23017 li ha incorporati.
Il terzo proviene da un kit Ebay, è composto da 8 LED e un array di resistori con una connessione a Gnd. Ho anche la stessa scheda ma ho installato i LED al contrario in modo che si colleghi a 3,3 V o 5 V invece di Gnd. Su Ebay sono conosciuti come un kit fai-da-te a LED con luce a flusso d'acqua a 8 canali, 99p dalla Cina.
Passaggio 4: programmazione
Ho scritto i programmi per funzionare con un ESP01 poiché ha solo 2 pin I/O. Ovviamente può essere utilizzato con qualsiasi scheda ESP8266. I pin SDA e SCL possono essere assegnati a qualsiasi pin compreso tra 1 e 12.
Se si utilizza una versione precedente di LUA (ad esempio NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4), I2C è già installato. Altrimenti devi assicurarti che il modulo I2C sia incluso nella tua build.
Ho incluso 3 semplici programmi Lua per mostrare come è possibile utilizzare l'IC.
7Segment.lua guida un display a LED e sequenze tra i numeri da 1 a 0.
KittCar.lua pilota la scheda a 8 LED per simulare la famosa auto degli anni '80.
Reader.lua legge dalla porta B.
Passaggio 5: quale pin?
Un programma extra che mi è venuto in mente mentre armeggiavo.
Utilizza la porta B come ingresso e la porta A come uscita. La foto mostra gli interruttori DIP, ma è possibile collegare uno dei pin della porta B a Gnd e il display a LED mostrerà quale pin è collegato.
NOTA: Funziona solo con 1 pin alla volta!
Passaggio 6: conclusione
Sono ovviamente disponibili altri espansori di I/O. Alcuni sono a 8 bit, 16 bit e persino 24 bit! Funzionano tutti in modo simile all'MCP23017, ma questo IC è molto economico per le sue capacità e può essere acquistato per circa 10p ciascuno dalla Cina.
Non ho utilizzato tutte le funzionalità di questo circuito integrato in quanto sono disponibili anche interruzioni che possono essere utilizzate. La lettura della scheda tecnica dice tutto sui diversi registri e sui modi in cui è possibile utilizzare l'IC.
È possibile avere 8 di questi dispositivi sullo stesso bus I2C fornendo 128 porte I/O tutte controllate da 2 linee. Pensa alle possibilità lì!
Consigliato:
Come far funzionare i servomotori utilizzando Moto:bit con Micro:bit: 7 passaggi (con immagini)
Come eseguire i servomotori utilizzando Moto:bit con Micro:bit: Un modo per estendere la funzionalità del micro:bit è utilizzare una scheda chiamata moto:bit di SparkFun Electronics (circa $ 15-20). Sembra complicato e ha molte funzioni, ma non è difficile far funzionare i servomotori da esso. Moto:bit ti permette di
NODEMCU Lua ESP8266 con orologio in tempo reale (RTC) e EEPROM: 7 passaggi
NODEMCU Lua ESP8266 con orologio in tempo reale (RTC) e EEPROM: ottenere l'ora corretta è essenziale se si desidera conservare un registro dati. Esistono vari modi per ottenere l'ora da fonti su Internet. Potresti chiedere perché non usare ESP8266 per tenere il tempo per te? Beh, puoi, ha il suo RTC interno (Real Time
NODEMCU LUA ESP8266 Guida di un driver per display a LED M5450B7 IC: 5 passaggi (con immagini)
NODEMCU LUA ESP8266 Guida di un IC driver display LED M5450B7: L'M5450B7 è un IC driver display LED DIP a 40 pin. Sembra piuttosto una bestia, ma è relativamente facile da controllare e programmare. Ci sono 34 pin di uscita che possono avere un LED collegato a ciascuno. Il dispositivo assorbe corrente anziché fornirla, quindi il c
NODEMCU LUA ESP8266 con MCP23008 8 bit Port Expander IC: 6 passaggi
NODEMCU LUA ESP8266 con MCP23008 IC di espansione porta a 8 bit: MCP23008 è un espansore I/O a 8 bit con interfaccia seriale e funziona tra 1,8 e 5,5 volt, quindi è ideale per ESP8266, Arduino, Raspberry Pi, chip PIC e altro ancora. Se hai visto il mio altro Instructable sull'MCP23017, ti starai chiedendo
NODEMCU LUA ESP8266 con contatore di decadi CD4017: 4 passaggi (con immagini)
NODEMCU LUA ESP8266 con contatore di decadi CD4017: il CD4017 è un contatore/divisore di decadi. Ciò significa che quando riceve un impulso lo conta e invia un'uscita al pin appropriato. È un IC abbastanza facile da usare e puoi costruire il circuito su una breadboard o acquistarne uno da Ebay per