Բովանդակություն:
- Քայլ 1. Միացում MCP23008
- Քայլ 2. Տախտակի կառուցում
- Քայլ 3. Գրադարանի մոդուլի օգտագործումը
- Քայլ 4: Kitt Car ծրագիր
- Քայլ 5: 7 հատված LED
- Քայլ 6: Եզրակացություն
Video: NODEMCU LUA ESP8266 MCP23008 8 բիթանոց ընդլայնիչ IC- ով ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
MCP23008- ը 8-բիթանոց մուտքային/ելքային ընդլայնիչ է ՝ սերիական ինտերֆեյսով և գործում է 1.8-5.5 վոլտ միջակայքում, ուստի իդեալական է ESP8266, Arduino, Raspberry Pi, PIC չիպսերի և այլնի համար:
Եթե դուք տեսել եք իմ մյուս Instructable- ը MCP23017- ում, գուցե ձեզ զարմանա, թե ինչու եմ ես նաև դա անում MCP23008- ի համար, քանի որ դա իսկապես նույն բանի ավելի փոքր տարբերակն է:
Պատճառներն այն են, որ գրանցամատյանները տարբեր են թե՛ անունով և թե՛ թվով, և ես կցանկանայի ցույց տալ, թե ինչպես օգտագործել պատրաստի գրադարանի մոդուլը: Ոչ բոլորը հմուտ են NodeMCU lua օգտագործելիս, այնպես որ ես կցանկանայի ցույց տալ ծրագրավորման այս ասպեկտը, ինչպես նաև այն, թե ինչպես օգտագործել MCP23008- ը:
Գրադարանը և ծրագրերը հասանելի են github.com կայքում:
MCP23008- ի տվյալների թերթիկը հասանելի է Microchip- ից:
Քայլ 1. Միացում MCP23008
MCP23008 IC- ն պարզ դասավորության է, և տախտակ կառուցելը իրոք հեշտ է դրա համար: Կարող եք նաև միացում տեղադրել հացի տախտակի վրա:
Ամրացնել կապերը իմ տախտակին
- Պին 18 (VDD) դեպի 3v3
- Ամրացնել 9 -ը (VSS) GND- ին
- Պին 7 (NC) դեպի GND (Անհրաժեշտ չէ)
- Կցեք 1 (SCL) ESP GPIO2- ին
- Պին 2 (SDA) ESP GPIO0- ին
- Կցեք 5 (A0) դեպի GND
- GIN 4 (A1) դեպի GND
- Պին 3 (A2) դեպի GND
- Ամրացրեք 6 -ը (RESET) դեպի 3v3
Միացրեք Gnd- ին ընթերցվող կապերը A նավահանգստում (կապում 10 - 17)
Նշում. Այստեղ հասցեի բոլոր կապերը միացված են Gnd- ին ՝ MCP23008- ը I2C հասցեի ավտոբուսի 0x20 հասցեով օգտագործելու համար:
Եթե դուք օգտագործում էիք 0x21 հասցեն, ապա A0- ն միացված կլիներ 3.3 Վ -ին, իսկ A1- ը և A2- ը `Gnd- ին:
Նմանապես, եթե օգտագործում եք 0x22 հասցեն, ապա A1- ը պետք է միացված լինի 3.3 Վ -ին, A0- ը և A2- ը `Gnd- ին:
և այլն…
Քայլ 2. Տախտակի կառուցում
Ես օգտագործել եմ 25 մմ x 64 մմ (9 տող x 25 անցք) Vero ժապավենային տախտակ ՝ իմ տախտակը կառուցելու համար: Այն մի փոքր ամուր է, բայց քանի որ ձեզ անհրաժեշտ քորոցների մեծ մասը գտնվում են IC- ի երկու կողմերում, այն համարժեք է այն, ինչ պետք է անի:
Ես օգտագործել եմ 8 կապում և 8 գլխի վարդակներ A նավահանգստի համար, որպեսզի կարողանամ միացնել իմ տարբեր մոդուլները, ինչպես նաև տարբեր նախագծերի այլ էլեկտրագծեր: Ես ավելացրել եմ լրացուցիչ Gnd և 3.3V կապոցներ, քանի որ իմ կարծիքով մոդուլները միասին միացնելիս դրանց սակավությունը միշտ կա:
Քայլ 3. Գրադարանի մոդուլի օգտագործումը
Գրադարանի մոդուլները սովորաբար պարունակում են ենթածրագրերի, գործառույթների և փոփոխականների ընտրանի, որոնց հասանելիությունը կարող է լինել այլ ծրագիր: Itselfրագիրը ինքնին չի գործարկվում, բայց նրա գործառույթներին հասանելի կարող է լինել զանգող ծրագիրը: Դա նշանակում է, որ դուք կարող եք ունենալ ձեր ենթակարգերը գրադարանում և կանչել դրանք, երբ դրանք ձեզ անհրաժեշտ են ՝ կազմելով զանգահարելու մի փոքր ծրագիր: Այն դառնում է ավելի արժեքավոր, եթե դուք ունեք բազմաթիվ տարբեր ծրագրեր, որոնք օգտագործում են նույն ենթածրագրերը, կարիք չկա ենթածրագրերը ներառել յուրաքանչյուր ծրագրում:
Նշում. Mcp23008.lua ծրագիրը պետք է բեռնվի ESP8266 հիշողության մեջ, ինչպես մյուս ծրագրերը:
Ես այստեղ ներառել եմ github.com ծրագրերը, ինչպես նաև մի պարզ ծրագիր (test.lua) ՝ ցույց տալու համար, որ գրադարանը գործում է:
Գրադարանը ձեր ծրագրում ընդգրկելու առնվազն 2 եղանակ կա:
պահանջել ("mcp23008")
mcp23008. սկսել (0x0, gpio2, gpio0, i2c. SLOW)
կամ
mcp = պահանջել ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Վերոնշյալ երկուսն էլ նույնն են անում, բայց երկրորդ մեթոդը թույլ է տալիս ծրագրի անվան փոխարեն օգտագործել ձեր սեփական փոփոխականը:
Քայլ 4: Kitt Car ծրագիր
Ես ներառել եմ KittCar23008.lua ծրագիրը և KittLib.lua- ն, որն օգտագործում է գրադարանը `ցույց տալու տարբերությունները ծրագրեր այսպես գրելու տարբերությունները: Երկու ծրագրերն էլ նույնն են անում:
8 LED լիցքավորիչը հասանելի է Ebay- ից որպես հավաքածու և հայտնի է որպես 8 Channel Flowing Water Light LED DIY Kit, 99p Չինաստանից: Դուք ինքներդ պետք է այն կպցրեք:
Նշում. Եթե KittLib.lua ծրագիրը գործարկելիս խնդիր ունեք, փորձեք միանգամից միացնել MCP23008 RESET կապը Gnd- ին: Ես գիտեմ, որ սա ուղղակի կարճ միացում կտա (քանի որ այն միացված է 3.3 Վ -ին), և մնացած բոլորը պետք է վերակայել: Այն աշխատում է նաև Gnd- ին միացնելով 10 օմ ռեզիստորի միջոցով, հավանաբար դա ավելի լավ միջոց է:
Ես նաև պարզեցի, որ test.lua- ն գործարկելուց հետո KittLib.lua- ն առանց խնդիրների կաշխատի (Մի հարցրու ինձ ինչու)
Ես փորձել եմ տարբեր եղանակներ լուծել KittLib.lua ծրագրի խնդիրը, բայց մինչ այժմ չեմ գտնում որևէ տրամաբանական պատճառ, թե ինչու է այն խափանվում: Որևէ մեկը որևէ գաղափար ունի՞:
Ես ինքս չեմ գրել այս բոլոր ծրագրերը, ուստի չեմ կարող ասել, թե ինչու է խնդիրը, չնայած ծածկագրերին նայելուց հետո, կարծես, ակնհայտորեն ոչ մի սխալ բան չկա:
Քայլ 5: 7 հատված LED
Ինչպես վերը նշված KittCar.lua ծրագրի դեպքում, ես ներառել եմ առանձին և գրադարանից կախված ծրագիր `7 հատվածի LED էկրան վարելու համար:
Կրկին, երկու ծրագրերն էլ նույն բանն են անում, բայց ցույց են տալիս, թե ինչպես օգտագործել գրադարանի մոդուլը ՝ ձեր կամ մեկ ուրիշի կողմից գրված:
Քայլ 6: Եզրակացություն
Ես փորձել եմ ցույց տալ, թե ինչպես օգտագործել կոդի մոդուլները Lua միջավայրում և միաժամանակ կիրառել այն կոնկրետ IC- ի վրա:
Թեև ես խնդիր ունեի դա անել, ես կարծում եմ, որ բավականաչափ բան կա ցույց տալու, թե ինչպես են աշխատում այս մոդուլները, ինչպես նաև իրական կյանքի կիրառման ցուցադրումը:
Խորհուրդ ենք տալիս:
Իսկապես WiFi ընդլայնիչ ՝ 5 քայլ
Իսկապես WiFi Extender: Ներածություն ruշմարիտ WiFi Extender- ը WiFi- ի կրկնողիչ է, որը հիմնված է Raspberry Pi Zero W.- ի վրա: Այն հաճելի այլընտրանք է դարձնում առևտրային WiFi կրկնողիչին `համատեղելով էժան (մինչև 10 ԱՄՆ դոլար) և բարձրակարգելի ծրագրակազմ: Այն կարող է նաև գործարկել գովազդի արգելափակման որոշ լուծումներ
Raspberry Pi - PCA9536 Մուտք/ելք Ընդլայնիչ Java ձեռնարկ. 4 քայլ
Raspberry Pi-PCA9536 Մուտքի/ելքի ընդլայնիչ Java ձեռնարկ. PCA9536- ը 8-փին CMOS սարք է, որն ապահովում է ընդհանուր նշանակության զուգահեռ մուտքագրման/ելքի (GPIO) 4 բիթ I2C-bus/SMBus ծրագրերի համար: Այն բաղկացած է 4-բիթ կազմաձևման գրանցամատյանից, որը կծառայի մուտքի կամ ելքի ընտրության նպատակին, 4-բիթ
Ուղղորդված WIFI միջակայքի ընդլայնիչ ՝ 5 քայլ (նկարներով)
Uni-Directional WIFI Range Extender. Հեշտությամբ ստացեք WIFI ազդանշաններ հեռվից `օգտագործելով ստանդարտ USB WIFI ադապտեր և մի փոքր սրամտություն: Այս պարզ գաղափարը չի պահանջում USB WIFI ադապտերի կամ ձեր համակարգչի փոփոխություններ: Ձեր WIF- ի ազդանշանի ուժը և տիրույթը բարձրացնելու պարզ միջոց
PCF8591 (i2c անալոգային մուտքի/ելքի ընդլայնիչ) Արագ օգտագործման հեշտություն ՝ 9 քայլ
PCF8591 (i2c Analog I/O Expander) Արագ Հեշտ Օգտագործում. Գրադարանը i2c pcf8591 IC- ն օգտագործելու համար arduino- ով և esp8266- ով: Այս IC- ն կարող է վերահսկել (մինչև 4) անալոգային մուտք և/կամ 1 անալոգային ելք, ինչպես չափել լարումը, կարդալ թերմիստորի արժեքը կամ մարել led- ը: Կարող է կարդալ անալոգային արժեքը և գրել անալոգային արժեքը միայն 2 լարով (կատարյալ
NODEMCU LUA ESP8266 MCP23017 16 բիթանոց նավահանգստով ընդլայնիչ IC ՝ 6 քայլ (նկարներով)
NODEMCU LUA ESP8266 MCP23017 16 բիթանոց ընդլայնիչ IC- ով. MCP23017- ը համեմատաբար հեշտ IC է տախտակ պատրաստելու համար, քանի որ չիպի երկու կողմերում ունի A և B նավահանգիստները, և կապումներն հերթականությամբ են: Նմանապես I2C հասցեի ավտոբուսը բոլորը միասին նույնպես: Այս IC- ի վրա կա 2 կապ, որոնք չօգտագործված են, քանի որ այն