Начнëм пожалуй с того, почему я выбрал обычную RGB ленту. Да, да - это не адресная лента. Сейчас очень популярны проекты на адресной ленте. По ним множество материалов, уроков и примеров. А вот по обычной RGB ленте их на много меньше. Ну и ещё один факт по которому я выбрал эту ленту, это то что другой у меня не было. Да и в целом, это довольно интересный эксперимент.
В общем, тем кто хочет сделать обычную RGB подсветку, вам сюда. 😉
Ну или тем, кто просто хочет узнать мою историю
Часть 1. Идея
Идея этого проекта мне пришла случайно и изначально, она выглядела немного иначе.
Я купил RGB ленту и стал эксперементировать, и пытаться сделать какие-то режимы. Тогда я ещë не знал во что это выльется. К слову, это было года 3 назад. Ещë на старом рабочем месте.
После первых тестов, мне, так как я играю на гитаре, захотелось сделать для неë крутую подсветку с различными режимами. Изначально идея была в этом. Тогда, я представлял этот проект, как небольшой блок управления прикреплëнный к гитаре, а внутри гитары приклеенный кусочек ленты. Но из-за предстоящего переезда, я подумал, а почему бы собственно не сделать ещë и подсветку для стола? Блок будет отделяемым от ленты и я смогу просто переставлять его со стола на гитару. И так я приступил к созданию.
Часть 2. Первый прототип
Первый прототип я собрал 3 года назад. Прямо перед новым годом. Чудесное было время! Я прогулял школьную дискотеку, вместо неë я разработал 1 прототип подсветки. У неë был всего 1 режим - режим огня. И этот режим остался по сей день. И так, я взял скетч Алекса Гайвера и немного его оптимизировал под себя. Тогда, я не так хорошо владел ардуино, поэтому плохо понимал, что происходит, но в итоге оно заработало. И в новый год, у меня был свой маленький огонёк 🔥. Атмосфера обеспечена!
Часть 3. Версия 1.0
Спустя какое-то время, я переехал в другую квартиру. И я продолжил делать подсветку. Всë больше разбираясь в Arduino, я создавал всë более интересные режимы. Один из лучших, который тоже до сих пор используется, это режим Северного сияния. Если честно, то я ни у кого не видел такого режима. По своей сути, это тот же режим, что и режим огня, но только более плавно и медленно, переливающейся от зелëного в синий.
Получилось очень красиво!
Следующий режим, который я сделал, это цветовое колесо. Он работает не так, как я хочу, по этому в версию 3.0 он не вышел. А вот в первой и во второй он был.
Также был режим "дискотеки". Этот режим предполагал быструю смену основных цветов. То есть зелëного, синего и красного. От того он был скучноватый и вырвеглазный.
И так, параллельно созданию новых режимов, я начал разрабатывать корпус.
В качестве корпуса, было решено использовать распределительную коробку.
Также нужно было, как-то управлять переключением режимов. И в качестве органа управления, я взял красивую светящейся кнопочку.
Вот что в итоге получилось
С управлением, конечно, пришлось помучаться. Вся проблема была в циклах. Для работы режима, он должен быть в цикле, а в цикле кнопка уже не опрашивается, так что пришлось выкручиваться и делать функцию удержание кнопки. И получилось, что если удерживать кнопку, то ты выходишь из режима и можешь выбрать другой.
Так-же, я всë-таки сделал подсветку для гитары. Для этого, я вклеил кусочек ленты внутрь гитары и сделал длинный провод подключения.
На гитаре оно выглядело следующим образом
Вот так была сделана 1 версия этого проекта. Я пользовался ей довольно продолжительное время, пока не выявил две проблемы:
1. Большой размер устройства. Его буквально некуда было ставить!
2. Неудобное управление. Каждый раз тянутся и тыкать кнопку, уже надоело.
И я принялся за разработку версии 2.0. Она должна была решить эти проблемы, но по итогу решила только проблему размера.
Часть 4. Путь к версии 2.0
Решить проблему размера было довольно просто. Нужно всего-навсего взять компоненты меньшего размера. Arduino nano, маленький драйвер и т. д.
А вот проблему с управлением было решить не так просто.
По задумке, управление должно было быть ИК (как у телевизора). По итогу, я мучался очень долго, но, то ли по не знанию, то ли по ещë какой-то причине, ничего не получилось. Проблема была та же, что и с кнопкой, но отличие в том, что с кнопкой можно сделать прерывание, а вот с ИК приëмником такого сделать было нельзя. В итоге, полурабочее ИК управление и маленький размер получили версию 1.5. Меня это, естественно, не устраивало и пришлось вернуться к управлению через кнопку, но поставил я еë очень маленькую и еле запихнул в корпус. И получилась, немного уродливая, 2 версия.
Ещë минусом был вес устройства. Он был очень мал и по этому, блок управления часто падал.
Часть 5. Wemos
Пользуясь второй версией Ещë пол года, я купил wemos d1 mini, для экспериментов. И мне пришла в голову мысль, сделать подсветку, которая будет управляться через телефон.
Я начал изучать новую плату, с которой раньше не работал. Так прошло ещë месяца 3 - 4. Мне никак не удавалось разобраться с этой платой. То код не загружался, то к роутеру не подключался. Но потом у меня Всë заработало! Изучив и использовав одну библиотеку, всë заработало. И я принялся за создание 3-ей версии подсветки.
Часть 6. Версия 3.0
Перво-наперво, надо было переделать код устройства. Оптимизировать его под wemos. Собственно так я и сделал. Постепенно преодаливая ошибки и учась новому.
В этот раз я изменил режимы подсветки. И получились 4 следующих режима:
- Огонь
- Северное сияние
- Ручное изменение цвета
- Цветомузыка
Пока что, я остановился на этом, но в дальнейшем планируется добавить новые режимы.
Про 4-ый режим, хочу поговорить отдельно. Я давно хотел сделать этот режим, но в силу ограниченности RGB ленты, цветомузыка представляет собой мигающую в такт ленту. Чтобы это реализовать, я подключил модуль микрофона. И начал изучать, как можно сделать так, чтобы лента мигала в такт. Мне потребовались фильтры сигнала. Нужно было оставить только звуковые пики. И под них будет мигать лента. В общем, спустя неделю, мне удалось сделать простенькую цветомузыку, для начала не плохо, мне нравится.
Естественно, я заменил Arduino на wemos. Была только одна проблема, это проблема в питании платы. Светодиодной ленте нужно 9 В, а wemos питается от 5 В. Чтобы решить эту проблему, я решил использовать очень маленький понижающий преобразователь. Настроить его на нужный вольтаж, это надо было попотеть. Из-за того, что потенциометр очень маленький, его даже маленькой отвëрткой было тяжело крутить. Но по итогу, я настроил модуль и Всë заработало. Я засунул всю электронику в корпус, так и была готова 3 версия!
Она решила обе проблемы изложенные ранее.
Вывод
И так спустя долгое время, этот проект мне хочется улучшать. Я добавлю новые режимы, улучшу и оптимизирую код. А пока, что я доволен рабочей версией моего проекта. Здесь даже просматривается эволюция всех электронных устройств. Сначала они было огромными и не удобными, а потом стали маленькие и с WI-FI! 😁
Так произошло и с моим устройством.
А на этом Всë. Всё технические подробности будут потом, а пока что, можете прочитать другие мои статьи.
Всем пока👋