Sisukord:
- Samm: ühendage MCP23008
- 2. samm: juhatuse loomine
- Samm: raamatukogumooduli kasutamine
- 4. samm: Kitt Car programm
- 5. samm: 7 segment LED
- 6. samm: järeldus
Video: NODEMCU LUA ESP8266 MCP23008 8 -bitise pordi laiendi IC: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
MCP23008 on jadaliidesega 8-bitine sisend- ja väljundlaiend, mis töötab vahemikus 1,8 kuni 5,5 volti, seega sobib ideaalselt ESP8266, Arduino, Raspberry Pi, PIC kiipide ja muude seadmete jaoks.
Kui olete näinud minu teist juhendit MCP23017 kohta, võite küsida, miks ma teen seda ka MCP23008 jaoks, kuna see on tõesti sama asja väiksem versioon.
Põhjused on selles, et selle registrid on nii nime kui ka numbri poolest erinevad ning tahaksin näidata, kuidas kasutada valmis raamatukogu moodulit. Kõik ei ole NodeMCU lua kasutamisel vilunud, seega tahaksin näidata seda programmeerimise aspekti ja ka seda, kuidas MCP23008 kasutada.
Raamatukogu ja programmid on saadaval aadressil github.com.
MCP23008 andmeleht on saadaval Microchipilt.
Samm: ühendage MCP23008
MCP23008 IC on lihtsa paigutusega ja tahvli ehitamine on selle jaoks suhteliselt lihtne. Vooluahela saate seadistada ka leivalaual.
Pin Ühendused minu tahvlil
- Pin 18 (VDD) kuni 3v3
- Pin 9 (VSS) GND -le
- Pin 7 (NC) kuni GND (pole vajalik)
- Pin 1 (SCL) ESP GPIO2 -le
- Pin 2 (SDA) ESP GPIO0 külge
- Pin 5 (A0) GND -le
- Pin 4 (A1) GND -le
- Pin 3 (A2) GND külge
- Pin 6 (RESET) kuni 3v3
Ühendage loetavad tihvtid porti A Gnd -ga (tihvtid 10–17)
Märkus: siin on kõik aadressinõelad ühendatud Gndiga, et kasutada MCP23008 aadressil 0x20 I2C aadressibussil.
Kui kasutaksite aadressi 0x21, oleks A0 ühendatud 3.3V ja A1 ja A2 ühendatud Gnd -ga.
Sarnaselt, kui kasutada aadressi 0x22, peaks A1 olema ühendatud 3.3V -ga, kusjuures A0 ja A2 on ühendatud Gnd -ga.
jne…
2. samm: juhatuse loomine
Tahvli ehitamiseks kasutasin 25 mm x 64 mm (9 rida x 25 auku) Vero ribalauda. See on natuke kitsas, kuid kuna enamik vajalikke tihvte asub IC mõlemal küljel, on see piisav selle jaoks, mida see peab tegema.
Olen kasutanud porti A jaoks 8 tihvti ja 8 päisepesa, et saaksin ühendada oma erinevaid mooduleid ja muid juhtmeid erinevate projektide jaoks. Olen lisanud täiendavaid Gnd ja 3.3V kontakte, kuna leian, et moodulite ühendamisel on neist alati puudus.
Samm: raamatukogumooduli kasutamine
Raamatukogumoodulid sisaldavad tavaliselt valikut alamrutiine, funktsioone ja muutujaid, millele pääseb juurde teine programm. Programm ise ei tööta, kuid selle funktsioonidele pääseb juurde helistamisprogrammiga. See tähendab, et saate oma alamrutiinid raamatukogus esitada ja neile helistada, kui neid vajate, tehes väikese helistamisprogrammi. See muutub väärtuslikumaks, kui teil on palju erinevaid programme, mis kasutavad samu alamrutiine, ei pea te alamprogramme igasse programmi kaasama.
Märkus: programm mcp23008.lua tuleb laadida ESP8266 mällu nagu teisedki programmid.
Olen lisanud siia nii github.com programmid kui ka lihtsa programmi (test.lua), et näidata, et raamatukogu töötab.
Raamatukogu kaasamiseks oma programmi on vähemalt kaks võimalust.
nõuda ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
või
mcp = nõuda ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Mõlemad ülaltoodud toimivad samamoodi, kuid teine meetod võimaldab programmi nime asemel kasutada oma muutujat.
4. samm: Kitt Car programm
Olen lisanud programmi KittCar23008.lua ja KittLib.lua, mis kasutab raamatukogu, et näidata erinevusi programmide sel viisil kirjutamisel. Mõlemad programmid teevad sama asja.
8 LED -pistikupesa on saadaval Ebayst komplektina ja on tuntud kui 8 -kanaliline voolava vee LED -i DIY komplekt, 99p Hiinast. Peate ise jootma.
Märkus. Kui teil on KittLib.lua programmi käivitamisel probleeme, proovige hetkega ühendada MCP23008 RESET pin Gnd -ga. Ma tean, et see annab otsese lühise (kuna see on ühendatud 3.3 V -ga) ja peate kõik muu lähtestama. See töötab ka ühendades Gndiga läbi 10 oomi takisti, ilmselt parem viis seda teha.
Samuti leidsin, et KittLib.lua töötab pärast test.lua käivitamist probleemideta (ärge küsige, miks?)
Olen proovinud KittLib.lua programmi probleemi lahendamiseks erinevaid viise, kuid siiani pole leidnud ühtegi loogilist põhjust, miks see kokku jookseb. Kas kellelgi on ideid?
Ma ei ole kõiki neid programme ise kirjutanud, seega ei oska ma öelda, miks probleem on, kuigi pärast kodeeringu vaatamist ei tundu olevat midagi ilmselgelt valesti.
5. samm: 7 segment LED
Nagu ülaltoodud programmi KittCar.lua puhul, olen lisanud 7 -segmendilise LED -ekraani juhtimiseks eraldiseisva ja raamatukogust sõltuva programmi.
Jällegi teevad mõlemad programmid sama asja, kuid demonstreerivad, kuidas kasutada enda või kellegi teise kirjutatud raamatukogu moodulit.
6. samm: järeldus
Olen proovinud näidata, kuidas kasutada koodimooduleid Lua keskkonnas, ja rakendada seda samal ajal konkreetsele IC -le.
Kuigi mul on sellega probleeme olnud, arvan, et nende moodulite toimimise näitamiseks ja reaalse rakenduse demonstreerimiseks on piisavalt.
Soovitan:
Mitmekülgne I/O laiendi trükkplaat paljude Nixie torude juhtimiseks I2C abil: 9 sammu (piltidega)
Mitmekülgne I/O laiendi trükkplaat I2C abil paljude Nixie -torude juhtimiseks: praegu on suur huvi vintage nixie -torude elustamiseks. Turul on saadaval palju nixie torukellade komplekte. Tundus, et vene nixie -torude vanade varudega kaubeldakse isegi elavalt. Ka siin juhendite kohta
SAMD21-põhiste tahvlite USB-pordi muutmine riistvara jadapordiks!: 3 sammu
SAMD21-põhiste tahvlite USB-pordi muutmine riistvaraliseks jadapordiks!: Tänapäeval on tavaline kasutada Arduino (või mõnda muud ühilduvat) plaadi USB-porti emuleeritud jadapordina. See on väga kasulik silumiseks, andmete saatmiseks ja vastuvõtmiseks meie armsatelt tahvlitelt. Töötasin uChipwheniga, käisin andmebaasi kaudu
Pordi avamine Arris Sbg6700-ac: 11 sammu
Pordi avamine Arris Sbg6700-ac: pordi avamine ruuteris võib olla mitmel eesmärgil. Avatud pordi olemasolu võimaldab teil hostida oma mänguserverit, et mängida koos sõpradega, või lubada teil majutada oma veebi-/failiserverit. Selles juhendis kasutatav ruuter on Ar
Sõlme MCU 4 pordi releemooduliga, rakendus Blynk, IFTTT ja Google'i kodu. Kasum ?: 5 sammu
Sõlme MCU 4 pordi releemooduliga, rakendus Blynk, IFTTT ja Google'i kodu. Kasum ?: See postitus räägib sellest, kuidas ühendada Google'i kodu NodeMCU ja blynk -rakendusega, saate oma seadmeid juhtida lihtsa blynk -juhitava NodeMCU -lüliti ja Google'i abistajaga. Nii et laseme minna, Ok Google. Lülitage probleem sisse
NES kontroller / 4 pordi USB HUB: 7 sammu
NES -kontroller / 4 -portiline USB HUB: pärast klassikaliste NES -kontrolleritega modifikatsioonide nägemist lasin 2 teha midagi, mida keegi pole kunagi teinud, nii et tegin 4 -portilise USB -jaoturi 4 oma arvuti odavaks ja hõlpsaks teha. see lõikamine võib võtta aega, kui teil on dermis, ei tohiks kaua aega võtta, ma ei tee seda