Мазмұны:
- 1 -қадам: MCP23008 сымын қосу
- 2 -қадам: тақта құру
- 3 -қадам: Кітапхана модулін пайдалану
- 4 -қадам: Kitt Car бағдарламасы
- 5 -қадам: 7 сегментті жарық диоды
- 6 -қадам: Қорытынды
Бейне: NODEMCU LUA ESP8266 MCP23008 8 разрядты порт кеңейткіші бар IC: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
MCP23008-сериялық интерфейсі бар 8 разрядты енгізу-шығару кеңейткіші және 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 -ке дейін бекітіңіз
- GND -ге 9 (VSS) түйреу
- 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)
Ескерту: мұнда барлық адрестер түйрегіштері G2 -ге қосылған, MCP23008 I2C адрестік шинасындағы 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 жарықдиодты қосқыш Ebay -ден жинақ ретінде қол жетімді және 8 каналды ағынды светодиодты жарықдиодты DIY DIY жиынтығы ретінде белгілі, Қытайдан 99p. Сіз оны өзіңіз дәнекерлеуіңіз керек.
Ескерту: Егер сізде KittLib.lua бағдарламасын іске қосуда қиындықтар туындаса, MCP23008 RESET түйреуішін Gnd -ге қосуға тырысыңыз. Мен бұл қысқа тұйықталудың тікелей болатынын білемін (себебі ол 3.3В қосылған) және қалғандарын қалпына келтіру керек. Ол сондай -ақ Gnd -ге 10 Ом резисторы арқылы қосылу арқылы жұмыс істейді, мүмкін мұны жақсы әдіс.
Сондай -ақ, KittLib.lua test.lua іске қосылғаннан кейін еш қиындықсыз жүгіретінін білдім (Неге екенін сұрамаңыз?)
Мен KittLib.lua бағдарламасының мәселесін шешудің әр түрлі әдістерін қолдандым, бірақ әлі күнге дейін оның бұзылуының логикалық себебін таба алмадым. Кез келген адамның идеясы бар ма?
Мен бұл бағдарламалардың барлығын өз бетімше жазған жоқпын, сондықтан неге проблема бар екенін айта алмаймын, дегенмен кодтауға қарағаннан кейін ештеңе дұрыс емес сияқты.
5 -қадам: 7 сегментті жарық диоды
Жоғарыдағы KittCar.lua бағдарламасы сияқты, менде 7 сегментті жарықдиодты дисплейді басқаратын оқшау және кітапханаға тәуелді бағдарлама бар.
Тағы да, екі бағдарлама да бір нәрсені жасайды, бірақ өзіңіз немесе басқа біреу жазған кітапхана модулін қалай қолдану керектігін көрсетеді.
6 -қадам: Қорытынды
Мен Lua ортасында код модульдерін қалай қолдануға болатынын көрсетуге тырыстым және оны бір мезгілде белгілі бір IC -ге қолдандым.
Менде бұл мәселе туындаса да, менің ойымша, бұл модульдердің қалай жұмыс жасайтынын көрсетуге, сонымен қатар нақты өмірдегі қосымшаны көрсетуге жеткілікті.
Ұсынылған:
Батареяны зарядтау мен разрядты реттеу: 3 қадам
Батареяның зарядталуы мен разрядты реттегіші: Мен бірнеше жыл бойы Li-Ion ұяшықтары үшін нашар зарядтағышты қолданамын. Сондықтан мен Li-Ion жасушаларын зарядтай алатын және шығаратын жеке құрылғыны жасағым келді. Сонымен қатар, менің жеке зарядтағышымда кернеу мен температураны көрсететін дисплей болуы керек
Arduino ASCD 8x 18650 ақылды зарядтағышты / разрядты ESP8266 аппараттық сериясына өзгерту: 4 қадам
Arduino ASCD 8x 18650 ақылды зарядтағышты / разрядты ESP8266 жабдықтық сериясына өзгертіңіз: PCB 2.0 нұсқасында және төменде ESP8266 Arduino адаптерінде бұрандалы түйіндер бар, оларда ESP8266 көмегімен Vortex It Battery Portal сымсыз байланыс үшін пайдалануға болмайды. ESP8266 Arduino адаптерін Харға қосады
NODEMCU Lua ESP8266 нақты уақыттағы сағаты бар (RTC) және EEPROM: 7 қадам
NODEMCU Lua ESP8266 нақты уақыт сағаты (RTC) және EEPROM көмегімен: Деректер журналын жүргізгіңіз келсе, дұрыс уақытты алу өте маңызды. Уақытты Интернеттегі дереккөздерден алудың түрлі әдістері бар. Сіз өзіңізге уақыт бөлу үшін ESP8266 неге пайдаланбайсыз деп сұрауыңыз мүмкін? Сіз жасай аласыз, оның ішкі RTC бар (нақты уақыт
4-разрядты режимде Lcd бар 8051 микроконтроллер: 5 қадам (суреттермен)
4-разрядты режимде Lcd бар 8051 микроконтроллері
NODEMCU LUA ESP8266 MCP23017 көмегімен 16 разрядты порт кеңейткіші IC: 6 қадам (суреттермен)
NODEMCU LUA ESP8266 MCP23017 16 разрядты порт кеңейткішімен: MCP23017 - бұл тақтаны жасау үшін салыстырмалы түрде оңай IC, себебі оның чиптің екі жағында А және В порттары бар және түйреуіштер бірізді тәртіпте орналасқан. Бұл IC -де 2 түйреуіш бар, олар қолданылмайды