Kazalo:
- 1. korak: Ožičenje MCP23008
- 2. korak: Izdelava odbora
- 3. korak: Uporaba knjižničnega modula
- 4. korak: Program za avtomobile Kitt
- Korak 5: 7 Segmentna LED
- 6. korak: Zaključek
Video: NODEMCU LUA ESP8266 z 8 -bitnim razširiteljem vrat MCP23008: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
MCP23008 je 8-bitni V/I razširjevalnik s serijskim vmesnikom in deluje med 1,8 in 5,5 voltov, zato je idealen za ESP8266, Arduino, Raspberry Pi, PIC čipe in drugo.
Če ste na MCP23017 videli moj drugi Instructable, se morda sprašujete, zakaj to počnem tudi za MCP23008, saj je res manjša različica iste stvari.
Razlogi so v tem, da so njeni registri različni tako po imenu kot po številki, zato bi rad pokazal, kako uporabljati že pripravljen knjižnični modul. Pri uporabi NodeMCU lua niso vsi spretni, zato bi rad pokazal ta vidik programiranja, pa tudi način uporabe MCP23008.
Knjižnica in programi so na voljo na github.com.
Podatkovni list za MCP23008 je na voljo pri Microchipu.
1. korak: Ožičenje MCP23008
IC MCP23008 je preproste postavitve in izdelava plošče je zanj zelo enostavna. Vezje lahko nastavite tudi na plošči za kruh.
Pin Connections na moji plošči
- Pin 18 (VDD) na 3v3
- Pin 9 (VSS) na GND
- Pin 7 (NC) na GND (Ni potrebno)
- Pin 1 (SCL) na ESP GPIO2
- Pin 2 (SDA) na ESP GPIO0
- Pin 5 (A0) na GND
- Pin 4 (A1) na GND
- Pin 3 (A2) na GND
- Pin 6 (RESET) na 3v3
Priključite zatiče za branje na Gnd na vratih A (zatiči 10 - 17)
Opomba: tukaj so vsi zatiči naslovov povezani z Gnd za uporabo MCP23008 na naslovu 0x20 na naslovnem vodilu I2C.
Če bi uporabljali naslov 0x21, bi bil A0 priključen na 3.3V, A1 in A2 pa na Gnd.
Podobno, če uporabljate naslov 0x22, bi morali A1 priključiti na 3.3V z A0 in A2 priključenim na Gnd.
itd…
2. korak: Izdelava odbora
Za izdelavo deske sem uporabil ploščo Vero 25 mm x 64 mm (9 vrstic x 25 lukenj). Je nekoliko tesen, a ker je večina zatičev, ki jih potrebujete, na obeh straneh IC, je primeren za to, kar mora narediti.
Za vrata A sem uporabil 8 zatičev in 8 vtičnic za glave, da sem lahko priključil različne module in drugo ožičenje za različne projekte. Dodal sem dodatne zatiče Gnd in 3.3V, saj pri povezovanju modulov teh vedno primanjkuje.
3. korak: Uporaba knjižničnega modula
Knjižnični moduli običajno vsebujejo izbor podprogramov, funkcij in spremenljivk, do katerih lahko dostopa drugi program. Sam program se ne zažene, vendar lahko klicni program dostopa do njegovih funkcij. To pomeni, da lahko imate svoje podprograme v knjižnici in jih pokličete, kadar koli jih potrebujete, tako da naredite majhen klicni program. Bolj dragoceno postane, če uporabljate veliko različnih programov, ki uporabljajo iste podprograme, vam ni treba vključiti podprogramov v vsak program.
Opomba: program mcp23008.lua je treba tako kot druge programe naložiti v pomnilnik ESP8266.
Sem sem vključil programe github.com in preprost program (test.lua), ki dokazuje, da knjižnica deluje.
Knjižnico lahko vključite v svoj program na vsaj dva načina.
require ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
ali
mcp = zahteva ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Oba zgornja delata isto, druga metoda pa vam omogoča, da namesto imena programa uporabite svojo spremenljivko.
4. korak: Program za avtomobile Kitt
Vključil sem program KittCar23008.lua in KittLib.lua, ki uporablja knjižnico za prikaz razlik v tem načinu pisanja programov. Oba programa delata isto.
Vtičnica 8 LED je na voljo pri Ebayu kot komplet in je znana kot 8 -kanalni komplet LED -svetilka s tekočo vodo, 99p iz Kitajske. Spajkati ga morate sami.
Opomba: Če imate težave pri poskusu zagona programa KittLib.lua, poskusite za trenutek priključiti pin za ponastavitev MCP23008 na Gnd. Vem, da bo to povzročilo neposreden kratek stik (saj je povezan z 3.3V), vse ostalo pa morate ponastaviti. Deluje tudi tako, da se priključite na Gnd prek upora 10 ohmov, kar je verjetno boljši način.
Ugotovil sem tudi, da bi KittLib.lua po zagonu test.lua deloval brez težav (ne vprašaj me zakaj?)
Poskušal sem na različne načine rešiti težavo s programom KittLib.lua, vendar doslej ne najdem nobenega logičnega razloga, zakaj se zruši. Ima kdo kakšno idejo?
Sam nisem napisal vseh teh programov, zato ne morem povedati, zakaj je prišlo do težave, čeprav se po ogledu kodiranja ne zdi nič očitno narobe.
Korak 5: 7 Segmentna LED
Tako kot pri zgornjem programu KittCar.lua sem vključil tudi samostojen in od knjižnice odvisen program za pogon 7 -segmentnega LED zaslona.
Ponovno oba programa počneta isto, vendar prikazujeta, kako uporabljati knjižnični modul, ki ste ga napisali sami ali kdo drug.
6. korak: Zaključek
Poskušal sem pokazati, kako uporabljati kodne module v okolju Lua in jih hkrati uporabiti za določeno IC.
Čeprav sem imel pri tem težave, menim, da je dovolj prikazati delovanje teh modulov in prikazati aplikacijo v resničnem življenju.
Priporočena:
Mikro: odpirač vrat za pasje vrat: 8 korakov (s slikami)
Micro: Odpiralnik vrat za pse: Ali se vaši hišni ljubljenčki ujamejo v sobe? Bi radi, da bi svoj dom naredili bolj dostopen svojim kosmatim* prijateljem ?? Zdaj lahko, hura !! Ta projekt uporablja mikrokrmilnik micro: bit, da odpre vrata, ko pritisnete (hišnim ljubljenčkom prijazno) stikalo. Mi bomo
ESP8266 - Senzorji vrat in oken - ESP8266. Pomoč starejšim (pozabljivost): 5 korakov
ESP8266 - Senzorji vrat in oken - ESP8266. Pomoč starejšim (pozabljivost): ESP8266 - Senzorji vrat / oken z uporabo GPIO 0 in GPIO 2 (IOT). Ogledate si ga lahko v spletu ali lokalnem omrežju z brskalniki. Vidno tudi prek " HelpIdoso Vxapp " aplikacijo. Uporablja napajanje 110/220 VAC za 5Vdc, 1 rele / napetost
Nadzor vrat z Googlovim pomočnikom z uporabo ESP8266 NodeMCU: 6 korakov
Nadzor vrat z Googlovim pomočnikom z uporabo ESP8266 NodeMCU: To je moj prvi projekt o navodilih, zato spodaj komentirajte, če so možne izboljšave. Ideja je, da uporabite Googlov pomočnik za pošiljanje signala na nadzorno ploščo vrat. Tako bo s pošiljanjem ukaza prišel rele, ki zapre
Samodejne luči, povezane z nadzorom vrat in vrat .: 5 korakov
Samodejne luči, povezane z nadzorom vrat in vrat. Zdi se, da je v temi zelo težko najti stikalno ploščo, vendar je ta projekt res v pomoč pri reševanju te težave. Če želite izvedeti rešitev tega problema, sledite spodnjim korakom
Brezžično zaklepanje vrat RFID z Nodemcu: 9 korakov (s slikami)
Brezžično zaklepanje vrat RFID z uporabo Nodemcuja: --- glavna funkcija --- Ta projekt je bil zgrajen kot del predavanja o omrežnih komunikacijah na Universidade do Algarve v sodelovanju s kolegom Lui iacute S Santosom. Njegov glavni namen je nadzorovati dostop električne ključavnice prek brezžične povezave