Sadržaj:
- Korak 1: Ožičenje MCP23008
- Korak 2: Konstruisanje odbora
- Korak 3: Korištenje bibliotečkog modula
- Korak 4: Program za Kitt Car
- Korak 5: 7 Segmentna LED dioda
- Korak 6: Zaključak
Video: NODEMCU LUA ESP8266 sa MCP23008 proširivačem 8 -bitnih portova IC: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
MCP23008 je 8-bitni I/O ekspander sa serijskim sučeljem i radi između 1,8 i 5,5 volti, pa je idealan za ESP8266, Arduino, Raspberry Pi, PIC čipove i još mnogo toga.
Ako ste vidjeli moj drugi Instructable na MCP23017, možda ćete se zapitati zašto to radim i za MCP23008, jer je to zaista manja verzija iste stvari.
Razlozi su u tome što se njeni registri razlikuju i po imenu i po broju i htio bih pokazati kako se koristi gotov bibliotečki modul. Nisu svi vješti u korištenju NodeMCU lua, pa bih želio pokazati ovaj aspekt programiranja, kao i način korištenja MCP23008.
Biblioteka i programi dostupni su na github.com.
Tehnički list za MCP23008 dostupan je na lokaciji Microchip.
Korak 1: Ožičenje MCP23008
IC MCP23008 je jednostavnog izgleda, a izgradnja ploče mu je zaista laka. Krug možete postaviti i na ploči za kruh.
Pin veze na mojoj ploči
- Pin 18 (VDD) na 3v3
- Pin 9 (VSS) na GND
- Pin 7 (NC) na GND (nije 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 pinove za čitanje na Gnd na priključku A (pinovi 10 - 17)
Napomena: ovdje su svi pinovi adresa spojeni na Gnd kako bi koristili MCP23008 na adresi 0x20 na sabirnici adresa I2C.
Ako ste koristili adresu 0x21 tada bi A0 bio spojen na 3.3V, a A1 i A2 spojeni na Gnd.
Slično, ako se koristi adresa 0x22, tada bi A1 morao biti spojen na 3.3V sa A0 i A2 spojenim na Gnd.
itd…
Korak 2: Konstruisanje odbora
Za izradu ploče koristio sam Vero strip ploču 25 mm x 64 mm (9 redova x 25 rupa). Malo je tijesan, ali budući da se većina pinova koji su vam potrebni nalazi s obje strane IC -a, prikladan je za ono što mora učiniti.
Koristio sam 8 pinova i 8 utičnica za priključak za port A tako da mogu priključiti svoje različite module, kao i druga ožičenja za različite projekte. Dodao sam dodatne Gnd i 3.3V pinove jer smatram da ih uvijek postoji pri povezivanju modula.
Korak 3: Korištenje bibliotečkog modula
Bibliotečki moduli obično sadrže izbor potprograma, funkcija i varijabli kojima može pristupiti drugi program. Sam program se ne pokreće, ali pozivajućem programu može pristupiti njegovim funkcijama. To znači da svoje podrutine možete imati u biblioteci i pozivati ih kad god vam zatrebaju, čineći mali program za pozivanje. To postaje vrijednije ako imate mnogo različitih programa koji koriste iste podrutine, ne morate uključiti podrutine u svaki program.
Napomena: program mcp23008.lua treba učitati u memoriju ESP8266 kao i drugi programi.
Ovdje sam uključio programe github.com, kao i jednostavan program (test.lua) koji pokazuje da biblioteka radi.
Postoje najmanje 2 načina za uključivanje biblioteke u vaš program.
require ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
ili
mcp = zahtijevaju ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Oboje gore radi istu stvar, ali druga metoda vam omogućava da koristite vlastitu varijablu umjesto naziva programa.
Korak 4: Program za Kitt Car
Uključio sam program KittCar23008.lua i KittLib.lua koji koriste biblioteku da pokažu razlike u načinu pisanja programa na ovaj način. Oba programa rade istu stvar.
8 LED utikač dostupan je na Ebay -u kao komplet i poznat je kao 8 -kanalni LED DIY komplet za protok vode sa osvjetljenjem, 99p iz Kine. Morate ga sami zalemiti.
Napomena: Ako imate problema pri pokušaju pokretanja programa KittLib.lua, pokušajte na trenutak spojiti pin za resetiranje MCP23008 na Gnd. Znam da će ovo dati direktan kratki spoj (jer je spojen na 3.3V), a sve ostalo morate resetirati. Također radi spajanjem na Gnd preko otpornika od 10 ohma, što je vjerojatno bolji način.
Također sam otkrio da će KittLib.lua raditi bez problema nakon pokretanja test.lua (Ne pitaj me zašto?)
Pokušao sam na različite načine riješiti problem programa KittLib.lua, ali do sada nisam mogao pronaći nikakav logičan razlog zašto se ruši. Ima li neko ideju?
Nisam sam napisao sve ove programe, pa ne mogu reći zašto postoji problem, iako nakon pregleda kodiranja ne izgleda da je nešto očito pogrešno.
Korak 5: 7 Segmentna LED dioda
Kao i kod gore navedenog programa KittCar.lua, uključio sam samostalni i bibliotečki zavisni program za upravljanje 7 -segmentnim LED ekranom.
Opet, oba programa rade istu stvar, ali pokazuju kako se koristi bibliotečki modul koji ste napisali sami ili neko drugi.
Korak 6: Zaključak
Pokušao sam pokazati kako koristiti module koda u Lua okruženju, te ih primijeniti na određenu IC u isto vrijeme.
Iako sam imao problema s ovim, mislim da postoji dovoljno da se pokaže kako ti moduli rade, kao i da se demonstrira aplikacija iz stvarnog života.
Preporučuje se:
NODEMCU LUA ESP8266 Povezivanje na MySQL bazu podataka: 6 koraka
NODEMCU LUA ESP8266 Povežite se sa MySQL bazom podataka: Ovo uputstvo nije za osobe sa slabim srcem jer koristi XAMPP (Apache, MySQL & PHP), HTML i naravno LUA. Ako ste sigurni u rješavanje ovih problema, čitajte dalje! Koristim XAMPP jer se može postaviti na olovku ili tvrdi disk i konfiguriran je
NODEMCU Lua ESP8266 sa satom u stvarnom vremenu (RTC) i EEPROM: 7 koraka
NODEMCU Lua ESP8266 sa satom u realnom vremenu (RTC) i EEPROM -om: Dobijanje tačnog vremena je bitno ako želite voditi dnevnik podataka. Postoje različiti načini da dobijete vrijeme iz izvora na Internetu. Možda ćete se upitati zašto ne biste koristili ESP8266 kako biste odvojili vrijeme za sebe? Pa možete, ima svoj interni RTC (u stvarnom vremenu
Treperi LED pomoću ESP8266 NodeMCU Lua WiFi Vodič: 6 koraka
Treperi LED pomoću ESP8266 NodeMCU Lua WiFi vodiča: DESCRIPTIONNodeMCU je IoT platforma otvorenog koda. Uključuje firmver koji radi na ESP8266 WiFi SoC-u kompanije Espressif i hardver zasnovan na modulu ESP-12. Izraz "NodeMcu" po defaultu se odnosi na filmski softver, a ne na
Kako kontrolirati LED pomoću ESP8266 NodemCU Lua WiFi sa web stranice: 7 koraka
Kako kontrolirati LED pomoću ESP8266 NodemCU Lua WiFi sa web stranice: Ovaj će vas vodič naučiti neke osnove o korištenju ESP8266 NodemCU Lua WiFi za upravljanje LED diodama s weba. Prije nego počnete, provjerite imate li sve potrebne materijale: ESP8266 NodeMCU Lua WiFi LED kratkospojnik (ako je potrebno)
Prosljeđivanje SMC portova: 6 koraka
Prosljeđivanje SMC portova: U ovom uputstvu ću vam pokazati kako proslijediti vaš modem ili usmjerivač kako bi mogao prihvatiti veze s određenih portova. U ovaj Instructable također sam uključio neke opće portove koji se koriste za neke općenite stvari kojima je potrebno prebacivanje portova