Talaan ng mga Nilalaman:
- Hakbang 1: Pag-kable ng MCP23008
- Hakbang 2: Pagbubuo ng isang Lupon
- Hakbang 3: Paggamit ng isang Modyul sa Library
- Hakbang 4: Kitt Car Program
- Hakbang 5: 7 Segment LED
- Hakbang 6: Konklusyon
Video: NODEMCU LUA ESP8266 Sa MCP23008 8 Bit Port Expander IC: 6 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Ang MCP23008 ay isang 8-Bit I / O Expander na may Serial Interface at nagpapatakbo sa pagitan ng 1.8 at 5.5 volts, sa gayon ay mainam para sa ESP8266, Arduino, Raspberry Pi, PIC Chips at marami pa.
Kung nakita mo ang aking iba pang Instructable sa MCP23017, maaaring nagtataka ka kung bakit gumagawa din ako ng isa para sa MCP23008, dahil ito ay talagang isang mas maliit na bersyon ng parehong bagay.
Ang mga dahilan ay ang mga rehistro nito ay magkakaiba pareho sa pangalan at numero at nais kong ipakita kung paano gumamit ng isang handa nang gawing module ng library. Hindi lahat ay sanay sa paggamit ng NodeMCU lua, kaya nais kong ipakita ang aspektong ito ng pagprograma pati na rin kung paano gamitin ang MCP23008.
Magagamit ang library at mga programa sa github.com.
Ang datasheet para sa MCP23008 ay magagamit mula sa Microchip.
Hakbang 1: Pag-kable ng MCP23008
Ang MCP23008 IC ay isang simpleng layout at pagbuo ng isang board ay realtively madali para dito. Maaari mo ring i-set up ang circuit sa isang board ng tinapay.
I-pin ang Mga Koneksyon sa aking board
- I-pin ang 18 (VDD) sa 3v3
- I-pin ang 9 (VSS) sa GND
- I-pin ang 7 (NC) sa GND (Hindi kinakailangan)
- I-pin ang 1 (SCL) sa ESP GPIO2
- I-pin ang 2 (SDA) sa ESP GPIO0
- I-pin ang 5 (A0) sa GND
- I-pin ang 4 (A1) sa GND
- I-pin ang 3 (A2) sa GND
- Pin 6 (RESET) hanggang 3v3
Ikonekta ang mga pin upang mabasa sa Gnd sa Port A (mga pin 10 - 17)
Tandaan: narito ang lahat ng mga address pin ay konektado sa Gnd upang magamit ang MCP23008 sa address na 0x20 sa I2C address bus.
Kung gumagamit ka ng address na 0x21 kung gayon ang A0 ay konektado sa 3.3V, na may A1 & A2 na konektado sa Gnd.
Katulad nito kung ang paggamit ng address na 0x22 kung gayon ang A1 ay dapat na konektado sa 3.3V na may A0 at A2 na konektado sa Gnd.
atbp…
Hakbang 2: Pagbubuo ng isang Lupon
Gumamit ako ng isang 25 mm x 64 mm (9 mga hilera x 25 butas) Vero strip board upang maitayo ang aking board. Ito ay medyo masikip, ngunit tulad ng karamihan sa mga pin na kailangan mo ay nasa magkabilang panig ng IC, sapat ito para sa kung ano ang dapat gawin.
Gumamit ako ng 8 mga pin at 8 na mga socket ng header para sa port A upang ma-plug ko ang aking iba't ibang mga module pati na rin ang iba pang mga kable para sa iba't ibang mga proyekto. Nagdagdag ako ng labis na Gnd at 3.3V na mga pin tulad ng nakita kong palaging may kakulangan sa mga ito kapag magkokonekta sa mga module.
Hakbang 3: Paggamit ng isang Modyul sa Library
Karaniwang naglalaman ang mga module ng library ng isang pagpipilian ng mga sub-routine, pag-andar at variable na maaaring ma-access ng ibang programa. Ang programa mismo ay hindi tumatakbo, ngunit ang mga pag-andar nito ay maaaring ma-access ng programa sa pagtawag. Nangangahulugan ito na maaari mong magkaroon ng iyong mga sub-gawain sa loob ng silid-aklatan at tawagan sila kahit kailan mo kailangan sila, na gumagawa ng isang maliit na programa sa pagtawag. Nagiging mas mahalaga kung mayroon kang maraming iba't ibang mga programa na gumagamit ng parehong mga sub-routine, hindi mo kailangang isama ang mga sub-routine sa bawat programa.
Tandaan: ang mcp23008.lua na programa ay kailangang mai-load sa memorya ng ESP8266 tulad ng iba pang mga programa.
Isinama ko ang mga programang github.com dito pati na rin ang isang simpleng programa (test.lua) upang maipakita na gumagana ang library.
Mayroong hindi bababa sa 2 mga paraan upang maisama ang library sa iyong programa.
nangangailangan ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
o
mcp = nangangailangan ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. LOW)
Pareho sa itaas ang gumagawa ng parehong bagay, ngunit ang pangalawang pamamaraan ay nagbibigay-daan sa iyo upang magamit ang iyong sariling variable sa halip na ang pangalan ng programa.
Hakbang 4: Kitt Car Program
Isinama ko ang KittCar23008.lua program at KittLib.lua na gumagamit ng silid-aklatan upang maipakita ang mga pagkakaiba sa kung paano sumulat ng mga programa sa ganitong paraan. Ang parehong mga programa ay gumagawa ng parehong bagay.
Ang 8 LED plug in ay magagamit mula sa Ebay bilang isang kit at kilala bilang isang 8 Channel Flow Water Light LED DIY Kit, 99p mula sa China. Kailangan mo itong maghinang mismo.
Tandaan: Kung mayroon kang problema sa pagsubok na patakbuhin ang KittLib.lua program, subukang ikonekta ang MCP23008 RESET pin sa Gnd pansamantala. Alam kong magbibigay ito ng isang direktang maikling circuit (dahil ito ay konektado sa 3.3V) at kailangan mong i-reset ang iba pa. Gumagawa din ito sa pamamagitan ng pagkonekta sa Gnd sa pamamagitan ng isang 10 ohm risistor, marahil isang mas mahusay na paraan upang gawin ito.
Nalaman ko rin na ang KittLib.lua ay tatakbo nang walang mga problema pagkatapos tumakbo sa pagsubok.lua (Huwag tanungin mo ako kung bakit?)
Sinubukan ko ang iba't ibang mga paraan upang malutas ang problema sa programa ng KittLib.lua, ngunit sa ngayon ay hindi makahanap ng anumang lohikal na dahilan kung bakit ito nag-crash. Mayroon bang mga ideya?
Hindi ko pa nasusulat ang lahat ng mga program na ito sa aking sarili, kaya hindi ko masabi kung bakit may problema, bagaman pagkatapos tingnan ang pag-coding, tila walang anumang malinaw na mali.
Hakbang 5: 7 Segment LED
Tulad ng programa ng KittCar.lua sa itaas, nagsama ako ng isang nakapag-iisang at isang nakasalalay na programa sa library upang maghimok ng isang 7 segment na LED display.
Muli, ang parehong mga programa ay gumagawa ng parehong bagay, ngunit ipakita kung paano gumamit ng isang module ng library alinman sa nakasulat sa pamamagitan ng iyong sarili o ng iba.
Hakbang 6: Konklusyon
Sinubukan kong ipakita kung paano gamitin ang mga module ng code sa loob ng kapaligiran ng Lua, at ilapat ito sa isang tukoy na IC nang sabay.
Kahit na nagkaroon ako ng problema sa paggawa nito, sa palagay ko may sapat na upang maipakita kung paano gumagana ang mga modyul na ito pati na rin ang pagpapakita ng isang tunay na aplikasyon sa buhay.
Inirerekumendang:
Ang paggawa ng SAMD21-based Boards USB Port Sa isang Hardware Serial Port !: 3 Mga Hakbang
Ang paggawa ng SAMD21-based Boards USB Port Sa isang Hardware Serial Port !: Karaniwan sa ngayon na gumamit ng isang Arduino (o anumang iba pang katugmang) board USB port bilang isang tinulad na Serial port. Kapaki-pakinabang ito para sa pag-debug, pagpapadala at pagtanggap ng data mula sa aming mga minamahal na board. Nagtatrabaho ako sa uChipwhen, dumadaan sa datash
NODEMCU LUA ESP8266 Kumonekta sa MySQL Database: 6 na Hakbang
NODEMCU LUA ESP8266 Kumonekta sa MySQL Database: Ang itinuturo na ito ay hindi para sa mahinang puso habang gumagamit ito ng XAMPP (Apache, MySQL & PHP), HTML at syempre LUA. Kung tiwala ka sa pagharap sa mga ito, basahin mo! Gumagamit ako ng XAMPP dahil maaari itong mai-set up sa isang pen drive o iyong hard drive at ito ay nai-configure
NODEMCU Lua ESP8266 Sa Real Time Clock (RTC) at EEPROM: 7 Hakbang
NODEMCU Lua ESP8266 With Real Time Clock (RTC) & EEPROM: Ang pagkuha ng tamang oras ay mahalaga kung nais mong panatilihin ang isang data log. Mayroong iba't ibang mga paraan upang makakuha ng oras mula sa mga mapagkukunan sa Internet. Maaari kang magtanong kung bakit hindi gamitin ang ESP8266 upang mapanatili ang oras para sa iyo? Kaya mo, mayroon itong sariling panloob na RTC (Real Time
DIY MusiLED, Music Synchronized LEDs Sa Isang pag-click sa Windows at Linux Application (32-bit & 64-bit). Madaling Muling Gawin, Madaling Gamitin, Madaling Port: 3 Mga Hakbang
DIY MusiLED, Music Synchronized LEDs Sa Isang pag-click sa Windows at Linux Application (32-bit & 64-bit). Madaling Muling Mamuhay, Madaling Gamitin, Madaling Port: Ang proyekto na ito ay makakatulong sa iyo upang ikonekta ang 18 LEDs (6 Red + 6 Blue + 6 Yellow) sa iyong Arduino Board at pag-aralan ang mga signal ng real-time na signal ng iyong computer at i-relay ang mga ito sa ang mga LEDs upang magaan ang mga ito ayon sa mga beat effects (Snare, High Hat, Kick)
NODEMCU LUA ESP8266 Sa MCP23017 16 Bit Port Expander IC: 6 Hakbang (na may Mga Larawan)
NODEMCU LUA ESP8266 Sa MCP23017 16 Bit Port Expander IC: Ang MCP23017 ay isang madaling IC upang gumawa ng isang board dahil mayroon itong Port A at B sa magkabilang panig ng maliit na tilad at ang mga pin ay nasa sunud-sunod na pagkakasunud-sunod. magkakasama din. Mayroong 2 mga pin sa IC na ito na hindi ginagamit dito