Мазмұны:

MQTT көңіл -күй шамдары ESP32: 4 қадам (суреттермен)
MQTT көңіл -күй шамдары ESP32: 4 қадам (суреттермен)

Бейне: MQTT көңіл -күй шамдары ESP32: 4 қадам (суреттермен)

Бейне: MQTT көңіл -күй шамдары ESP32: 4 қадам (суреттермен)
Бейне: ESP32 Tutorial 52 - WS2812 CheerLights MQTT Global Sync with LCD | SunFounder ESP32 IoT Learnig kit 2024, Шілде
Anonim
ESP32 көмегімен MQTT көңіл -күй шамдары
ESP32 көмегімен MQTT көңіл -күй шамдары

Мен LED диапазонына секіруге ұзақ уақыт бойы азғырылдым, сондықтан мен жүгіріп шығып, ойыншыққа арналған диодты таспаны алдым. Мен бұл көңіл -күй шамдарын жасауды аяқтадым. Оларды MQTT көмегімен басқаруға болады, бұл ақылдылықтың барлық түрін қосуға мүмкіндік береді.

Егер сізде ештеңе жоқ болса, және сіздің қолыңызбен бірдеңе жасағыңыз келсе, бұл демалыс күндерінің жақсы жобасы.

Нұсқаулықтың мақсаты - бұл менің жобамды құжаттау және басқалармен ой бөлісу, бірақ міндетті нұсқаулар мен әдістерді беру емес. Осымен, оқыңыз!

Жабдықтар

Электроника:

  • 1x ESP32 әзірлеу тақтасы
  • 1x 0,96 дюймдік I2C OLED дисплейі
  • 1x дыбыстық сигнал
  • 1x баррель ұясы
  • 1х 12В қуат көзі (ток таспаның ұзындығына байланысты)
  • 1x LM2596 сомдық конвертер
  • 1x жалпы анодты RGB жарықдиодты жолағы
  • 3x IRFZ44N MOSFETs
  • 3x BC547 транзисторлары
  • 3x 10 кОм резисторлар
  • 4х 100Ω резисторлар
  • 1x прототип тақтасы
  • 4x бұрандалы терминалдар
  • Әйелдер мен ерлердің тақырыптары
  • Сым (мен бір тізбекті қолдандым)

Басқа жабдықтар мен құралдар:

  • Қоршауға қажетті материал (мен MDF қолдандым)
  • Сенсорлы контактілерге арналған жалпақ, өткізгіш материал (мен жұқа алюминийден жасалған парақты қолдандым)
  • Аралар, бұрғылар, зімпара және т.б.
  • Пісіру темірі мен достар
  • Ыстық желім

Мен кіріктірілген OLED дисплейі бар ESP32-ге бармауға кеңес беремін, себебі оны қоршауда жақсы туралауды қиындату қиынға соғады.

1 -қадам: электроника

Электроника
Электроника
Электроника
Электроника

Қосылған схемада сенсорлық кірістерді қоспағанда, барлық қажетті қосылымдар көрсетілген. Схема жеткіліксіз болған жағдайда, бір MOSFET -ті қалай қосу керектігін көрсететін салыстырмалы түрде анықталмаған тақтаның диаграммасы бар.

Қуат

LM2596 сомдық конвертер ESP VIN үшін қуат көзінен 12В төмендейді. Қуат көзі сіз қолданатын жарықдиодты жолақтың ұзындығына сәйкес келетініне көз жеткізіңіз. Менің ұзындығы 2 метрлік жолақ 2 амперден сәл асады.

Ілмектер мен перифериялық құрылғылар

Сенсорлық кірістер үшін төрт сенсорлық түйреуіш қолданылады. Менің ESP32 тақтасында I2C түйреуіштері сыммен бекітілген OLED дисплейі бар. Ол төрт түрлі PWM түйреуішін пайдаланады, олардың әрқайсысы түрлі түсті компоненттерге (қызыл, жасыл және көк), ал зумерге арналған.

MOSFET бұзылады

