Sisukord:

NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC: 6 sammu (piltidega)
NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC: 6 sammu (piltidega)

Video: NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC: 6 sammu (piltidega)

Video: NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC: 6 sammu (piltidega)
Video: NodeMcu Base ESP8266 для NodeMcu V3 на ESP8266, отличие NodeMcu V3 от V2 2024, Juuli
Anonim
NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC -ga
NODEMCU LUA ESP8266 MCP23017 16 -bitise porti laiendi IC -ga

MCP23017 on tahvli valmistamiseks suhteliselt lihtne IC, kuna sellel on mõlemal pool kiipi pordid A ja B ning tihvtid on järjestuses.

Sarnaselt on ka I2C aadressibuss kõik koos.

Sellel IC -l on 2 tihvti, mida ei kasutata, kuna see on võrreldav MCP23S17 -ga, mis kasutab SPI -liidest, kus neid kontakte kasutatakse.

Selle IC andmeleht on saadaval Microchipilt.

Samm: vooluahela skeem

Lülitusskeem
Lülitusskeem

Lülitusskeem näitab, kuidas ühendada IC ESP8266 -ga

MÄRKUS. IC töötab vahemikus 2,7 kuni 5,5 volti.

Pin Ühendused minu tahvlil

  • Pin 9 (VDD) kuni 3v3
  • Pin 18 (RESET) kuni 3v3
  • Pin 17 (A2) GND -le
  • Pin 16 (A1) kuni GND
  • Pin 15 (A0) GND -le
  • Tihvt 14 (NC) kuni GND (pole vajalik)
  • Pin 13 (SDA) ESP GPIO0 külge
  • Pin 12 (SCL) ESP GPIO2 -le
  • Pin 11 (NC) kuni GND (pole vajalik)
  • Pin 10 (VSS) GND -le

2. samm: põhiplaadi valmistamine

Põhiplaadi tegemine
Põhiplaadi tegemine

Tahvel on otse ette valmistatud, nagu eespool selgitatud, kõik on lihtsa paigutusega.

Minu põhiplaadi valmistamiseks kulus vähe aega ja see on ülal näidatud.

Loomulikult saate selle vooluringi ehitada leivaplaadile.

3. samm: täiendavad lauad

Täiendavad lauad
Täiendavad lauad

Olen koostanud mõned täiendavad 8 -bitised plaadid, mida saab hõlpsasti ühendada erinevate projektitahvlitega.

Esimene plaat on ühendatud 7 -segmendilise LED -ekraaniga ja ühendatud tihvtiga 1 segmendiga a, tihvt 2 kuni b jne. LED -de kaitsmiseks on väike takisti (umbes 55 oomi).

Teine on 8 lülitiga pank, mis on kõik juhtmega ühendatud ja mida saab ühendada 3,3 V või maandusega. Ma ei ole lisanud tõmbetakistusi, kuna MCP23017 on need sisseehitatud.

Kolmas on Ebay komplektist, see koosneb 8 LED -ist ja takistusmassiivist, mis on ühendatud Gnd -ga. Mul on ka sama plaat, kuid paigaldasin LED -id vastupidi, nii et see ühendaks Gnd -i asemel 3.3V või 5V. Ebays on need tuntud kui 8 -kanaliline voolava vee valgusdioodide DIY komplekt, 99p Hiinast.

4. samm: programmeerimine

Programmeerimine
Programmeerimine

Olen kirjutanud programmid ESP01 -ga töötamiseks, kuna sellel on ainult 2 I/O kontakti. Seda saab loomulikult kasutada mis tahes ESP8266 plaadiga. SDA ja SCL tihvte saab eraldada mis tahes tihvtidele vahemikus 1 kuni 12.

Kui kasutate LUA vanemat versiooni (nt NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4), on I2C juba installitud. Vastasel juhul peate tagama, et I2C moodul oleks teie koostisse kaasatud.

Olen lisanud 3 lihtsat Lua programmi, et näidata, kuidas IC -d kasutada.

7Segment.lua juhib LED -ekraani ja järjestusi numbrite 1 kuni 0 vahel.

KittCar.lua juhib 8 LED -plaati, et simuleerida 80ndate kuulsat autot.

Reader.lua loeb portist B.

Samm: milline tihvt?

Milline tihvt?
Milline tihvt?

Lisaprogramm, mille mõtlesin välja nokitsemise ajal.

See kasutab porti B sisendina ja porti A väljundina. Fotol on DIP -lülitid, kuid saate ühendada ühe pordi B tihvti Gnd -ga ja LED -ekraan näitab, milline tihvt on ühendatud.

MÄRKUS: See töötab ainult 1 tihvtiga korraga!

6. samm: järeldus

Järeldus
Järeldus

Loomulikult on saadaval ka teisi I/O laiendajaid. Mõned neist on 8 -bitised, 16 -bitised ja isegi 24 -bitised! Kõik töötavad sarnaselt MCP23017 -ga, kuid see IC on oma võimaluste poolest väga odav ja seda saab hankida Hiinast umbes 10 p.

Ma ei ole selle IC kõiki funktsioone kasutanud, kuna saadaval on ka katkestusi, mida saab kasutada. Andmelehe lugemine räägib kõike erinevatest registritest ja IC -de kasutamise viisidest.

Võimalik, et 8 neist seadmetest on samas I2C -siinis, andes 128 I/O -porti, mida kõiki juhitakse 2 liini abil. Mõelge sealsetele võimalustele!

Soovitan: