Светящиеся анимированные серьги на светодиодах WS2812

Этот обзор появился по просьбе в одном из предыдущих постов. Конечно, хотелось бы рассказывать о своих поделках, но меня всегда тормозит мысль, что это никому особо не нужно, да и стиль у меня, мягко говоря, далёк от идеала. Но в этот раз люди сами заинтересовались, да ещё и нейросети теперь могут помочь с редактурой — так что ловите!
Однажды супруга спросила — а можешь сделать какие-нибудь светящиеся или мигающие серьги? Совпало это с тем, что в Алматы намечался небольшой фест по «Hazbin Hotel» (фест в итоге оказался так себе, но у нас в городе вообще редкость что-то достойное). Подумал, прикинул — а почему бы и нет, можно даже сделать с анимацией.
На тот момент у меня как раз лежали без дела адресные светодиоды WS2812 в размере 2020. В прошлом посте я по ошибке написал, что они 1,5х1,5 мм — это не так. Посадочное место чуть больше, а сама линза реально мелкая — около 1,34х1,8 мм. Но суть в том, что они очень миниатюрные, идеально для серьг.
Я развел и спаял несколько прототипов, чтобы проверить, как лучше разместить светодиоды и насколько компактно это вообще можно сделать.
Кстати, для нанесения паяльной пасты я делаю маску сам, вырезая на лазерном гравере трафарет из непрозрачной пленки/задней части, дешевых пластиковых папок скоросшивателей.




Изначально хотел запихнуть в каждую серьгу какой-то простенький контроллер, типа ATtiny85, сделать автономную анимацию, но быстро понял, что это не мой уровень программирования микроконтроллеров. Да и с питанием беда — хотелось хотя бы несколько часов работы от аккумулятора на 150-200 мАч, а всё это в серьге? Ну такое… Короче, решил сделать серьги проводными, с общим управляющим хабом.
Хаб (наверное, громко сказано) собран на базе Wemos D1 (или аналогичном), а управлялкой стал готовый проект GyverPanelWiFi_v1.13 от Гайвера. Питание — от батарей для вейпа.
Соединять хаб и серьги решил через провода от наушников. Они тонкие, прочные и легко достать, да и в хозяйстве у каждого найдутся. На хабе — два разъема по 4 контакта. В первом — питание и сигналы DIN/DOUT. Сначала сигнал уходит в первую серьгу, а потом по второму проводу возвращается обратно и уходит во вторую серьгу, где продолжает цепочку светодиодов.
Корпус печатал на ФДМ принтере.










Скетч Гайвера пришлось немного подогнать под себя: убрал ненужные эффекты, добавил свою анимацию, а самое главное — создал карту матрицы для двух серьг сразу. Форма получилась не прямоугольная, а кристаллическая, поэтому стандартные карты не подошли. Для генерации использовал отличный инструмент: FastLED XY Map Generator.
Когда тестовый образец заработал, я заказал платы на JLCPCB. Учёл сразу несколько вариантов монтажа: и площадки под провода (снизу и сверху, чтобы можно было по-разному прокладывать кабель — за ухом или прямо вниз), и посадочные места под разъёмы SH1.0 (в итоге не пригодились, но пусть будут), и даже места под припайку швенз-гвоздиков.



Самая больная тема — сделать так, чтобы свет от одного светодиода не попадал на соседние. Это особенно важно при такой плотности. Сначала думал печатать просто решётку на 3D-принтере, но столкнулся с проблемой рассеивания — если просто надеть матовое стекло, серьги получаются слишком толстые.
В итоге придумал такой способ:
Печатаю решётку на фотополимерном принтере.
Печатаю отдельно плашку-рассеиватель из белой смолы.
Пока плашка ещё влажная (только оттряхнутая от излишков смолы, но не промытая), надеваю её на решётку.
Засвечиваю УФом — детали склеиваются намертво.
Шкуркой снимаю излишки плашки, оставляя только аккуратные белые рассеиватели в каждом окошке чёрной маски.
Получается тонко, чётко и очень практично. Да и повторить можно легко.




В результате серьги вышли достаточно миниатюрными, с красивой анимацией и удобным управлением с телефона через веб-интерфейс.
Извините за не самое качественное видео, но новое создавать сейчас лень…
В общем, если кто-то захочет повторить — все материалы, скетчи и разводку плат могу выложить отдельно. Надеюсь, кому-то пригодится эта идея.
Однажды супруга спросила — а можешь сделать какие-нибудь светящиеся или мигающие серьги? Совпало это с тем, что в Алматы намечался небольшой фест по «Hazbin Hotel» (фест в итоге оказался так себе, но у нас в городе вообще редкость что-то достойное). Подумал, прикинул — а почему бы и нет, можно даже сделать с анимацией.
На тот момент у меня как раз лежали без дела адресные светодиоды WS2812 в размере 2020. В прошлом посте я по ошибке написал, что они 1,5х1,5 мм — это не так. Посадочное место чуть больше, а сама линза реально мелкая — около 1,34х1,8 мм. Но суть в том, что они очень миниатюрные, идеально для серьг.
Я развел и спаял несколько прототипов, чтобы проверить, как лучше разместить светодиоды и насколько компактно это вообще можно сделать.
Кстати, для нанесения паяльной пасты я делаю маску сам, вырезая на лазерном гравере трафарет из непрозрачной пленки/задней части, дешевых пластиковых папок скоросшивателей.

