Sadržaj:
- Korak 1: Ožičenje MCP23008
- Korak 2: Izrada ploče
- Korak 3: Korištenje bibliotečkog modula
- Korak 4: Program Kitt Car
- Korak 5: 7 Segmentna LED dioda
- Korak 6: Zaključak
Video: NODEMCU LUA ESP8266 s MCP23008 8 -bitnim ekspanderom porta IC: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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 doista manja verzija iste stvari.
Razlozi su u tome što se njeni registri razlikuju i po imenu i po broju, a htio bih pokazati kako se koristi gotov bibliotečki modul. Nisu svi vješti u korištenju NodeMCU lua, pa bih želio prikazati ovaj aspekt programiranja, kao i način korištenja MCP23008.
Knjižnica i programi dostupni su na github.com.
Tehnički list za MCP23008 dostupan je na Microchipu.
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
Spojite 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 s A0 i A2 spojenim na Gnd.
itd…
Korak 2: Izrada ploče
Za izradu ploče koristio sam ploču Vero od 25 mm x 64 mm (9 redova x 25 rupa). Malo je tijesan, ali budući da se većina pinova koje trebate nalazi s obje strane IC -a, prikladan je za ono što mora učiniti.
Koristio sam 8 pinova i 8 utičnica za zaglavlje za priključak 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 nedostaje pri povezivanju modula.
Korak 3: Korištenje bibliotečkog modula
Knjižnički moduli obično sadrže izbor potprograma, funkcija i varijabli kojima može pristupiti drugi program. Sam program ne radi, 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 zatreba, č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 potrebno je 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 knjižnica radi.
Postoje najmanje 2 načina za uključivanje knjižnice u vaš program.
require ("mcp23008")
mcp23008.početi (0x0, gpio2, gpio0, i2c. SLOW)
ili
mcp = zahtijevaju ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Oboje gore radi istu stvar, ali druga metoda omogućuje vam korištenje vlastite varijable umjesto naziva programa.
Korak 4: Program Kitt Car
Uključio sam program KittCar23008.lua i KittLib.lua koji koristi knjižnicu za prikaz razlika u načinu pisanja programa na ovaj način. Oba programa rade istu stvar.
8 LED utikač dostupan je na Ebayu kao komplet i poznat je kao 8 -kanalni LED DIY komplet za protok vode s osvjetljenjem, 99p iz Kine. Morate ga sami zalemiti.
Napomena: Ako imate problema s pokušajem pokretanja programa KittLib.lua, pokušajte nakratko spojiti pin za resetiranje MCP23008 na Gnd. Znam da će ovo dati izravan kratki spoj (budući da je spojen na 3,3 V), a sve ostalo morate resetirati. Također radi spajanjem na Gnd kroz otpornik 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 zasad ne mogu pronaći nikakav logičan razlog zašto se ruši. Ima li tko kakvu ideju?
Nisam sam napisao sve ove programe, pa ne mogu reći zašto postoji problem, iako nakon pregleda kodiranja ne čini se 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 program i program ovisan o knjižnici za upravljanje 7 -segmentnim LED zaslonom.
Opet, oba programa rade istu stvar, ali pokazuju kako koristiti bibliotečki modul koji ste sami napisali ili netko drugi.
Korak 6: Zaključak
Pokušao sam pokazati kako koristiti module koda unutar Lua okruženja, te ih primijeniti na određeni IC u isto vrijeme.
Iako sam imao problema s tim, mislim da postoji dovoljno da se pokaže kako ti moduli rade, kao i da se demonstrira aplikacija iz stvarnog života.
Preporučeni:
NODEMCU LUA ESP8266 Povezivanje s MySQL bazom podataka: 6 koraka
NODEMCU LUA ESP8266 Povežite se s 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šavanju 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 stvarnom vremenu (RTC) i EEPROM -om: Dobivanje ispravnog vremena bitno je 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 zadržali vrijeme za sebe? Pa možete, ima vlastiti interni RTC (u stvarnom vremenu
Treperi LED pomoću ESP8266 NodeMCU Lua WiFi vodiča: 6 koraka
Treperi LED pomoću ESP8266 NodeMCU Lua WiFi vodiča: OPISNodeMCU je IoT platforma otvorenog koda. Uključuje firmver koji radi na ESP8266 WiFi SoC-u tvrtke Espressif i hardver koji se temelji na modulu ESP-12. Pojam "NodeMcu" prema zadanim postavkama odnosi se 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)
NODEMCU LUA ESP8266 Upravljački program upravljačkog sklopa LED zaslona M5450B7: 5 koraka (sa slikama)
NODEMCU LUA ESP8266 Upravljački sklop upravljačkog programa za LED zaslon M5450B7: M5450B7 je 40 -pinni DIP upravljački sklop LED zaslona. Izgleda prilično zvijer, ali ga je relativno lako kontrolirati i programirati. Postoje 34 izlaza koja mogu imati spojenu LED diodu svakom od njih. Uređaj radije gubi struju nego je napaja, pa će c