Съдържание:

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
MQTT Светлини за настроение с ESP32
MQTT Светлини за настроение с ESP32

Бях изкушен от доста време да се кача на светодиодната лента, затова изтичах и взех LED лента, с която да си играя. В крайна сметка направих тези светлини за настроение. Те могат да се контролират с MQTT, което прави възможно добавянето на всякакви интелигентности.

Това е добър проект за уикенда, ако нямате нищо друго и искате да си изцапате ръцете, правейки нещо.

Обърнете внимание, че целта на тази инструкция е да документира моя проект и да споделя идеи с други, а не непременно да предоставя солидни инструкции и методи. С това казано, четете нататък!

Консумативи

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

  • 1x платка за разработка на ESP32
  • 1x 0.96 "I2C OLED дисплей
  • 1x зумер
  • 1x жак за варел
  • 1x 12V захранване (токът зависи от дължината на лентата)
  • 1x LM2596 долар конвертор
  • 1x обща анодна RGB LED лента
  • 3x IRFZ44N MOSFET
  • 3x BC547 транзистори
  • 3x 10kΩ резистори
  • 4x 100Ω резистора
  • 1x прототипна дъска
  • 4x винтови клеми
  • Заглавки за мъже и жени
  • Тел (използвах едноверижна)

Друг хардуер и инструменти:

  • Желаният от вас материал за заграждение (използвах MDF)
  • Плосък, проводим материал за докосване (използвах тънък алуминиев лист)
  • Триони, бормашини, шкурка и др.
  • Поялник и приятели
  • Горещо лепило

Силно бих препоръчал да не използвате ESP32 с вграден OLED дисплей, защото става много трудно да направите добре подравнен изрез във вашия корпус за него.

Стъпка 1: Електроника

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

Приложената схема показва всички необходими връзки, с изключение на сензорните входове. Съществува и сравнително неясна схема, показваща как да свържете един MOSFET, в случай че схемата е неадекватна.

Мощност

Преобразувател в долар LM2596 понижава 12V от захранването до 5V за VIN на ESP. Уверете се, че вашето захранване е правилно оценено за дължината на LED лентата, която използвате. Моята 2 метрова лента извлича малко повече от 2 ампера.

Игли и периферни устройства

Четири сензорни щифта се използват за, добре, сензорни входове. Моята платка ESP32 беше снабдена с OLED дисплей, чиито I2C щифтове бяха свързани. Това използва четири PWM щифта, по един за всеки цветен компонент (червен, зелен и син) и един за зумера.

MOSFET смущения

MOSFET са избрани да се справят с бързите времена на превключване за ШИМ и относително висок ток. Има един MOSFET за всеки цветен компонент. Използвах отделни NPN BJT (BC547) заедно с издърпващ резистор за задвижване на IRFZ44Ns, тъй като 3.3V цифровите сигнали от ESP32 може да не са били достатъчни, за да могат MOSFET да провеждат толкова ток, колкото е необходимо. Съществуват MOSFET-та на логическо ниво като IRLZ44N, но разбрах за тях едва след като приключих с запояването на всичко. Така или иначе, лентата ми, която тегли ~ 2А, работи добре.

Запояване

Винтовите клеми се използват за свързване към LED лентата, а женските заглавки за включване на ESP32, в случай че искам да сменя някоя от тях, без да разпаявам неща. Запояването отне около два часа и беше много просто. Също така дадох на моята LED лента някои по -дълги проводници.

Защо избрах ESP32

Той има WiFi и Bluetooth на борда (макар че в момента използвах само WiFi) и имах такъв, който ме сърбеше да използвам. Сензорните входове също бяха полезни за интерфейса на контролера, тъй като се нуждаят само от един проводник, който отива към контакт. Ако искате обаче, ESP32 може лесно да бъде заменен с микроконтролер като ESP8266.

Стъпка 2: Код

Използвах набора от инструменти Arduino (всъщност разширението Arduino за VS Code:)), за да програмирам това. Има страхотни уроци като този за това как да започнете с ESP32 и Arduino IDE, ако все още не сте го направили.

Има четири различни режима за работа: статичен цвят, произволен цвят, червен сигнал и син сигнал. Има четири сензорни входа за нагоре, надолу, следващо и червено предупреждение. Докосването използва прекъсвания.

Добавих и MQTT към произведенията, за да мога да го контролирам през WiFi. Опитвам се да усетя големите три приложения на уеб приложението (HTML, CSS, JS), затова проектирах уебстраница на тема Star Trek (но доста грозна), която комуникира с брокер на MQTT, за да контролира светлините на настроението.

