INHOUDSOPGAWE:

NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC: 6 stappe (met foto's)
NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC: 6 stappe (met foto's)

Video: NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC: 6 stappe (met foto's)

Video: NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC: 6 stappe (met foto's)
Video: BocaJS - Iot with Javascript - Espruino on ESP8266 2024, November
Anonim
NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC
NODEMCU LUA ESP8266 Met MCP23017 16 Bit Port Expander IC

Die MCP23017 is 'n relatief maklike IC om 'n bord voor te maak, aangesien dit poort A en B aan weerskante van die chip het en die penne in opeenvolgende volgorde is.

Net so is die I2C -adresbus ook saam.

Daar is 2 penne op hierdie IC wat ongebruik is, aangesien dit vergelykbaar is met die MCP23S17 wat 'n SPI -koppelvlak gebruik waar hierdie penne gebruik word.

'N Gegewensblad vir hierdie IC is beskikbaar by Microchip.

Stap 1: Kringdiagram

Stroombaandiagram
Stroombaandiagram

Die kringdiagram wys hoe om die IC aan 'n ESP8266 te koppel

OPMERKING: Die IC loop tussen 2.7 en 5.5 Volt.

Speld verbindings op my bord vas

  • Speld 9 (VDD) tot 3v3
  • Speld 18 (RESET) na 3v3
  • Speld 17 (A2) aan GND
  • Speld 16 (A1) aan GND vas
  • Speld 15 (A0) aan GND vas
  • Speld 14 (NC) tot GND (nie nodig nie)
  • Speld 13 (SDA) aan ESP GPIO0
  • Speld 12 (SCL) aan ESP GPIO2 vas
  • Speld 11 (NC) tot GND (nie nodig nie)
  • Speld 10 (VSS) aan GND vas

Stap 2: Maak die hoofbord

Die maak van die hoofraad
Die maak van die hoofraad

Die bord is eenvoudig om te maak, soos hierbo verduidelik, alles is eenvoudig.

My hoofbord het min tyd geneem om te maak, en word hierbo getoon.

U kan hierdie kring natuurlik op 'n broodbord bou.

Stap 3: Bykomende rade

Bykomende rade
Bykomende rade

Ek het 'n paar ekstra 8 -bit borde opgemaak wat maklik in verskillende projekborde geplaas kan word.

Die eerste bord is gekoppel aan 'n 7 -segment LED -skerm en pen 1 is gekoppel aan segment a, pen 2 tot b, ens. Daar is 'n klein weerstand (ongeveer 55 ohm) om die LED's te beskerm.

Die tweede een is 'n bank met 8 skakelaars wat aanmekaar gekoppel is en kan op 3,3V of op die aarde gekoppel word. Ek het geen trekweerstands ingesluit nie, aangesien die MCP23017 dit ingebou het.

Die derde een is van 'n Ebay -kit, dit bestaan uit 8 LED's en 'n weerstandskikking met 'n verbinding met Gnd. Ek het ook dieselfde bord, maar ek het die LED's omgekeerd geïnstalleer sodat dit aansluit by 3.3V of 5V in plaas van Gnd. Op Ebay staan hulle bekend as 'n 8 -kanaals vloeiende waterlig LED DIY -kit, 99p uit China.

Stap 4: Programmering

Programmering
Programmering

Ek het die programme geskryf om met 'n ESP01 te werk, aangesien dit slegs 2 I/O -penne het. Dit kan natuurlik saam met enige van die ESP8266 -borde gebruik word. Die SDA- en SCL -penne kan aan elke pen tussen 1 en 12 toegeken word.

As u 'n ouer weergawe van LUA gebruik (bv. NodeMCU 0.9.6 build 20150704 aangedryf deur Lua 5.1.4) is die I2C reeds geïnstalleer. Andersins moet u seker maak dat die I2C -module by u build ingesluit is.

Ek het drie eenvoudige Lua -programme ingesluit om te wys hoe die IC gebruik kan word.

7Segment.lua dryf 'n LED -skerm en volgordes tussen die getalle 1 tot 0.

KittCar.lua bestuur die 8 LED -bord om die beroemde motor uit die 80's te simuleer.

Reader.lua lees uit Port B.

Stap 5: Watter pen?

Watter pen?
Watter pen?

'N Bykomende program waarmee ek vorendag gekom het.

Dit gebruik poort B as 'n invoer en poort A as 'n uitset. Die foto toon DIP -skakelaars, maar u kan een van die poort B -penne aan Gnd koppel en die LED -skerm sal wys watter pen gekoppel is.

LET WEL: dit werk slegs met 1 pen op 'n slag!

Stap 6: Gevolgtrekking

Afsluiting
Afsluiting

Daar is natuurlik ander I/O -uitbreiders beskikbaar. Sommige is 8 bit, 16 bit en selfs 24 bit! Almal werk op 'n soortgelyke manier as die MCP23017, maar hierdie IC is baie goedkoop vir sy vermoëns en kan vir ongeveer 10 p elk uit China verkry word.

Ek het nie al die funksies van hierdie IC gebruik nie, aangesien daar ook onderbrekings beskikbaar is wat gebruik kan word. Deur die datablad te lees, word alles vertel oor die verskillende registers en maniere waarop die IC gebruik kan word.

Dit is moontlik om 8 van hierdie toestelle op dieselfde I2C -bus te hê, met 128 I/O -poorte wat almal deur 2 lyne beheer word. Dink aan die moontlikhede daar!

Aanbeveel: