Indholdsfortegnelse:

NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trin (med billeder)
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trin (med billeder)

Video: NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trin (med billeder)

Video: NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trin (med billeder)
Video: encoder-interrupt NODE MCU ESP8266 2024, Juli
Anonim
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC

MCP23017 er en relativt let IC til at lave et board til, da den har Port A og B på hver side af chippen, og benene er i rækkefølge.

På samme måde er I2C -adressebussen også alle sammen.

Der er 2 ben på denne IC, som er ubrugte, da den kan sammenlignes med MCP23S17, der bruger en SPI -grænseflade, hvor disse ben bruges.

Et datablad for denne IC er tilgængeligt fra Microchip.

Trin 1: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

Kredsløbsdiagrammet viser, hvordan IC'en tilsluttes en ESP8266

BEMÆRK: IC kører mellem 2,7 og 5,5 volt.

Fastgør forbindelser på mit bord

  • Pin 9 (VDD) til 3v3
  • Pin 18 (RESET) til 3v3
  • Pin 17 (A2) til GND
  • Pin 16 (A1) til GND
  • Pin 15 (A0) til GND
  • Pin 14 (NC) til GND (ikke nødvendigt)
  • Pin 13 (SDA) til ESP GPIO0
  • Pin 12 (SCL) til ESP GPIO2
  • Pin 11 (NC) til GND (ikke nødvendigt)
  • Pin 10 (VSS) til GND

Trin 2: Lav hovedkortet

Gør hovedbestyrelsen
Gør hovedbestyrelsen

Tavlen er lige til at lave som forklaret ovenfor, alt er af et enkelt layout.

Min hovedtavle tog lidt tid at lave og er vist ovenfor.

Du kan selvfølgelig bygge dette kredsløb på et brødbræt.

Trin 3: Yderligere tavler

Yderligere bestyrelser
Yderligere bestyrelser

Jeg har lavet nogle ekstra 8 bit boards, der let kan sættes i forskellige projektkort.

Det første kort er tilsluttet et 7 segment LED display og er forbundet pin 1 til segment a, pin 2 til b osv. Der er en lille modstand (ca. 55 ohm) for at beskytte LED'erne.

Den anden er en 8 switch bank, der alle er koblet sammen og kan tilsluttes 3.3V eller jord. Jeg har ikke inkluderet nogen trækmodstande, da MCP23017 har dem indbygget.

Den tredje er fra et Ebay -kit, den består af 8 lysdioder og et modstandsarray med forbindelse til Gnd. Jeg har også det samme kort, men installerede lysdioderne den modsatte vej rundt, så det forbinder til 3,3V eller 5V i stedet for Gnd. På Ebay er de kendt som et 8 Channel Flowing Water Light LED DIY Kit, 99p fra Kina.

Trin 4: Programmering

Programmering
Programmering

Jeg har skrevet programmerne til at arbejde med en ESP01, da denne kun har 2 I/O -ben. Det kan naturligvis bruges med alle ESP8266 -plader. SDA- og SCL -benene kan tildeles enhver stift mellem 1 og 12.

Hvis du bruger en ældre version af LUA (f.eks. NodeMCU 0.9.6 build 20150704 drevet af Lua 5.1.4) er I2C allerede installeret. Ellers skal du sikre dig, at I2C -modulet er inkluderet i din build.

Jeg har inkluderet 3 enkle Lua -programmer for at vise, hvordan IC'en kan bruges.

7Segment.lua driver et LED -display og sekvenser mellem tallene 1 til 0.

KittCar.lua driver det 8 LED -kort for at simulere den berømte bil fra 80'erne.

Reader.lua læser fra Port B.

Trin 5: Hvilken pin?

Hvilken pin?
Hvilken pin?

Et ekstra program kom jeg på, mens jeg pjattede.

Den bruger port B som input og port A som output. Billedet viser DIP -switches, men du kan tilslutte en af port B -benene til Gnd, og LED -displayet viser, hvilken pin der er tilsluttet.

BEMÆRK: Det fungerer kun med 1 pin ad gangen!

Trin 6: Konklusion

Konklusion
Konklusion

Der er naturligvis andre I/O -udvidere til rådighed. Nogle er 8 bit, 16 bit og endda 24 bit! Alle fungerer på samme måde som MCP23017, men denne IC er meget billig for sine muligheder og kan hentes for omkring 10 p stykker fra Kina.

Jeg har ikke brugt alle funktionerne i denne IC, da der også er afbrydelser, der kan tages i brug. Læsning af databladet fortæller alt om de forskellige registre og måder, hvorpå IC'en kan bruges.

Det er muligt at have 8 af disse enheder på den samme I2C -bus, der giver 128 I/O -porte alle styret af 2 linjer. Tænk på mulighederne der!

Anbefalede: