Оглавление:
Видео: MQTT Mood Lights с ESP32: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В течение некоторого времени у меня было искушение запрыгнуть на подножку светодиодов, поэтому я выбежал и взял светодиодную ленту, чтобы поиграть с ней. В итоге я сделал эти огни настроения. Им можно управлять с помощью MQTT, что позволяет добавлять всевозможные умения.
Это хороший проект на выходные, если у вас больше ничего не происходит и вы хотите чем-то заняться, делая что-то грязное.
Обратите внимание, что цель этого руководства - задокументировать мой проект и поделиться идеями с другими, а не обязательно предоставить подробные инструкции и методы. С учетом сказанного, читайте дальше!
Запасы
Электроника:
- 1x плата разработки ESP32
- 1x 0,96-дюймовый I2C OLED-дисплей
- 1x зуммер
- 1x бочка домкрат
- 1x 12V блок питания (ток зависит от длины вашей ленты)
- 1x понижающий преобразователь LM2596
- 1x светодиодная лента RGB с общим анодом
- 3 полевых МОП-транзистора IRFZ44N
- 3 транзистора BC547
- 3 резистора по 10 кОм
- 4 резистора по 100 Ом
- 1x макетная плата
- 4x винтовые клеммы
- Мужские и женские заголовки
- Проволока (я использовала одножильную)
Другое оборудование и инструменты:
- Желаемый материал для корпуса (я использовал МДФ)
- Плоский проводящий материал для сенсорных контактов (я использовал тонкий алюминиевый лист)
- Пилы, сверла, наждачная бумага и др.
- Паяльник и друзья
- Горячий клей
Я настоятельно рекомендую не покупать ESP32 со встроенным OLED-дисплеем, потому что становится очень сложно сделать для него хорошо выровненный вырез в корпусе.
Шаг 1. Электроника
На прилагаемой схеме показаны все необходимые подключения, за исключением сенсорных входов. Также имеется относительно расплывчатая схема макета, показывающая, как подключить один полевой МОП-транзистор, если схема неадекватна.
Власть
Понижающий преобразователь LM2596 понижает напряжение с 12 В от источника питания до 5 В для VIN ESP. Убедитесь, что ваш блок питания рассчитан на длину используемой светодиодной ленты. Моя полоска длиной 2 метра потребляет чуть больше 2 ампер.
Контакты и периферийные устройства
Четыре сенсорных контакта используются для сенсорного ввода. Моя плата ESP32 шла с подключенным OLED-дисплеем, к которому были подключены контакты I2C. Он использует четыре контакта PWM, по одному для каждого цветового компонента (красный, зеленый и синий) и один для зуммера.
MOSFET путаница
Полевые МОП-транзисторы были выбраны для работы с коротким временем переключения ШИМ и относительно высоким током. Для каждого цветового компонента используется один полевой МОП-транзистор. Я использовал отдельные NPN BJT (BC547) вместе с подтягивающим резистором для управления IRFZ44N, поскольку цифровых сигналов 3,3 В от ESP32 могло быть недостаточно для того, чтобы полевые МОП-транзисторы проводили необходимый ток. МОП-транзисторы логического уровня, такие как IRLZ44N, существуют, но я узнал о них только после того, как закончил все паять. В любом случае моя полоска, которая рисует ~ 2A, работает нормально.
Пайка
Винтовые клеммы используются для подключения к светодиодной ленте, а гнездовые разъемы для подключения ESP32, на случай, если я захочу заменить любой из них, не разбирая вещи. Пайка заняла около двух часов и была очень простой. Я также отдал своей светодиодной ленте несколько более длинных проводов.
Почему я выбрал ESP32
У него есть Wi-Fi и Bluetooth на борту (хотя сейчас я использовал только Wi-Fi), и у меня был один, который мне не терпелось использовать. Сенсорные входы также пригодились для интерфейса на контроллере, поскольку им нужен только один провод, идущий к контакту. Однако при желании ESP32 можно легко заменить микроконтроллером, таким как ESP8266.
Шаг 2: Код
Я использовал набор инструментов Arduino (на самом деле расширение Arduino для VS Code:)), чтобы запрограммировать это. Есть отличные руководства, подобные этому, о том, как начать работу с ESP32 и Arduino IDE, если вы еще этого не сделали.
Существует четыре различных режима обработки: статический цвет, случайный цвет, красный сигнал и синий сигнал. Есть четыре сенсорных входа: вверх, вниз, далее и красное оповещение. Touch использует прерывания.
Я также добавил к работам MQTT, чтобы управлять им по Wi-Fi. Я пытаюсь почувствовать большую тройку веб-приложений (HTML, CSS, JS), поэтому я разработал веб-страницу в стиле «Звездный путь» (но довольно уродливую), которая взаимодействует с брокером MQTT для управления индикаторами настроения.
Весь мой код можно найти в приложении вместе с кратким справочным листом, имя файла которого вы, возможно, захотите изменить, чтобы сделать его уценкой. Перед открытием с помощью Arduino переместите все файлы в папку с именем «ESP32MQTTMoodLighting».
Обратите внимание, что мой код работает, но, вероятно, не самый лучший. Но это не имеет значения, ведь вы все равно напишете свой, верно?:)
Шаг 3: Корпус и сборка
Во время изоляции единственным материалом, который я мог достать, был лист МДФ толщиной 5 мм. Я сделал большие пропилы обычной ножовкой и хорошенько отшлифовал все. Основную подготовку завершил двойной слой эмалевой краски.
Задняя панель
Я хотел, чтобы мой блок можно было легко открывать, поэтому я установил всю свою электронику на заднюю панель с четырьмя стойками M2 для печатных плат. В моей монтажной плате уже были просверлены отверстия M2. У моих стоек внизу были маленькие резьбовые заглушки, которые я намеревался закрепить в МДФ. Но у меня не было сверла M2. Итак, отмечая положение каждого отверстия, я использовал небольшую отвертку с плоской головкой, чтобы вручную выдолбить отверстия. Грубый, но эффективный. Диаметр отверстий был немного меньше диаметра резьбовой части стойки. Я несколько раз закручивал стойки в отверстия и вынимал их из отверстий, они расширились и почти продвинулись в них.
В конце концов стойки прочно вошли в свои отверстия и удерживали перфорированную плату на месте. Поскольку мой МДФ был очень толстым, на другую сторону ничего не просвечивалось.
Я просверлил отверстие для разъема питания и сделал прорезь для проводов светодиодной ленты, прямо под тем местом, где были расположены мои винтовые клеммы.
Передняя панель
Вырез OLED-дисплея
Я начал вырез для OLED с нескольких отверстий для начинающих и отпилил их по размеру. В итоге он получился очень шатким и смещенным. Возможно, здесь не сыграла роль не перепроверка измерений, но избавьте себя от некоторых проблем, не используя плату для разработки со встроенным OLED. Намного проще просто прикрепить дисплей к отверстию.
Коннектор
Я сделал коннектор из нескольких мужских и женских заголовков. Один конец был прикреплен к проводам, подключенным к сенсорным контактам на передней панели, а другой конец имел провода, идущие к сенсорным входам ESP. Это было сделано для того, чтобы при необходимости переднюю панель можно было полностью снять с задней, не нарушая паяных соединений. Если вы устанавливаете что-нибудь еще на переднюю панель, вы можете сделать разъем и для этого.
Сенсорные панели
Сенсорные контакты были сделаны из алюминиевого листа. Я разрезал его, чтобы получить четыре необходимых прокладки, и убедился, что на нем нет неровностей по краям. Затем я просверлил отверстия в передней панели, достаточно большие для провода. Чтобы припой прилип к контактным площадкам, я протер небольшую часть одной стороны наждачной бумагой, чтобы удалить окисленный слой, а затем быстро протер ее, чтобы удалить любые частицы. Продев каждый провод через соответствующее отверстие на передней панели, я припаял каждый к его контактной площадке. Убедитесь, что припой не создает слишком больших выпуклостей на задней стороне, так как это не позволит контактной площадке прилегать к панели.
Наконец, нанесите немного горячего клея на заднюю часть каждой подушечки и надавите на переднюю панель. Добавление слишком большого количества приведет к тому, что колодки будут приподняты над панелью. Удалите излишки клея, которые могли вытолкнуться из-под подушек.
Прочее
Боковые панели довольно простые. Отверстие для быстрого доступа к винтовым клеммам доставило больше хлопот, чем оно того стоило. Боковые панели я приклеил к передней панели горячим способом.
Застежка-липучка на двух краях удерживает переднюю часть к задней панели. Зазоры позволяют уйти звуку зуммера. Если вы справитесь лучше меня, у вас не должно получиться что-то похожее на дошкольную поделку 5-летнего ребенка:)
У моей светодиодной ленты была липкая задняя часть (я уверен, что у вашей тоже). Я установил свой так, чтобы свет рассеивался от стены.
Шаг 4: Подключите
Теперь у вас должен быть полностью управляемый MQTT свет настроения. Я установил свой на свой стол, где он добавляет цветовой палитры иногда монотонной работе. Ночь - идеальное время, чтобы произвести впечатление на людей.
Надеюсь, вам понравилось читать это руководство, и у вас появилось несколько идей для ваших собственных проектов. Как я уже упоминал ранее, я новичок, и это моя первая инструкция. Буду признателен за любые советы и комментарии.
Рекомендуемые:
Датчик двери навеса и замка с питанием от батареи, солнечный, ESP8266, ESP-Now, MQTT: 4 шага (с изображениями)
Датчик двери и замка с батарейным питанием, солнечный, ESP8266, ESP-Now, MQTT: в этой инструкции я покажу вам, как я сделал датчик с батарейным питанием для контроля состояния двери и блокировки моего удаленного велосипедного навеса. У меня нет сетевого питания, поэтому он работает от батареи. Аккумулятор заряжается от небольшой солнечной панели. Модуль d
Arduino MOOD-LAMP: 4 шага (с изображениями)
Arduino MOOD-LAMP: Лампа настроения - это лампа, соответствующая цвету, соответствующему переходу от одного лица к другому. Лампа настроения используется в программе, созданной на Arduino с использованием микроконтроллеров Elegoo и новых устройств. Puedes regularle cualquier color por medio de p
Клавиатура сигнализации MQTT ESP8266: 4 шага (с изображениями)
Клавиатура сигнализации MQTT ESP8266: В этой инструкции я покажу вам, как я сделал клавиатуру с батарейным питанием, чтобы включать и отключать домашнюю сигнализацию. В будущем я планирую сделать более совершенный, в который будет включен считыватель RFID и который не будет питаться от батареи. Также я планирую читать с клавиатуры через
Начало работы с ESP32 - Установка плат ESP32 в Arduino IDE - Мигающий код ESP32: 3 шага
Начало работы с ESP32 | Установка плат ESP32 в Arduino IDE | Мигающий код ESP32: в этой инструкции мы увидим, как начать работу с esp32 и как установить платы esp32 в Arduino IDE, и мы запрограммируем esp 32 для запуска мигающего кода с использованием arduino ide
Ветряная станция для виндсерфинга на базе MQTT и AWS: 3 шага (с изображениями)
Ветряная станция для виндсерфинга на базе MQTT и AWS: В Шэньчжэне много красивых пляжей. В летние дни я больше всего люблю парусный спорт. Что касается парусного спорта, я все еще начинаю, мне нравится, когда морская вода касается моего лица, и многое другое, у меня появилось много новых друзей с этим видом спорта. Но