Innholdsfortegnelse:

NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trinn (med bilder)
NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trinn (med bilder)

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

Video: NODEMCU LUA ESP8266 Med MCP23017 16 Bit Port Expander IC: 6 trinn (med bilder)
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 enkel IC å lage et kort for da den har port A og B på hver side av brikken og pinnene er i rekkefølge.

På samme måte er I2C -adressebussen også sammen.

Det er 2 pinner på denne IC som er ubrukt da den kan sammenlignes med MCP23S17 som bruker et SPI -grensesnitt der disse pinnene brukes.

Et datablad for denne IC er tilgjengelig fra Microchip.

Trinn 1: Kretsdiagram

Kretsdiagram
Kretsdiagram

Kretsdiagrammet viser hvordan du kobler IC til en ESP8266

MERK: IC går mellom 2,7 og 5,5 volt.

Fest tilkoblinger på brettet mitt

  • 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ødvendig)
  • Pin 13 (SDA) til ESP GPIO0
  • Pin 12 (SCL) til ESP GPIO2
  • Pin 11 (NC) til GND (ikke nødvendig)
  • Pin 10 (VSS) til GND

Trinn 2: Lag hovedkortet

Å lage hovedstyret
Å lage hovedstyret

Tavlen er rett frem for å lage som forklart ovenfor, alt har en enkel layout.

Hovedtavlen min tok litt tid å lage og er vist ovenfor.

Du kan selvfølgelig bygge denne kretsen på et brødbrett.

Trinn 3: Ekstra brett

Ekstra styrer
Ekstra styrer

Jeg har laget noen ekstra 8 -biters kort som enkelt kan kobles til forskjellige prosjektkort.

Det første kortet er koblet til en 7 -segment LED -skjerm og er koblet pin 1 til segment a, pin 2 til b etc. Det er en liten motstand (ca. 55 ohm) for å beskytte lysdiodene.

Den andre er en 8 bryterbank som alle er koblet sammen og kan kobles til 3,3V eller jord. Jeg har ikke inkludert noen trekkmotstander da MCP23017 har dem innebygd.

Den tredje er fra et Ebay -sett, den består av 8 lysdioder og et motstandsarray med tilkobling til Gnd. Jeg har også det samme kortet, men installerte lysdiodene motsatt vei slik at den kobles til 3,3V eller 5V i stedet for Gnd. På Ebay er de kjent som et 8 -kanals flytende vannlys LED DIY -sett, 99p fra Kina.

Trinn 4: Programmering

Programmering
Programmering

Jeg har skrevet programmene for å jobbe med en ESP01, da denne bare har 2 I/O -pinner. Den kan selvfølgelig brukes med alle ESP8266 -kortene. SDA- og SCL -pinnene kan tildeles en hvilken som helst pinne mellom 1 og 12.

Hvis du bruker en eldre versjon av LUA (f.eks. NodeMCU 0.9.6 build 20150704 drevet av Lua 5.1.4) er I2C allerede installert. Ellers må du sørge for at I2C -modulen er inkludert i bygningen din.

Jeg har inkludert 3 enkle Lua -programmer for å vise hvordan IC kan brukes.

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

KittCar.lua driver det 8 LED -kortet for å simulere den berømte bilen fra 80 -tallet.

Reader.lua leser fra Port B.

Trinn 5: Hvilken pin?

Hvilken pin?
Hvilken pin?

Et ekstra program jeg kom på mens jeg puslet.

Den bruker port B som inngang og port A som utgang. Bildet viser DIP -brytere, men du kan koble en av port B -pinnene til Gnd, og LED -displayet viser hvilken pinne som er tilkoblet.

MERK: Det fungerer bare med 1 pinne om gangen!

Trinn 6: Konklusjon

Konklusjon
Konklusjon

Det er selvfølgelig andre I/O -utvidere tilgjengelig. Noen er 8 bit, 16 bit og til og med 24 bit! Alle fungerer på lignende måte som MCP23017, men denne IC -en er veldig billig for sine evner og kan hentes for rundt 10p hver fra Kina.

Jeg har ikke brukt alle funksjonene til denne IC, da det også er avbrudd som kan tas i bruk. Lesing av databladet forteller alt om de forskjellige registre og måter IC kan brukes på.

Det er mulig å ha 8 av disse enhetene på samme I2C -buss som gir 128 I/O -porter alle styrt av 2 linjer. Tenk på mulighetene der!

Anbefalt: