Përmbajtje:
- Hapi 1: Instalimi i telave MCP23008
- Hapi 2: Ndërtimi i një bordi
- Hapi 3: Përdorimi i një Moduli të Bibliotekës
- Hapi 4: Programi i Kitt Car
- Hapi 5: 7 Segmenti LED
- Hapi 6: Përfundimi
Video: NODEMCU LUA ESP8266 Me MCP23008 8 Bit Port Expander IC: 6 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:28
MCP23008 është një Zgjerues I/O 8-Bit me Ndërfaqe Seriale dhe funksionon midis 1.8 dhe 5.5 volt, kështu që është ideal për ESP8266, Arduino, Raspberry Pi, patate të skuqura PIC dhe më shumë.
Nëse e keni parë Instructable -in tim tjetër në MCP23017, mund të pyesni veten pse po bëj edhe unë një për MCP23008, pasi është vërtet një version më i vogël i së njëjtës gjë.
Arsyet janë se regjistrat e tij janë të ndryshëm si në emër ashtu edhe në numër dhe unë do të doja të tregoja se si të përdorim një modul bibliotekar të gatshëm. Jo të gjithë janë të aftë kur përdorin NodeMCU lua, kështu që unë do të doja të tregoja këtë aspekt të programimit, si dhe mënyrën e përdorimit të MCP23008.
Biblioteka dhe programet janë në dispozicion në github.com.
Fleta e të dhënave për MCP23008 është në dispozicion nga Microchip.
Hapi 1: Instalimi i telave MCP23008
IC MCP23008 është me një plan urbanistik të thjeshtë dhe ndërtimi i një bordi është realisht i lehtë për të. Ju gjithashtu mund të vendosni qarkun në një dërrasë bukë.
Pin Connections në tabelën time
- Pin 18 (VDD) në 3v3
- Pin 9 (VSS) në GND
- Pin 7 (NC) në GND (Jo e nevojshme)
- Pin 1 (SCL) në ESP GPIO2
- Pin 2 (SDA) në ESP GPIO0
- Pin 5 (A0) në GND
- Pin 4 (A1) në GND
- Pin 3 (A2) në GND
- Pin 6 (RESET) në 3v3
Lidhni kunjat që do të lexohen me Gnd në Portin A (kunjat 10 - 17)
Shënim: këtu të gjitha kunjat e adresave janë të lidhura me Gnd për të përdorur MCP23008 në adresën 0x20 në autobusin e adresave I2C.
Nëse po përdorni adresën 0x21, atëherë A0 do të lidhej me 3.3V, me A1 & A2 të lidhur me Gnd.
Në mënyrë të ngjashme nëse përdorni adresën 0x22 atëherë A1 do të duhet të lidhet me 3.3V me A0 dhe A2 të lidhur me Gnd.
etj…
Hapi 2: Ndërtimi i një bordi
Kam përdorur një tabelë me shirita Vero 25 mm x 64 mm (9 rreshta x 25 vrima) për të ndërtuar tabelën time. Shtë pak e ngushtë, por pasi shumica e kunjave që ju nevojiten janë në të dyja anët e IC, është e përshtatshme për atë që duhet të bëjë.
Kam përdorur 8 kunja dhe 8 priza për kokën për portin A në mënyrë që të mund të lidh modulet e mia të ndryshme, si dhe instalime elektrike të tjera për projekte të ndryshme. Kam shtuar kunja shtesë Gnd dhe 3.3V pasi gjej se gjithmonë ka mungesë të këtyre kur lidh modulet së bashku.
Hapi 3: Përdorimi i një Moduli të Bibliotekës
Modulet e bibliotekës normalisht përmbajnë një përzgjedhje të nën-rutinave, funksioneve dhe variablave që mund të arrihen nga një program tjetër. Vetë programi nuk funksionon, por funksionet e tij mund të arrihen nga programi i thirrjes. Kjo do të thotë që ju mund të keni nën-rutinat tuaja brenda bibliotekës dhe t'i thërrisni ato sa herë që keni nevojë për to, duke bërë një program të vogël thirrjesh. Bëhet më e vlefshme nëse keni shumë programe të ndryshme që përdorin të njëjtat nën-rutina, nuk keni nevojë të përfshini nën-rutinat në çdo program.
Shënim: programi mcp23008.lua duhet të ngarkohet në kujtesën ESP8266 si programet e tjera.
Unë kam përfshirë programet github.com këtu, si dhe një program të thjeshtë (test.lua) për të treguar se biblioteka po funksionon.
Ka të paktën 2 mënyra për të përfshirë bibliotekën në programin tuaj.
kërkojnë ("mcp23008")
mcp23008.filloj (0x0, gpio2, gpio0, i2c. NGJAL)
ose
mcp = kërkoj ("mcp23008")
mcp.filloj (0x0, gpio2, gpio0, i2c. NDALO)
Të dyja më sipër bëjnë të njëjtën gjë, por metoda e dytë ju lejon të përdorni ndryshoren tuaj në vend të emrit të programit.
Hapi 4: Programi i Kitt Car
Unë kam përfshirë programin KittCar23008.lua dhe KittLib.lua i cili përdor bibliotekën për të treguar dallimet në mënyrën e shkrimit të programeve në këtë mënyrë. Të dy programet bëjnë të njëjtën gjë.
Shtojca 8 LED është e disponueshme nga Ebay si një çantë dhe njihet si një Kit DIY LED me ujë të rrjedhshëm me 8 kanale, 99p nga Kina. Duhet ta lidhësh vetë.
Shënim: Nëse keni një problem duke u përpjekur të ekzekutoni programin KittLib.lua, provoni të lidhni kunjin MCP23008 RESET me Gnd në çast. Unë e di se kjo do të japë një qark të shkurtër të drejtpërdrejtë (pasi është i lidhur me 3.3V) dhe ju duhet të rivendosni gjithçka tjetër. Gjithashtu funksionon duke u lidhur me Gnd përmes një rezistence 10 ohm, ndoshta një mënyrë më e mirë për ta bërë atë.
Unë gjithashtu zbulova se KittLib.lua do të punonte pa probleme pas drejtimit të test.lua (Mos më pyet pse?)
Unë kam provuar mënyra të ndryshme për të zgjidhur problemin e programit KittLib.lua, por deri më tani nuk mund të gjej ndonjë arsye logjike pse rrëzohet. A ka dikush ndonje ide?
Unë nuk i kam shkruar të gjitha këto programe vetë, kështu që nuk jam në gjendje të them pse ka një problem, edhe pse pas shikimit të kodimit, nuk duket të ketë ndonjë gjë të qartë të gabuar.
Hapi 5: 7 Segmenti LED
Ashtu si me programin KittCar.lua më lart, unë kam përfshirë një program të pavarur dhe një bibliotekë të varur për të drejtuar një ekran LED me 7 segmente.
Përsëri, të dy programet bëjnë të njëjtën gjë, por demonstrojnë se si të përdorni një modul bibliotekë të shkruar nga ju ose dikush tjetër.
Hapi 6: Përfundimi
Unë jam përpjekur të demonstroj se si të përdor modulet e kodit brenda mjedisit Lua, dhe ta zbatoj atë në një IC të veçantë në të njëjtën kohë.
Edhe pse kam pasur një problem duke e bërë këtë, unë mendoj se ka mjaft për të treguar se si funksionojnë këto module, si dhe duke demonstruar një aplikim të jetës reale.
Recommended:
NODEMCU LUA ESP8266 Lidhu me bazën e të dhënave MySQL: 6 hapa
NODEMCU LUA ESP8266 Lidhu me bazën e të dhënave MySQL: Ky udhëzues nuk është për njerëzit me zemër të dobët pasi përdor XAMPP (Apache, MySQL & PHP), HTML dhe natyrisht LUA. Nëse jeni të sigurt në trajtimin e këtyre, lexoni! Unë përdor XAMPP pasi mund të konfigurohet në një stilolaps ose hard diskun tuaj dhe është i konfiguruar
NODEMCU Lua ESP8266 Me orë në kohë reale (RTC) & EEPROM: 7 hapa
NODEMCU Lua ESP8266 Me orë në kohë reale (RTC) & EEPROM: Marrja e kohës së duhur është thelbësore nëse doni të mbani një regjistër të të dhënave. Ka mënyra të ndryshme për të marrë kohë nga burimet në internet. Ju mund të pyesni pse të mos përdorni ESP8266 për të mbajtur kohë për ju? Epo ju mundeni, ajo ka RTC -në e saj të brendshme (Koha Real
Blink LED Duke përdorur ESP8266 NodeMCU Lua WiFi Tutorial: 6 hapa
Blink LED Duke përdorur ESP8266 NodeMCU Lua WiFi Tutorial: PESRSHKRIMNodeMCU është një platformë IoT me burim të hapur. Ai përfshin firmware i cili funksionon në ESP8266 WiFi SoC nga Espressif, dhe pajisje e cila bazohet në modulin ESP-12. Termi " NodeMcu " si parazgjedhje i referohet filmave dhe jo t
Si të kontrolloni LED duke përdorur ESP8266 NodemCU Lua WiFi nga faqja në internet: 7 hapa
Si të kontrolloni LED duke përdorur ESP8266 NodemCU Lua WiFi Nga Uebfaqja: Ky tutorial do t'ju mësojë disa baza për përdorimin e ESP8266 NodemCU Lua WiFi për të kontrolluar LED nga uebi. Para se të filloni, sigurohuni që keni të gjitha materialet e nevojshme: ESP8266 NodeMCU Lua WiFi LED Bateri bluzë (nëse është e nevojshme)
NODEMCU LUA ESP8266 Me MCP23017 16 Bit Port Expander IC: 6 hapa (me fotografi)
NODEMCU LUA ESP8266 Me MCP23017 16 Bit Port Expander IC: MCP23017 është një IC relativisht e lehtë për të bërë një bord sepse ka Port A dhe B në të dyja anët e çipit dhe kunjat janë në renditje të njëpasnjëshme. Ngjashëm autobusi i adresës I2C është të gjitha së bashku gjithashtu. Ka 2 kunja në këtë IC të cilat nuk përdoren si ajo