MOSFETs PWM мен салыстырмалы түрде жоғары токтың жылдам ауысу уақытын басқару үшін таңдалды. Әр түсті компонент үшін бір MOSFET бар. Мен бөлек NPN BJTs (BC547) IRFZ44Ns қозғау үшін тартқыш резистормен бірге қолдандым, өйткені ESP32-ден 3,3В цифрлық сигналдар MOSFET-терге қажет болғанша ток өткізуге жеткіліксіз болуы мүмкін. IRLZ44N сияқты логикалық деңгейдегі MOSFETтер бар, бірақ мен олар туралы бәрін дәнекерлеуді аяқтағаннан кейін білдім. Қалай болғанда да, ~ 2А сызатын жолағым жақсы жұмыс істейді.

Дәнекерлеу

Бұрандалы терминалдар жарық диодты жолаққа қосылу үшін пайдаланылады, ал егер мен олардың біреуін сөндірместен алмастырғым келсе, ESP32 -ді қосуға арналған әйел тақырыптары. Дәнекерлеу екі сағатқа созылды және өте қарапайым болды. Мен сонымен қатар жарық диодты жолағыма бірнеше ұзын сым бердім.

Мен неге ESP32 таңдадым

Оның бортында WiFi мен Bluetooth бар (мен қазір тек WiFi қолдандым), ал менде қытырлақ жерде жатқан біреу болды. Сенсорлық кірістер контроллердегі интерфейс үшін де ыңғайлы болды, себебі контактіге тек бір сым қажет. Егер сіз қаласаңыз, ESP32 -ді ESP8266 сияқты микроконтроллер оңай ауыстырады.

2 -қадам: код

Мен мұны бағдарламалау үшін Arduino құралдар жинағын қолдандым (шын мәнінде VS Code үшін Arduino кеңейтімі:)). ESP32 мен Arduino IDE -ді қалай бастау керектігі туралы осындай керемет оқулықтар бар, егер сізде әлі жоқ болса.

Төрт түрлі режим бар: статикалық түс, кездейсоқ түс, қызыл ескерту және көк ескерту. Жоғары, төмен, келесі және Red Alert үшін төрт түрту кірісі бар. Сенсорлық үзілістерді қолданады.

Мен WiFi -мен басқара алу үшін MQTT -ті жұмысқа қостым. Мен веб-қосымшаның үлкен үштігіне (HTML, CSS, JS) көңіл бөлуге тырысамын, сондықтан мен көңіл-күй шамдарын басқару үшін MQTT брокерімен байланысатын Star Trek тақырыбындағы (бірақ ұсқынсыз) веб-бетті құрдым.

Менің барлық кодымды анықтамалық парақпен бірге табуға болады, оның атын өзгерту үшін оның атын өзгерту қажет болуы мүмкін. Барлық файлдарды Arduino -мен ашпас бұрын «ESP32MQTTMoodLighting» атты қалтаға жылжытыңыз.

Менің кодым жұмыс істейтінін ескеріңіз, бірақ ол ең үлкен емес. Бірақ бұл маңызды емес, өйткені сіз бәрібір өзіңіздікін жазасыз, иә?:)

3 -қадам: қоршау және құрастыру

Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру
Қоршау және құрастыру

Құлыптау кезінде мен қолыма алатын жалғыз материал - бұл 5 мм MDF парағы. Мен үлкен кесектерді қарапайым темір арамен жасадым және бәріне жақсы құм бердім. Эмальды бояудың екі қабаты негізгі дайындықты аяқтады.

Артқы панель

Мен қораптың оңай ашылатынын қаладым, сондықтан мен барлық электрониканы артқы панельге төрт М2 ПХД тұрақтылығымен орнаттым. Менің перформат тақтасында M2 тесіктері бұрғыланды. Менің қарама -қайшылықтарымның төменгі жағында бұрандалы бөренелер болды, мен оларды МДФ -ға бекітуді ойладым. Бірақ менде М2 бұрғылау ұшы жоқ еді. Сонымен, әр тесіктің орнын белгілей отырып, мен тесіктерді қолмен ойып алу үшін кішкентай жалпақ бұрағышты қолдандым. Дөрекі, бірақ тиімді. Саңылаулардың диаметрі бұранданың бұрандалы бөлігіне қарағанда сәл кіші болды. Мен саңылауларды тесіктерге бірнеше рет айналдырдым, олар кеңейіп, жіпке айналды.

