Sommario:

NODEMCU LUA ESP8266 con MCP23017 16 bit Port Expander IC: 6 passaggi (con immagini)
NODEMCU LUA ESP8266 con MCP23017 16 bit Port Expander IC: 6 passaggi (con immagini)

Video: NODEMCU LUA ESP8266 con MCP23017 16 bit Port Expander IC: 6 passaggi (con immagini)

Video: NODEMCU LUA ESP8266 con MCP23017 16 bit Port Expander IC: 6 passaggi (con immagini)
Video: ESP8266 NodeMCU Interface - MCP23017 i/o expender with LED Example! 2024, Dicembre
Anonim
NODEMCU LUA ESP8266 Con MCP23017 16 Bit Port Expander IC
NODEMCU LUA ESP8266 Con MCP23017 16 Bit Port Expander IC

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

Schema elettrico
Schema elettrico

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

Fare la Scheda Principale
Fare 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

Schede aggiuntive
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

Programmazione
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?

Quale spilla?
Quale spilla?

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

Conclusione
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: