Новый год уже у порога, и пора готовиться к празднику-покупать подарки, украшать елку.
По традиции сделал к новогоднему празднику новую версию новогодней гирлянды. Как и предыдущая версия, эта прошивка поддерживает платы ESP8266 и ESP32. В новой версии полностью переписал приложение для телефона на Xamarin C#. Добавил функцию быстрого определения IP-адреса устройства. Сейчас подробнее расскажу, что ещё нового сделал и какая светодиодная гирлянда на ёлку своими руками у меня получилась.
В этом году гирлянда у меня будет сделана из светодиодной ленты WS2812. В этот раз я ничего паять не буду, только добавлю звезду, про которую рассказывал вот в этой статье. Если вам интересно, как сделать уникальную новогоднюю гирлянду своими руками, читайте предыдущую статью по данной теме.
Возможность самодельной гирлянды на новый год.
Как и писал выше, я переписал приложение для телефона, что позволяет значительно увеличить возможности самодельной гирлянды на новый год. Но, к сожалению, времени не хватило, чтобы реализовать всё, что было запланировано, поэтому функционал гирлянды расширился незначительно.
Функции гирлянды:
1. 18 световых эффектов (можно расширять).
2. Авторежим. Автоматически переключает режимы по кругу. Продолжительность одного режима настраивается в прошивке.
3. Управление яркостью гирлянды.
4. Внешнее управление с помощью тактовой кнопки: переключение режимов и изменение яркости.
5. Выбор цвета звезды. Палитра из 8 цветов.
6. Добавлена функция, позволяющая установить ток источника питания, что в свою очередь позволяет управлять лентой любой длины, не боясь, что ваш блок питания перегреется.
Что добавлено в новой версии:
1. Возможность найти гирлянду в разделе «Сетевые устройства» благодаря SSDP.
2. Благодаря SSDP появилась функция быстрого определения IP гирлянды.
3. Внешнее управление я сделал с помощью тактовой кнопки. Это позволяет управлять гирляндой как с кнопки, так и с приложения. Если кнопка не подключена, то гирляндой можно без проблем управлять с приложения, что было невозможно при работе с сенсорной кнопкой.
4. Переписал все эффекты для гирлянды. Они сейчас небольшие и при этом работают отлично на больших лентах.
5. Прописал настройку изменения скорости эффектов. На данный момент изменять скорость можно только в прошивке.
Схема подключения гирлянды на ёлку.
Как и писал выше, в этом году я сделал гирлянду с тактовой кнопкой. Сенсорную кнопку подключить не получится, так как кнопка подключается к GND.
Схема подключения гирлянды на ESP8266 (NodeMCU).
Также в этом году сделал управление эффектами и яркостью подсветки с помощью кнопки и для ESP32.
Схема подключения гирлянды реализованной на ESP32 (Devkit).
Мобильное приложение для управления новогодней гирляндой.
В этом году переписал полностью приложение на новой платформе Xamarin C#. Это открывает дополнительные возможности в управлении, но, к сожалению, мне не хватило времени, чтобы реализовать задуманное. У меня есть много идей по реализации светильника с использованием светодиодной ленты, поэтому дорабатывать приложение буду при создании новых проектов с использованием адресных светодиодов. Планирую доработать прошивку для ESP и выйти на более интересную систему управления подсветкой, но обо всём вы узнаете по мере реализации моих планов.
Приложение сделанное в прошлом году выглядело вот так.
В этом году оно выглядит по-другому. Я сделал его в бело-синей цветовой гамме и добавил немного ярких праздничных кнопок.
Какое оформление вам больше нравится? Пишите ваши мнения и предложения в комментариях.
Рассказывать про возможности приложения не буду, а по интерфейсу и так всё понятно. Одна особенность - изменение яркости с помощью дополнительных кнопок «-» и «+», которые изменяют яркость с шагом 10%. Переход на страницу настроек перенёс в подвал приложения.
На странице настроек на данный момент только одно поле для ввода IP- адреса устройства.
Прошивка новогодней гирлянды на ESP32 (ESP8266).
Для того чтобы загрузить прошивку новогодней гирлянды в ваше ESP, нужно настроить среду разработки Arduino IDE. Для платы ESP8266 есть инструкция по настройке, которую можно посмотреть тут. Если у вас плата ESP32, то инструкция по добавлению данной платы в среду разработки тут.
Установить нужно всего одну дополнительную библиотеку FastLED.
ВНИМАНИЕ! Версия библиотеки должна быть не ниже версии FastLED 3.1. В противном случае при компиляции вы увидите предупреждение «warning "Requires FastLED 3.1 or later; check github for latest code.», а загрузка кода будет приостановлена.
Установить библиотеку можно через менеджер библиотек. В таком случае у вас установится последняя версия и всё будет работать как надо. Если у вас уже установлена данная библиотека, то её нужно обновить. Для этого вам необходимо выбрать версию больше 3,1 из списка доступных версий и обновить.
Если вы не знаете, как установить библиотеку с помощью менеджера библиотек, можете скачать библиотеку внизу статьи в разделе «файлы для скачивания» и установить её, переместив в папку с библиотеками, которая располагается тут: «Документы\Arduino\libraries».
В прошивке также нужно настроить подключение к вашей Wi-Fi сети, указав логин и парол
Если вы не укажите логин и пароль, устройство автоматически поднимет точку доступа (свою сеть), к которой нужно будет подключиться с вашего телефона. Название сети "ATGarland", пароль по умолчанию "012345678". В таком случае в приложении нужно указывать IP «192.168.4.1»Если вы указали логин и пароль от вашей сети, то после подключения гирлянда появится в разделе сетевых устройств на вашем компьютере в категории «Другие устройства». Узнать IP-адрес вашего устройства можно двумя способами:
Два раза кликнуть по устройству с именем "ATGarland". Откроется страница в браузере, в которой будет написан адрес вашего устройства.
Нажать правой кнопкой мыши по устройству "ATGarland". Следом нажать на кнопку «Свойства» и откроется описание устройства, IP прописан в поле «Веб-страница». Указываем данный IP-адрес в приложении.
Одним из важных параметров является настройка источника питания, что позволит вам использовать тот блок питания, который у вас есть под рукой, а не бежать в магазин и покупать блок питания под вашу ленту с 15% запасом.
Я прописываю ток немного меньше, чем заявлено на блоке питания, что в свою очередь снижает его нагрев.
Проверка работоспособности сделанной своими руками новогодней гирлянды на ESP32.
Как видно по фото для управления гирляндами я использую разные платы на микроконтроллере ESP8266:
ESP-01
NodeMCU
Также использую Wemos, которая не попала в кадр =)
Помимо вышеуказанных я использую плату ESP32 Devkit v1. Кроме неё есть у меня ещё один модуль на базе ESP32. Он без опознавательных знаков, но работает также отлично.
Варианты использования самодельной гирлянды:
ESP8266 с кнопкой, без приложения.
ESP8266 с кнопкой и приложение.
ESP8266 с приложения.
ESP32 с кнопкой, без приложения.
ESP32с кнопкой и приложение.
ESP32 с приложения.
Также можно использовать управление последними пикселями ленты, установив статический цвет для звезды или вовсе не использовать данную функцию. Как видим, одна прошивка, а спектр применения достаточно большой.
Следующая версия будет управляться с помощью мыслей. Это конечно же шутка! Но с современным темпом развития электроники всё, что кажется нереальным, возможно, через десять лет будет обыденным делом. Желаю, чтобы вам не пришлось ждать десять лет, пусть ваши самые смелые желания сбудутся в Новом году! С наступающим!
С новым Годом!
Понравился проект Светодиодная гирлянда на ёлку своими руками? Не забудь поделиться с друзьями в соц. сетях.
Собрал на esp32,прекрасно работает,только реализуйте пожалуйста вкл/выкл в приложении
Гость: Игорь (9 февраля, 2022 в 21:37)
Собрал перед новым годом на NOD MCU без проблем. Автору, Спасибо. Всё работает классно. А вот на esp 01 никак не получается. Если подсоеденить сразу ws2812, то на esp 01 загораются оба светодиода и всё wi fi не включается, если без ws2812, wi fi подлючается нормально. Подскажите пожалуйста, в какую сторону копать. И можно пожалуйста схему подключения для esp 01.
Гость: Александр (9 января, 2022 в 17:42)
Скетч выдаёт ошибку. Строка 85
Гость: Leo (6 января, 2022 в 21:56)
Подтверждаю. Всё работает на ура. ( У меня загрузчик ругался и пришлось дописать перед номерами пинов D. Но думаю это частный случай). Спасибо за труд.
Гость: Дмитрий (6 января, 2022 в 20:20)
Свяжитесь со мной пожалуста.
Гость: Дмитрий (6 января, 2022 в 20:15)
Здравствуйте. Можете со мной в личке связаться? Спасибо. Классный проект!
Комментарии