Варианты



Изначально хотел запихнуть в каждую серьгу какой-то простенький контроллер, типа ATtiny85, сделать автономную анимацию, но быстро понял, что это не мой уровень программирования микроконтроллеров. Да и с питанием беда — хотелось хотя бы несколько часов работы от аккумулятора на 150-200 мАч, а всё это в серьге? Ну такое… Короче, решил сделать серьги проводными, с общим управляющим хабом.
Хаб (наверное, громко сказано) собран на базе Wemos D1 (или аналогичном), а управлялкой стал готовый проект GyverPanelWiFi_v1.13 от Гайвера. Питание — от батарей для вейпа.
Соединять хаб и серьги решил через провода от наушников. Они тонкие, прочные и легко достать, да и в хозяйстве у каждого найдутся. На хабе — два разъема по 4 контакта. В первом — питание и сигналы DIN/DOUT. Сначала сигнал уходит в первую серьгу, а потом по второму проводу возвращается обратно и уходит во вторую серьгу, где продолжает цепочку светодиодов.
Корпус печатал на ФДМ принтере.

Платы





Корпус, проводка




Скетч Гайвера пришлось немного подогнать под себя: убрал ненужные эффекты, добавил свою анимацию, а самое главное — создал карту матрицы для двух серьг сразу. Форма получилась не прямоугольная, а кристаллическая, поэтому стандартные карты не подошли. Для генерации использовал отличный инструмент: FastLED XY Map Generator.
Когда тестовый образец заработал, я заказал платы на JLCPCB. Учёл сразу несколько вариантов монтажа: и площадки под провода (снизу и сверху, чтобы можно было по-разному прокладывать кабель — за ухом или прямо вниз), и посадочные места под разъёмы SH1.0 (в итоге не пригодились, но пусть будут), и даже места под припайку швенз-гвоздиков.

Готовые платы


Самая больная тема — сделать так, чтобы свет от одного светодиода не попадал на соседние. Это особенно важно при такой плотности. Сначала думал печатать просто решётку на 3D-принтере, но столкнулся с проблемой рассеивания — если просто надеть матовое стекло, серьги получаются слишком толстые.
В итоге придумал такой способ:
Печатаю решётку на фотополимерном принтере.
Печатаю отдельно плашку-рассеиватель из белой смолы.
Пока плашка ещё влажная (только оттряхнутая от излишков смолы, но не промытая), надеваю её на решётку.
Засвечиваю УФом — детали склеиваются намертво.
Шкуркой снимаю излишки плашки, оставляя только аккуратные белые рассеиватели в каждом окошке чёрной маски.
Получается тонко, чётко и очень практично. Да и повторить можно легко.

Корпуса серьг



В результате серьги вышли достаточно миниатюрными, с красивой анимацией и удобным управлением с телефона через веб-интерфейс.
Извините за не самое качественное видео, но новое создавать сейчас лень…
Дополнительная информация
В общем, если кто-то захочет повторить — все материалы, скетчи и разводку плат могу выложить отдельно. Надеюсь, кому-то пригодится эта идея.
Самые обсуждаемые обзоры
+28 |
1963
45
|
такое надо публиковать — это в общем то уникальный опыт, хотя вроде и ничего прям такого
видел похожий проект
а, уже скидывали…но на одноцветных светодиодах (для тех у кого не работает выше)
самые мелкие «умные» светодиоды я находил формата 1010, т.е. 1х1 мм, не знаю, есть ли мельче
Если перед каждым спойлером выставлять 1-2 наиболее важные (ключевые) картинки — было бы вообще зашибись. :)
Лучше всего это переделать прямо сейчас. И как можно быстрее. Это будет весьма полезно для рейтинга Вашей статьи.
Я понимаю, что это уважение читателя, но я живу в Казахстане и просто нет проблем с ютубом и потому, тупо, не пользуюсь другими видеохостингами.
Я в принципе не понимаю, как люди могут заниматься своими делами и хобби и еще параллельно кучу видео и фотоматериала собирать.»
Имхо, провода толстые, чёрные и длинные. Оттягивают уши, бросаются в глаза.
Я бы предложил:
1) Провода взять прозрачные.
2) Точку крепления проводов сделать возле гвоздика, провод пустить вокруг уха.
3) Контроллер и круглую длинную батарею (от одноразовой электронной сигареты, например) засунуть в ошейник/ожерелье, тогда провода понадобится сантиметров 20 максимум.
«Подскажите пример подобных четырех-жильных проводов, достаточно прочных как от наушников, с удовольствием попробую использовать их. На тот момент использовал что было, а для покупки подходящих не нашел.»
72 адресных RGB светодиода, три светодиода с потреблением 16мА каждый (в китайском даташите для размера 2020 указано), в максимуме потребуют 3,456А. Провода для наушников не справятся, надо что-то потолще и покороче. Либо программно считать текущее потребление и ограничивать яркость.