Ақырында, келіспеушіліктер өз тесіктеріне мықтап отырды және перфордалық тақтаны орнында ұстады. Менің МДФ өте қалың болғандықтан, басқа жаққа ештеңе көрсетілмеді.

Мен қуат ұясының саңылауын бұрғылап, светодиодты сымдардың өтуіне арналған слот жасадым, оның астында менің бұрандалы терминалдар орналасқан.

Алдыңғы панель

OLED дисплейі

Мен OLED -ге арналған кесуді бірнеше саңылаудан бастадым және оларды мөлшеріне дейін жеткіздім. Бұл өте қатал және дұрыс емес болып шықты. Бұған қосарланған тексерулер әсер етпеуі мүмкін, бірақ орнатылған OLED бар әзірлеу тақтасын пайдаланбау арқылы өзіңізді қиындықтардан құтқарыңыз. Дисплейді тесікке бекіту оңайырақ.

Қосқыш

Мен ерлер мен әйелдердің кейбір тақырыптарынан коннектор жасадым. Бір ұшы алдыңғы панельдегі сенсорлық контактілерге қосылған сымдарға бекітілген, ал екінші жағында ESP сенсорлық кірістеріне сымдар бар. Бұл, егер қажет болса, дәнекерлеу қосылыстарын бұзбай, алдыңғы панельді артқы жағынан толығымен алып тастауға болатындай болды. Егер сіз алдыңғы панельге басқа нәрсе орнатсаңыз, сіз оған қосқыш жасағыңыз келуі мүмкін.

Сенсорлық тақталар

Сенсорлық контактілер алюминийден жасалған. Мен оны қажет төрт жастықшаны алу үшін кесіп тастадым, ал шеттері жоқ екенін тексердім. Содан кейін мен алдыңғы панельге сымға жеткілікті үлкен тесіктер бұрғыладым. Дәнекерлеуді жастықшаларға жабыстыру үшін мен тотыққан қабатты алып тастау үшін бір жағының кішкене бөлігін тегістегішпен сүртдім, содан кейін бөлшектерді кетіру үшін тез сүртемін. Әр сымды алдыңғы панельдегі сәйкес тесіктен өткізіп, мен олардың әрқайсысын төсеміне дәнекерледім. Дәнекеріңіздің артқы жағында тым үлкен дөңес жасамайтынына көз жеткізіңіз, себебі бұл тақтаның панельмен біркелкі орналасуына мүмкіндік бермейді.

Соңында, әр төсемнің артына ыстық желім қосып, оларды алдыңғы панельге итеріңіз. Шамадан тыс қосу тақталарды панельден жоғары көтеруге мәжбүр етеді. Жастықтардың астынан шығарылған артық желімді тазалаңыз.

Қалғаны

Бүйірлік панельдер өте қарапайым. Бұрандалы терминалдарға жылдам кіруге болатын тесік қажет болғаннан гөрі қиын болды. Мен бүйірлік панельдерді алдыңғы панельге ыстық түрде жапсырдым.

Екі жиектегі желім алдыңғы бөлікті артқы панельге бекітеді. Саңылаулар дыбыстық сигналдың шығуына мүмкіндік береді. Егер сіз менен жақсы жұмыс жасасаңыз, 5 жасар баланың мектепке дейінгі қолөнеріне ұқсамауыңыз керек:)

Менің жарық диодты жолағымның артқы жағы жабысқақ болды (сенікі де сенетініне сенімдімін). Мен қабырғаға жарық тарайтындай етіп минаны орнаттым.

4 -қадам: оны қосыңыз

Оны қосыңыз!
Оны қосыңыз!

Енді сізде MQTT басқарылатын көңіл-күйдің толық шамы болуы керек. Мен өз үстелімді үстелге қойдым, ол кейде монотонды жұмысқа түс береді. Түн - адамдарға әсер етудің тамаша уақыты.

Сізге бұл нұсқаулықты оқу ұнады деп сенемін және сіздің жеке жобаларыңыз туралы бірнеше идеялар бар. Жоғарыда айтқанымдай, мен жаңадан бастаушымын, бұл менің бірінші нұсқаулығым. Мен кез келген кеңестер мен түсініктемелерге риза болар едім.

Ұсынылған: