Агуулгын хүснэгт:
- Алхам 1: MCP23008 -ийг холбох
- Алхам 2: Удирдах зөвлөл байгуулах
- Алхам 3: Номын сангийн модулийг ашиглах
- Алхам 4: Kitt Car Program
- Алхам 5: 7 сегментийн LED
- Алхам 6: Дүгнэлт
Видео: NODEMCU LUA ESP8266 нь MCP23008 8 битийн порт өргөтгөгч IC: 6 алхамтай
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
MCP23008 нь цуваа интерфэйстэй 8 битийн I/O өргөтгөгч бөгөөд 1.8-5.5 вольтын хооронд ажилладаг тул ESP8266, Arduino, Raspberry Pi, PIC чип болон бусад зүйлд тохиромжтой.
Хэрэв та MCP23017 дээрх миний өөр зааварчилгааг үзсэн бол би яагаад MCP23008 -т зориулж хийж байгаа юм бол гэж гайхаж байж магадгүй, энэ нь яг ижил зүйлийн жижиг хувилбар юм.
Шалтгаан нь түүний бүртгэлүүд нэр, тоогоороо ялгаатай бөгөөд би бэлэн номын сангийн модулийг хэрхэн ашиглахыг харуулахыг хүсч байна. NodeMCU lua -ийг ашиглахад хүн бүр чадварлаг байдаггүй тул програмчлалын энэ талыг болон MCP23008 -ийг хэрхэн ашиглахыг харуулахыг хүсч байна.
Номын сан болон програмуудыг github.com дээрээс авах боломжтой.
MCP23008 мэдээллийн хуудсыг Microchip дээрээс авах боломжтой.
Алхам 1: MCP23008 -ийг холбох
MCP23008 IC нь энгийн зохион байгуулалттай бөгөөд самбар барих нь үнэхээр хялбар юм. Та мөн хэлхээг талхны тавцан дээр тохируулж болно.
Миний самбар дээрх холболтуудыг зүү
- 18 (VDD) зүүг 3v3 руу холбоно уу
- Pin 9 (VSS) -ийг GND руу холбоно уу
- 7 -р зүү (NC) -ийг GND руу оруулах (шаардлагагүй)
- Зүү 1 (SCL) -ийг ESP GPIO2 руу холбоно уу
- 2 -р зүү (SDA) -ийг ESP GPIO0 руу холбоно уу
- 5 (A0) зүүг GND руу холбоно уу
- 4 (A1) зүүг GND руу холбоно уу
- 3 (A2) зүүг GND руу холбоно уу
- 6 -р зүү (дахин тохируулах) 3v3 хүртэл
А порт дээрх Gnd руу унших зүүг холбоно уу (10-17 -р зүү)
Тэмдэглэл: энд бүх хаягийн голууд Gnd -тэй холбогдсон бөгөөд I2C хаягийн автобусны 0x20 хаягаар MCP23008 -ийг ашиглах боломжтой.
Хэрэв та 0x21 хаягийг ашиглаж байсан бол A0 нь 3.3V, A1 & A2 нь Gnd -тэй холбогдсон байх болно.
Үүний нэгэн адил, хэрэв 0x22 хаягийг ашигладаг бол A1 нь Gnd -тэй холбогдсон A0 ба A2 -тай 3.3V -тэй холбогдсон байх ёстой.
гэх мэт …
Алхам 2: Удирдах зөвлөл байгуулах
Би самбараа бүтээхдээ 25 мм х 64 мм хэмжээтэй (9 мөр x 25 нүхтэй) Vero тууз хавтанг ашигласан. Энэ нь жаахан нягт боловч танд хэрэгтэй ихэнх зүү нь IC -ийн хоёр талд байрладаг тул хийх ёстой зүйлдээ хангалттай байдаг.
Би А портод 8 тээглүүр, 8 толгой залгуурыг ашигласан бөгөөд ингэснээр би янз бүрийн модулиуд болон өөр өөр төслүүдийн бусад утаснуудаа залгаж болно. Би нэмэлт Gnd болон 3.3V тээглүүрүүдийг нэмж оруулсан бөгөөд учир нь модулиудыг хооронд нь холбоход эдгээрийн дутагдал үргэлж гардаг.
Алхам 3: Номын сангийн модулийг ашиглах
Номын сангийн модулиуд нь ихэвчлэн өөр програмаар хандаж болох дэд горим, функц, хувьсагчдын сонголтыг агуулдаг. Хөтөлбөр нь өөрөө ажилладаггүй, гэхдээ түүний функцуудыг дуудлагын програмаар ашиглах боломжтой. Энэ нь та номын сангийнхаа дэд хэвшлийг өөртөө суулгаж, хүссэн үедээ дуудаж, жижиг дуудлагын програм хийж болно гэсэн үг юм. Хэрэв та нэг дэд горимыг ашигладаг олон өөр програмтай бол энэ нь илүү үнэ цэнэтэй байх болно, та дэд горимыг програм бүрт оруулах шаардлагагүй болно.
Тэмдэглэл: mcp23008.lua програмыг бусад програмын нэгэн адил ESP8266 санах ойд ачаалах шаардлагатай.
Би энд github.com програмууд болон номын сан ажиллаж байгааг харуулах энгийн програмыг (test.lua) оруулсан болно.
Номын санг өөрийн хөтөлбөрт оруулах хамгийн багадаа 2 арга бий.
шаардах ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
эсвэл
mcp = шаардлагатай ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Дээрх хоёулаа ижил зүйлийг хийдэг боловч хоёр дахь арга нь програмын нэрийн оронд өөрийн хувьсагчийг ашиглах боломжийг олгодог.
Алхам 4: Kitt Car Program
Би KittCar23008.lua програм болон KittLib.lua програмыг хэрхэн бичих талаар ялгааг харуулахын тулд номын санг ашигладаг. Хоёр програм хоёулаа ижил зүйлийг хийдэг.
8 LED залгуурыг Ebay -аас иж бүрдэл болгон авах боломжтой бөгөөд 8 суваг урсдаг усны гэрэл LED DIY хэрэгсэл, Хятадаас 99p гэж нэрлэдэг. Та үүнийг өөрөө гагнах хэрэгтэй.
Тэмдэглэл: Хэрэв танд KittLib.lua програмыг ажиллуулахад асуудал гарвал MCP23008 RESET зүүг Gnd руу түр зуур холбож үзээрэй. Энэ нь шууд богино залгаас өгөх болно гэдгийг би мэднэ (энэ нь 3.3V -т холбогдсон тул), та бусад бүх зүйлийг дахин тохируулах хэрэгтэй болно. Энэ нь мөн Gnd -т 10 омын резистороор холбогддог бөгөөд үүнийг хийх илүү сайн арга юм.
Test.lua ажиллуулсны дараа KittLib.lua ямар ч асуудалгүй гүйх болно гэдгийг би олж мэдсэн. (Надаас яагаад битгий асуугаарай?)
Би KittLib.lua програмын асуудлыг шийдэх янз бүрийн аргуудыг туршиж үзсэн боловч өнөөг хүртэл яагаад эвдэрсэн талаар логик шалтгааныг олж чадаагүй байна. Ямар нэгэн санаа бодолтой хүн байна уу?
Би эдгээр бүх програмыг өөрөө бичээгүй байгаа тул яагаад ийм асуудал гарсныг хэлж чадахгүй байна, гэхдээ кодчилолыг хараад ямар ч буруу зүйл байхгүй юм шиг байна.
Алхам 5: 7 сегментийн LED
Дээрх KittCar.lua програмын нэгэн адил би 7 сегментийн LED дэлгэцийг жолоодох бие даасан болон номын сангаас хамааралтай програмыг оруулсан болно.
Дахин хэлэхэд хоёулаа хоёулаа ижил зүйлийг хийдэг, гэхдээ өөрөө эсвэл өөр хэн нэгний бичсэн номын сангийн модулийг хэрхэн ашиглахыг харуул.
Алхам 6: Дүгнэлт
Би Луа орчинд кодын модулийг хэрхэн ашиглахыг харуулахыг оролдож, үүнийг тодорхой IC -т нэгэн зэрэг ашиглахыг хичээсэн.
Хэдийгээр би үүнийг хийхэд асуудалтай байсан ч эдгээр модулиуд хэрхэн ажилладагийг харуулахын зэрэгцээ бодит амьдрал дээрх програмыг үзүүлэхэд хангалттай гэж бодож байна.
Зөвлөмж болгож буй:
Raspberry Pi - PCA9536 оролт/гаралтын өргөтгөгч Java заавар: 4 алхам
Raspberry Pi-PCA9536 оролт/гаралтын өргөтгөлийн Java заавар: PCA9536 бол 8 зүү бүхий CMOS төхөөрөмж бөгөөд I2C-bus/SMBus програмуудад зориулагдсан ерөнхий зориулалттай зэрэгцээ оролт/гаралтын (GPIO) 4 битийн өргөтгөлийг хангадаг. Энэ нь оролт эсвэл гаралтыг сонгох зорилгод нийцсэн 4 битийн тохиргооны бүртгэлээс бүрдэнэ, 4 бит
Нэг чиглэлтэй WIFI хүрээ өргөтгөгч: 5 алхам (зурагтай)
Нэг чиглэлтэй WIFI-ийн хүрээ өргөтгөгч: Стандарт USB WIFI адаптер болон жаахан овсгоо ашиглан алсаас WIFI дохиог хялбархан хүлээн авах боломжтой. Энэхүү энгийн санаа нь USB WIFI адаптер эсвэл таны компьютерт өөрчлөлт оруулах шаардлагагүй болно. WIF -ийнхээ дохионы хүч, хүрээг нэмэгдүүлэх энгийн арга
NODEMCU LUA ESP8266 MCP23017 16 битийн порт өргөтгөгч IC: 6 алхам (зурагтай)
NODEMCU LUA ESP8266 нь MCP23017 16 битийн порт өргөтгөгчтэй IC: MCP23017 нь чипний хоёр талд A ба B портууд байдаг бөгөөд зүү нь дараалсан дарааллаар хийгдсэн тул самбар хийхэд харьцангуй хялбар IC юм. Энэ IC дээр ашиглагдаагүй 2 зүү байдаг
IoT -ийн хямд WiFi хүрээ өргөтгөгч: 8 алхам
IoT-д зориулсан хямд WiFi хүрээ өргөтгөгч: 2-8 долларын үнэтэй хямд үнэтэй ESP8266 WiFi модулийг ашиглан өөрийн WiFi өргөтгөлийг хэрхэн бүтээх вэ *** Засварлах: Энэхүү зааварчилгааг бичснээс хойш GUI тохиргооны хуудасны хамт програм хангамж сайжирсан. (ердийн чиглүүлэгч шиг), галт хана, хүчирхэг хүн
Хямд: 4 алхамтай 4 порт NES USB 2.0 HUB -ийг цэвэрлээрэй
Хямд үнээр 4 порт NES USB 2.0 HUB -ийг цэвэрлээрэй: Энэхүү зааварчилгаа нь 4 порттой USB NES хянагчийг өөрийн гараар хэрхэн яаж хийхийг танд харуулах болно. Үүнийг өмнө нь хийж байсан гэдгийг би мэднэ, гэхдээ энэ нь илүү цэвэр болсон тул би үүнийг хэрхэн хийснээ харуулахын тулд үүнийг нийтэлж байна. USB Hub -ийн эд ангиудын өртөг = 4 доллар