INHOUDSOPGAWE:
- Stap 1: Bedrading van die MCP23008
- Stap 2: Bou 'n bord
- Stap 3: Gebruik 'n biblioteekmodule
- Stap 4: Kitt Car -program
- Stap 5: 7 Segment LED
- Stap 6: Gevolgtrekking
Video: NODEMCU LUA ESP8266 Met MCP23008 8 Bit Port Expander IC: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Die MCP23008 is 'n 8-bis I/O-uitbreider met seriële koppelvlak en werk tussen 1,8 en 5,5 volt, en is dus ideaal vir die ESP8266, Arduino, Raspberry Pi, PIC Chips en meer.
As u my ander Instructable op die MCP23017 gesien het, wonder u miskien waarom ek ook een vir die MCP23008 doen, aangesien dit eintlik 'n kleiner weergawe van dieselfde ding is.
Die redes is dat die registers in naam en nommer verskil, en ek wil wys hoe u 'n gereedgemaakte biblioteekmodule kan gebruik. Nie almal is vaardig in die gebruik van NodeMCU lua nie, so ek wil hierdie aspek van programmering wys en hoe om die MCP23008 te gebruik.
Die biblioteek en programme is beskikbaar by github.com.
Die datablad vir die MCP23008 is beskikbaar by Microchip.
Stap 1: Bedrading van die MCP23008
Die MCP23008 IC het 'n eenvoudige uitleg, en dit is baie maklik om 'n bord te bou. U kan ook die kring op 'n broodbord opstel.
Speld verbindings op my bord vas
- Speld 18 (VDD) tot 3v3
- Speld 9 (VSS) aan GND
- Speld 7 (NC) tot GND (nie nodig nie)
- Speld 1 (SCL) aan ESP GPIO2
- Speld 2 (SDA) aan ESP GPIO0
- Speld 5 (A0) aan GND vas
- Speld 4 (A1) aan GND vas
- Speld 3 (A2) aan GND
- Speld 6 (HERSTEL) op 3v3
Verbind penne wat gelees moet word met Gnd op poort A (penne 10 - 17)
Let wel: hier is al die adrespenne gekoppel aan Gnd om die MCP23008 op adres 0x20 op die I2C -adresbus te gebruik.
As u adres 0x21 gebruik, sou A0 gekoppel wees aan 3.3V, met A1 en A2 gekoppel aan Gnd.
As adres 0x22 ook gebruik word, moet A1 gekoppel wees aan 3.3V met A0 en A2 gekoppel aan Gnd.
ens …
Stap 2: Bou 'n bord
Ek het 'n 25 mm x 64 mm (9 rye x 25 gate) Vero -strookbord gebruik om my bord te bou. Dit is 'n bietjie styf, maar aangesien die meeste penne wat u benodig, aan weerskante van die IC is, is dit voldoende vir wat dit moet doen.
Ek het 8 penne en 8 kopstukke vir poort A gebruik, sodat ek my verskillende modules sowel as ander bedrading vir verskillende projekte kan aansluit. Ek het ekstra Gnd- en 3.3V -penne bygevoeg, aangesien ek vind dat daar altyd 'n tekort is wanneer modules aan mekaar gekoppel word.
Stap 3: Gebruik 'n biblioteekmodule
Biblioteekmodules bevat gewoonlik 'n verskeidenheid subroetines, funksies en veranderlikes wat deur 'n ander program verkry kan word. Die program self loop nie, maar die funksies daarvan kan verkry word deur die oproepprogram. Dit beteken dat u u sub-roetines in die biblioteek kan hê en dit kan oproep wanneer u dit ook al nodig het, met 'n klein oproepprogram. Dit word meer waardevol as u baie verskillende programme het wat dieselfde subroetines gebruik, en u hoef nie die subroetines in elke program op te neem nie.
Let wel: die mcp23008.lua -program moet net soos die ander programme in die ESP8266 -geheue gelaai word.
Ek het die github.com -programme hier sowel as 'n eenvoudige program (test.lua) ingesluit om aan te toon dat die biblioteek werk.
Daar is ten minste 2 maniere om die biblioteek in u program op te neem.
vereis ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. LOW)
of
mcp = vereis ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Beide hierbo doen dieselfde, maar met die tweede metode kan u u eie veranderlike gebruik in plaas van die programnaam.
Stap 4: Kitt Car -program
Ek het die KittCar23008.lua -program en KittLib.lua ingesluit, wat die biblioteek gebruik om die verskille in hoe om programme op hierdie manier te skryf, aan te toon. Beide programme doen dieselfde.
Die 8 LED -inprop is beskikbaar by Ebay as 'n stel en staan bekend as 'n 8 -kanaals vloeiende waterlig LED DIY -kit, 99p uit China. U moet dit self soldeer.
Opmerking: as u 'n probleem ondervind om die KittLib.lua -program te begin, probeer dan om die MCP23008 RESET -pen kort op Gnd te koppel. Ek weet dat dit 'n direkte kortsluiting sal gee (aangesien dit gekoppel is aan 3.3V) en dat u alles anders moet herstel. Dit werk ook deur aan te sluit op Gnd via 'n weerstand van 10 ohm, waarskynlik 'n beter manier om dit te doen.
Ek het ook agtergekom dat KittLib.lua sonder probleme sou loop nadat test.lua uitgevoer is (vra my nie hoekom nie?)
Ek het verskillende maniere probeer om die KittLib.lua -programprobleem op te los, maar kon tot dusver geen logiese rede vind waarom dit ineenstort nie. Het iemand dalk 'n idee?
Ek het nie al hierdie programme self geskryf nie, en ek kan nie sê hoekom daar 'n probleem is nie, hoewel daar blykbaar niks verkeerd is nie.
Stap 5: 7 Segment LED
Soos met die KittCar.lua -program hierbo, het ek 'n selfstandige en biblioteekafhanklike program ingesluit om 'n 7 -segment LED -skerm te bestuur.
Weereens doen beide programme dieselfde, maar demonstreer hoe u 'n biblioteekmodule kan gebruik, óf deur u self of deur iemand anders geskryf.
Stap 6: Gevolgtrekking
Ek het probeer demonstreer hoe om kode -modules in die Lua -omgewing te gebruik, en dit terselfdertyd op 'n spesifieke IC toe te pas.
Alhoewel ek 'n probleem ondervind het, dink ek dat daar genoeg is om aan te toon hoe hierdie modules werk, sowel as om 'n werklike toepassing aan te toon.
Aanbeveel:
NODEMCU Lua ESP8266 Met Real Time Clock (RTC) en EEPROM: 7 stappe
NODEMCU Lua ESP8266 Met Real Time Clock (RTC) en EEPROM: Dit is noodsaaklik om die regte tyd te kry as u 'n datalogboek wil byhou. Daar is verskillende maniere om tyd uit bronne op die internet te kry. U kan vra waarom u nie die ESP8266 gebruik om tyd vir u te hou nie? U kan, dit het sy eie interne RTC (Real Time
Knipper LED met ESP8266 NodeMCU Lua WiFi -tutoriaal: 6 stappe
Knipper LED met behulp van ESP8266 NodeMCU Lua WiFi -tutoriaal: BESKRYWINGNodeMCU is 'n open source IoT -platform. Dit bevat firmware wat op die ESP8266 WiFi SoC van Espressif werk, en hardeware wat gebaseer is op die ESP-12-module. Die term " NodeMcu " verwys standaard na die filmware eerder as na
Hoe om LED te beheer met behulp van ESP8266 NodemCU Lua WiFi vanaf webwerf: 7 stappe
Hoe om LED te beheer met behulp van ESP8266 NodemCU Lua WiFi vanaf die webwerf: Hierdie tutoriaal gaan u 'n paar basiese beginsels leer oor die gebruik van ESP8266 NodemCU Lua WiFi om die LED vanaf die internet te beheer. Voordat u begin, moet u al die nodige materiaal hê: NodeMCU Lua WiFi LED -broodbordtrui (indien nodig)
NODEMCU LUA ESP8266 Met CD4017 Decade Counter: 4 Stappe (met foto's)
NODEMCU LUA ESP8266 Met CD4017 Decade Counter: Die CD4017 is 'n dekade teller / verdeler. Dit beteken dat wanneer dit 'n pols ontvang, dit tel en 'n uitset na die toepaslike pen stuur. Dit is 'n redelik maklike IC om te gebruik, en u kan die kring op 'n broodbord bou of een by Ebay koop vir
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: 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 Daar is ook 2 penne op hierdie IC wat nog nie gebruik word nie