Мазмуну:
- 1 -кадам: MCP23008 зымдары
- 2 -кадам: Башкарманы куруу
- 3 -кадам: Китепкана модулун колдонуу
- 4 -кадам: Kitt Car программасы
- 5 -кадам: 7 сегменти LED
- 6 -кадам: Жыйынтык
Video: NODEMCU LUA ESP8266 MCP23008 менен 8 Bit Port Expander IC: 6 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
MCP23008 сериялык интерфейси бар 8-биттик I/O кеңейтүүчү болуп саналат жана 1.8 жана 5.5 вольттун ортосунда иштейт, ошондуктан ESP8266, Arduino, Raspberry Pi, PIC чиптери жана башкалар үчүн идеалдуу.
Эгерде сиз менин башка Instructable'имди MCP23017де көргөн болсоңуз, анда мен эмне үчүн MCP23008 үчүн бирөө кылып жатам деп ойлонушуңуз мүмкүн, анткени бул чын эле ошол нерсенин кичирээк версиясы.
Себептери, анын реестрлери аты менен да, саны боюнча да айырмаланат жана мен даяр китепкана модулун кантип колдонууну көрсөткүм келет. NodeMCU lua колдонууда баары эле чебер эмес, ошондуктан мен программалоонун ушул жагын, ошондой эле MCP23008ди кантип колдонууну көрсөткүм келет.
Китепкана жана программалар github.com жеткиликтүү.
MCP23008 маалымат жадыбалы Microchipден жеткиликтүү.
1 -кадам: MCP23008 зымдары
MCP23008 IC жөнөкөй түзүлүшкө ээ жана тактай куруу чындыгында оңой. Сиз ошондой эле схеманы нан тактасына орнотсоңуз болот.
Менин тактамдагы туташууларды бекитүү
- Pin 18 (VDD) 3v3кө
- Pin 9 (VSS) GNDге
- Pin 7 (NC) GNDге (Кереги жок)
- Pin 1 (SCL) ESP GPIO2ге
- Pin 2 (SDA) ESP GPIO0
- Pin 5 (A0) GNDге
- Pin 4 (A1) GNDге
- Pin 3 (A2) GNDге
- Pin 6 (КАЛЫПТАЙТ) 3v3кө
Порт Адагы Gndге окула турган казыктарды туташтырыңыз (10-17 -пинтер)
Эскертүү: бул жерде бардык дарек казыктары Gnd менен туташып, I2C дарек шинасында MCP23008ди 0x20 дареги боюнча колдонушат.
Эгерде сиз 0x21 дарегин колдонсоңуз, анда A0 3.3Vга, A1 & A2 Gndге туташкан.
Ошо сыяктуу эле, эгерде 0x22 дареги колдонулса, анда A1 Gnd менен туташкан A0 жана A2 менен 3.3Vга туташтырылышы керек.
жана башкалар…
2 -кадам: Башкарманы куруу
Мен тактайымды куруу үчүн 25 мм x 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 программасы
Мен KittCar23008.lua программасын жана KittLib.lua камтыдым, ал китепкананы программаларды мындай жазуунун айырмасын көрсөтүү үчүн колдонот. Эки программа тең бир нерсени жасашат.
8 LED плагин Ebayден комплект катары жеткиликтүү жана 8 Channel Flowing Water Light LED DIY Kit катары белгилүү, Кытайдан 99p. Сиз аны өзүңүз ээрчитип алышыңыз керек.
Эскертүү: Эгерде сизде KittLib.lua программасын иштетүү көйгөйү болсо, MCP23008 RESET пинин Gndге бир аздан туташтырып көрүңүз. Мен билем, бул түздөн -түз кыска туташууну берет (ал 3.3Vга туташкандыктан) жана калган нерсенин баарын баштапкы абалга келтирүү керек. Бул ошондой эле Gndге 10 омдук резистор аркылуу туташуу менен иштейт, балким муну кылуунун жакшы жолу.
Мен ошондой эле KittLib.lua test.lua иштеткенден кийин эч кандай көйгөйсүз чуркай турганын таптым (Эмнеге экенин сураба?)
Мен KittLib.lua программасынын көйгөйүн чечүүнүн ар кандай жолдорун сынап көрдүм, бирок азырынча ал эмне себептен кыйрап жатканына логикалык себеп таба алган жокмун. Кимде кандай идея бар?
Мен бул программалардын бардыгын өзүм жазган эмесмин, андыктан эмне үчүн көйгөй бар экенин айта албайм, бирок коддоону карагандан кийин эч кандай туура эмес нерсе жоктой сезилет.
5 -кадам: 7 сегменти LED
Жогорудагы KittCar.lua программасы сыяктуу эле, мен 7 сегменттүү LED дисплейди айдап чыгуу үчүн өз алдынча жана китепканага көз каранды программаны киргиздим.
Дагы, эки программа тең бир нерсени жасашат, бирок өзүңүз же башка бирөө жазган китепкана модулун кантип колдонууну көрсөтүңүз.
6 -кадам: Жыйынтык
Мен код модулдарын Луа чөйрөсүндө кантип колдонууну көрсөтүүгө жана аны бир эле учурда белгилүү бир ICге колдонууга аракет кылдым.
Мен муну жасоодо көйгөйгө дуушар болгонума карабастан, бул модулдардын кантип иштээрин көрсөтүү үчүн, ошондой эле чыныгы тиркемени көрсөтүү үчүн жетиштүү деп ойлойм.
Сунушталууда:
NODEMCU Lua ESP8266 реалдуу убакыт сааты менен (RTC) & EEPROM: 7 кадам
NODEMCU Lua ESP8266 реалдуу убакыт сааты менен (RTC) & EEPROM: маалымат журналын сактоону кааласаңыз, туура убакытты алуу маанилүү. Убакытты интернеттеги булактардан алуунун ар кандай жолдору бар. Сиз эмне үчүн ESP8266ди колдонуп, убактыңызды бөлбөйсүз деп сурашыңыз мүмкүн? Мүмкүн, анын өзүнүн ички RTCи бар (Реалдуу убакыт
Blink LED ESP8266 NodeMCU Lua WiFi үйрөткүчүн колдонуу менен: 6 кадам
Blink LED ESP8266 NodeMCU Lua WiFi үйрөткүчүн колдонуп: DESCRIPTIONNodeMCU - IOTтун ачык булагы. Бул Espressifтин ESP8266 WiFi SoC системасында иштеген программаны жана ESP-12 модулуна негизделген жабдыктарды камтыйт. Термин " NodeMcu " демейки боюнча фильмге эмес, т
NODEMCU LUA ESP8266 M5450B7 LED дисплейинин айдоочусу IC: 5 кадам (Сүрөттөр менен)
NODEMCU LUA ESP8266 M5450B7 LED дисплей драйверин IC айдоо: M5450B7 - бул 40 пин DIP LED дисплей драйвери IC.It, тескерисинче, жырткычка окшош, бирок аны башкаруу жана программалоо салыштырмалуу оңой. ар бирине. Түзмөк аны бербей, токту чөгөт, андыктан
NODEMCU LUA ESP8266 CD4017 он жылдык эсептегич менен: 4 кадам (сүрөттөр менен)
NODEMCU LUA ESP8266 CD4017 он жылдык эсептегич менен: CD4017 он жылдык эсептегич / бөлүүчү. Бул импульсту алганда аны эсептеп, тиешелүү пинге чыгарууну жөнөтөт дегенди билдирет. Бул колдонуу үчүн абдан оңой IC жана сиз схеманы нан тактасына куруп же Ebayден сатып ала аласыз
NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: 6 Steps (Сүрөттөр менен)
NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: MCP23017 - бул чиптин эки жагында А жана В порттары бар жана казыктар ырааттуу тартипте болгондуктан, такта жасоо үчүн салыштырмалуу оңой IC. Бул ICде колдонулбаган 2 пин бар