Целият ми код може да бъде намерен прикачен, заедно с лист с бързи справки, чието име на файл може да искате да промените, за да го направите намаление. Преместете всички файлове в папка с името "ESP32MQTTMoodLighting", преди да отворите с Arduino.

Имайте предвид, че моят код работи, но вероятно не е най -големият. Но това не би трябвало да има значение, защото така или иначе ще напишете своя, нали?:)

Стъпка 3: Корпус и монтаж

Корпус и монтаж
Корпус и монтаж
Корпус и монтаж
Корпус и монтаж
Корпус и монтаж
Корпус и монтаж
Корпус и монтаж
Корпус и монтаж

По време на блокирането единственият материал, който можех да взема, беше лист от 5 мм MDF. Направих големите разфасовки с обикновена ножовка и дадох на всичко добър пясък. Двойният слой емайл боя завърши основната подготовка.

Заден панел

Исках моята кутия да може лесно да се отваря, затова монтирах цялата си електроника към задния панел с четири стойки M2 PCB. На моето перфборд вече бяха пробити дупки М2. Моите противопоставяния имаха малки резбовани шипове в долната част, които възнамерявах да фиксирам в MDF. Но нямах свредло М2. Така че, маркирайки позицията на всяка дупка, използвах малка отвертка с плоска глава, за да извадя ръчно дупките. Груб, но ефективен. Диаметрите на отворите бяха малко по -малки от тези на резбованата част на стойката. Няколко пъти завъртях стойките навътре и навън от дупките, които ги разшириха и почти ги нарязаха.

В крайна сметка противостоянията се настаниха здраво в дупките си и задържаха перфорираната дъска на място. Тъй като моят MDF беше много дебел, нищо не се виждаше от другата страна.

Пробих отвора за гнездото за захранване и направих слот за преминаване на проводниците на LED лентата, точно под мястото, където бяха моите винтови клеми.

Преден панел

Изрязване на OLED дисплея

Започнах изрязването си за OLED с няколко отвора за стартиране и ги подадох по размер. В крайна сметка това беше много нестабилно и неправилно подредено. Не двойната проверка на измерванията може да е изиграла роля в това, но си спестете някои проблеми, като не използвате дъска за разработка с вграден OLED. Много по -лесно е просто да монтирате дисплея към дупката си.

Съединител

Направих конектор от някои мъжки и женски заглавки. Единият край е прикрепен към проводниците, свързани към сензорните контакти на предния панел, докато другата страна има проводници към сензорните входове на ESP. Това беше така, че предният панел можеше да бъде напълно отстранен от гърба, ако е необходимо, без да се нарушават спойките. Ако монтирате нещо друго към предния си панел, може да искате да направите и конектор за това.

Подложки за докосване

Сензорните контакти са направени от някакъв алуминиев лист. Нарязах го, за да получа необходимите четири подложки и проверих, че няма назъбени ръбове. След това пробих дупки в предния панел, достатъчно големи за проводник. За да оставя спойка да се залепи за подложките, изтърках малка част от едната страна с шкурка, за да премахна окисления слой, и след това я избърсах бързо, за да премахна всякакви частици. Прекарвайки всеки проводник през съответния отвор в предния панел, запоявах всеки от тях към подложката. Уверете се, че спойката ви не създава прекалено голяма издатина на гърба, тъй като това няма да позволи на подложката да седи на едно ниво с панела.

Накрая добавете малко горещо лепило към гърба на всяка подложка и ги натиснете върху предния панел. Добавянето на твърде много ще накара подложките да седят повдигнати от панела. Почистете излишното лепило, което може да е било изтласкано под подложките.

Остатъка

Страничните панели са доста ясни. Отвор за бърз достъп до винтовите клеми беше по-голям проблем, отколкото си струваше. Залепих горещо страничните панели към предния панел.

Велкро на два ръба държи предната част към задния панел. Пропуските позволяват на звука на зумера да излезе. Ако вършите по-добра работа от мен, не бива да се оказвате с нещо, което прилича на занаят за предучилищна възраст на 5 години:)

Моята LED лента имаше лепкав гръб (сигурен съм, че и твоят). Монтирах моята така, че светлината да се разсейва от стената.

Стъпка 4: Включете го

Включи го!
Включи го!

Сега трябва да имате пълна светлина за настроение, контролирана от MQTT. Монтирах моето на бюрото си, където добавя цвят в понякога монотонна работа. Нощта е идеалното време да впечатлите хората с нея.

Надявам се да ви хареса да прочетете тази инструкция и да сте получили няколко идеи за вашите собствени проекти. Както споменах по -рано, аз съм начинаещ и това е първият ми Instructable. Ще се радвам на всякакви съвети и коментари.

Препоръчано: