ESP, IoT [Решено] Управление подсветкой ARGB вентиляторов ПК с помощью WLED

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
3
2
Доброго времени суток!

Имеется внутри компа блевотина единорога пара-тройка вентиляторов с ARGB подсветкой. В настоящий момент они запараллелены и подключены в один выход на материнке, из-за чего каждый вентилятор светится одинаково. Наткнулся на вот этот видос от ребят из SignalRGB, где все светящиеся компоненты по факту представляют собой единое "полотно", чего я и пытаюсь добиться. Существующие хабы и контроллеры от Corsair, Cooler Master и Razer стоят дороговато, а под рукой валяется несколько плат на базе ESP8266, поэтому возникло желание соорудить контроллер своими руками.

В настоящий момент с помощью WLED и его нативной интеграции в SignalRGB удалось добиться только чего-то подобного, когда все светодиоды с вентиляторов представляют собой одну линию, а хочется, чтобы как в видео по первой ссылке, поэтому товарищи, прошу вашей помощи, на тему того как можно эту задачку решить.

На форуме уже задавали вопрос подобного плана и тогда все обошлось в направлении руководства по FastLED, куда отправился и я, однако ничего путного оттуда не вынес.

Еще одним вариантом является вот это, однако, тут используются платы, которых у меня нет и этот вариант я оставил на крайний случай, так как надеюсь обойтись тем, что в наличии.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
да вроде всё очень просто - ваши диоды соеденены последовательно в ленту которая имеет определенную форму.
Вам нужно написать код который будет пересчитывать место диодов в ленте в местоположение на "полотне". Все имеющиеся здесь на форуме проекты "огненных ламп" для матриц и гирлянд работают подобным образом.
 

Maxx1200

★✩✩✩✩✩✩
11 Фев 2022
94
18
Вот мне интересно какие адресные светодиоды там используются в этих argb 🤔 ws2812b или SK6812
 

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
3
2
@Maxx1200, там светодиоды серии WS28xx (на забугорных сайтах где-то прочитал). Всего один пин под данные и напряжение 5В, стало быть там старые добрые WS2812

@vortigont, все, что я смог найти это вот этот видос с канала Dave's Garage,однако, я в проганье не шарю и даже при условии, что я повторю результат с видео, остается непонятным как скрещивать это с освещением остальных компонентов.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
@mk_sib, так а вы чего хотите-то в итоге? В проганье вы не шарите, соответсвенно делать сами не будете.
Соответсвенно вам нужно или уже сделанное и бесплатное или что бы кто-то сделал это вам под ключ.
Для первого есть гугл или сформулировать тему в виде вопроса "хочу вот такое бесплатно, если кто знает существующие реализации, дайте ссылки".
Для второго есть тема на форуме "Ищу исполнителя" где вам предстоит соблазнить кого-то своими деньгами. Ну или скорее всего осознать что купить готовое решение от кулермастер будет намного быстрее и дешевле.
 
  • Лойс +1
Реакции: mk_sib и Divin

Divin

★★★✩✩✩✩
30 Янв 2021
431
191
@mk_sib, WLED позволяет разбить ленту на виртуальные сегменты и запускать отдельный эффект для каждого сегмента или один и тот же эффект на всех сегментах одновременно, 8266 поддерживает до 10 сегментов, если больше, то ESP 32, это самый бюджетный вариант, иначе см пост г-на @vortigont.
 
  • Лойс +1
Реакции: mk_sib

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
3
2
В общем разобрался чего и как. Все оказалось донельзя просто, аж стыдно стало. Оставлю решение тут для будущих поколений.

Суть такая: обзаводимся платой на основе микроконтроллера ESP (можно 8266, но лучше ESP32, так как больше девайсов можно повесить, о чем выше писал @Divin) и устанавливаем на него WLED. Обнаружил еще вот такую плату в дополнение к ESP32 (ссылка на гитхаб с герберами и прочим в посте имеется), которая сильно упрощает подключение вентиляторов к микроконтроллеру и блоку питания ПК. В целом можно состряпать на макетной плате как вот тут.

Каждое устройство должно подключаться к своему коннектору/пину, а в самом WLED для каждого коннектора/пина создаем отдельный сегмент с тем количеством светодиодов, которое имеется на вашем устройстве.

После того как все подключили и запитали включаем комп, открываем/устанавливаем SignalRGB и там лезем в меню "Network". Там листаем в самый низ и открываем WLED. В открывшейся менюшке вводим IP адрес микроконтроллера с WLED и жмем "Discover". После того как ваше устройство появилось в списке жмем "Link".

Дальше лезем в меню "Devices" и там выбираем наше WLED устройство. Открываем меню "Component Config" (вторая иконка, похожая на "Поделиться" под лампочкой). Удаляем "Default Strip" и нажимаем на "Add Component". В открывшемся списке ищем свои компоненты, а в нашем случае - вентиляторы и добавляем по очереди. У меня всего 5 вентиляторов от MSI и Aerocool, первые в списке есть, вторых нет. Для компонентов, которых в списке нет можно выбрать похожие (главное чтобы кол-во светодиодов совпадало) или добавить через скрипт свои в соответствии с этим тутором.

После этого открываем вкладку "Layout" и там настраиваем положение и ориентацию компонентов, чтобы все было красиво в соответствии с этим туториалом и вуаля, все светящиеся компоненты теперь представляют собой единое "полотно", на котором все эффекты, доступные в SignalRGB, отображаются корректно и радуют глаз. И все без проприетарщины и без покупки коробочек от Cooler Master/Razer за 2к - 7к российских тенге.
 
  • Лойс +1
Реакции: vortigont и Maxx1200