Название ARGB или Adressable RGB, буквально говорит само за себя. Вместо глупого управления тремя линиями как в простых лентах, здесь устанавливают адресуемые RGB светодиоды. Их фишка в том что диод имеет все те же 4 контакта, 2 из которых питание, а 3 и 4 это вход данных и выход данных. Каждый «пиксель» это не просто светодиод, а целая конструкция с микроконтроллером, а так же тремя светодиодами красного, зеленого и синего цвета.
![Источник https://aliexpress.ru/item/1005001593247498.html Источник https://aliexpress.ru/item/1005001593247498.html](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/d87/2df/a6a/d872dfa6a53d413b5157762881cee61f.png)
Все «диоды» стоят в очереди и передают данные дальше по цепочке, заодно сами берут данные из пакета данных, и применяют себе выбранный цвет. Пакеты данных очень компактные, в них упакована яркость (256 значений) и 16777216 цветов. Все это передается по цепочке на скорости до 800кбит/сек!
![Источник https://cpldcpu.wordpress.com/2014/01/14/light_ws2812-library-v2-0-part-i-understanding-the-ws2812/ Источник https://cpldcpu.wordpress.com/2014/01/14/light_ws2812-library-v2-0-part-i-understanding-the-ws2812/](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/f5a/259/66d/f5a25966d5375493b51405b8a6f453d7.png)
К материнской плате такие ленты с диодами подключаются через простой разъем на 3 пина. По ним лента получает питание 5V, а так же данные.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/665/8c6/405/6658c6405b08add0f1dde7a17993dd26.png)
Невысокое напряжение питания этих диодов одновременно их сильная сторона если питать их например от USB, но и слабая сторона, так как каждый диод может поедать вплоть до 60мА, а ленты бывают и длинные и с большим количеством диодов, а сама подложка ленты зачастую тонкая и мягкая в угоду удобства. От чего инсталляции с большим кол-вом диодов могут сильно проседать по яркости и искажать цвет на большом расстоянии от начала ленты. Но в случае с компьютерными железками такая ситуация довольно редкая.
![Источник - Даташит микросхемы Источник - Даташит микросхемы](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/8e8/c5b/a1a/8e8c5ba1a436212954d911cb15398ca5.png)
Разборки
Все сказанное выше про адресуемые диоды, является лишь теорией, на практике, производители могут установить в свои устройства, буквально что угодно, лишь бы оно было совместимо с протоколом который используется в чипах ws2812. Кроме того сам ws2812 может быть как голым чипом установленным в корпус светодиода, так и дискретной микросхемой которая управляет диодами через мосфеты.
Для данного поста компания Adata XPG предоставила вентиляторы XPG Huricane 120 ARGB а так же удлинители проводов Xpg Prime ARGB. Именно их мы разберем в поисках адресуемых светодиодов, а так же подключим к своему микроконтроллеру минуя материнскую плату с ее родным софтом.
Первым пошел вентилятор XPG Huricane 120 ARGB. Диоды тут расположены сразу в двух местах. На «хабе» мотора, а так же в виде кольца вокруг крыльчатки.
Снимаем черное кольцо которое удерживает белый рассеиватель в вентиляторе, а дальше вытаскиваем белый рассеиватель отверткой.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/598/821/fc4/598821fc46b6aa430d13a5d6c5b6054d.png)
После снятия рассеивателя можно доставать ленту.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/80c/cb8/5c5/80ccb85c5f67b0577a86884257ac83fa.png)
Диоды на первый взгляд обыкновенные, именно такие которые можно найти в даташитах.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/eab/a58/788/eaba5878877d78217f397b6d7f0c7cff.png)
При ближайшем рассмотрении мы находим тот самый чип WS2812.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/0a7/e93/1f6/0a7e931f61bc64d4faf0b5f3df8494bd.png)
С удлинителем кабелей Xpg Prime ARGB все немного интереснее. Конструкция подсветки очень компактная и диоды в корпусе 5050 туда просто не влезут. Разборка показала что тут установлены очень крохотные SMD диоды размером 2020! Их удалось найти в китае под названием "WS2812-2020"
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/a3b/add/a0b/a3badda0be9c5ead664ad2336ba66b22.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/7eb/a43/7f1/7eba437f1c3de513c088fee32064355f.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/728/b97/a95/728b97a954c9a7831750d4a4de9eef59.png)
Каждый диод внутри действительно имеет 3 светодиода а так же Ws2812 совместимый чип, что позволяет управлять подсветкой каждой декоративной трубки.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/7d2/38b/2c9/7d238b2c91f1f3afab966077f86b68c0.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/aa3/267/d39/aa3267d398dbf5e1c3b56e5e659a8929.png)
Но а как же управлять такими лентами ?
На практике все максимально просто. Нам потребуется любой микроконтроллер, подойдет как Arduino, stm32, так и самое дешевое решение на рынке - ESP8266 либо ESP32. Я решил взять esp8266 как пример дешевого контроллера с возможностью прошивки своего кода.
Для начала припаяем коннектор для адресуемых лент. У меня нашелся штекер от 4pin RGB ленты, для работы с 3пин достаточно откусить один кабель и пин из штекера типа ПАПА. Если у вас такого штекера нет, то можно откусить его от одного из вентиляторов, решение не идеальное, но кто вас остановит ?
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/267/db6/d5c/267db6d5c28798acd2947761b02a52a3.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/5ed/38a/f79/5ed38af791dde4027be07a74a45bd25f.png)
В качестве контроллера мною был выбран ESP8266 в исполнении Wemos D1 mini. Оно идеально своей низкой ценой в районе 200руб, а так же компактным исполнением и USB-TypeC коннектором который позволит подключить данную плату современным кабелем к любому пк.
Я припаял питание ленты к контакту 5V, землю к G, а сигнальный кабель к порту D4. Между лентой и D4 Желательно установить резистор 220-440Ом, но и без резистора все будет работать без проблем.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/53a/2c8/914/53a2c8914f164d550b5ba9ec701e5585.png)
Cейчас я покажу самый простейший способ начать управлять аргб устройствами - прошивка WLED. Для работы с ней не требуется познаний программирования или вообще каких то знаний. Просто идем на сайт онлайн прошивальщика - https://install.wled.me/ , выбираем последнюю версию прошивки, и подключаем esp8266 плату в пк.
Драйверы должны подхватиться сами, а в системе появится новый COM порт. Жмем INSTALL на странице, и выбираем COM порт который появился при подключении ESP.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/39d/1ad/192/39d1ad192dc3d05db8037c74589e0ae1.png)
Если все сделано правильно то сайт предложит установить прошивку, жмем INSTALL WLED и ожидаем окончания установки которая занимает около 1 минуты.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/462/e49/eaf/462e49eaf7554256e78e1b484e9bdd9a.png)
После успешной установки можно сразу же ввести логин и пароль от домашней Wfi сети, дабы управлять девайсом из браузера или из мобильного приложения WLED. Если не настроить подключение к сети, то плата сама будет поднимать свою собственную сеть с названием WLED, и при подключении к ней можно управлять лентой вообще не имея домашней wifi сети.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/377/2a3/c68/3772a3c684814d353c4aec8b294feab1.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/12d/bef/808/12dbef808ea6dc78994f122c1a263708.png)
Если не веб интерфейс не работает после прошивки
Такое бывает, первым делом стоит подключить esp8266 в USB3 порт компьютера, и желательно коротким кабелем, юсб3 порт имеет больший рабочий ток а короткий кабель уменьшит падение напряжения на проводах.
Если же это не помогло, то стоит прошить ESP8266 другим способом.
Качаем релиз для вашей платы отсюда https://github.com/Aircoookie/WLED/releases/tag/v0.14.2
Далее идем сюда https://web.esphome.io/ подключаемся и вместо установки esphome, выбираем наш BIN файл прошивки wled и прошиваем его, далее ищем WIFI точку WLED-AP без пароля, подключаемся к ней и настраиваем WIFI.
После успешной установки прошивки, можно подключить управляемые устройства (вентиляторы, ленты, итд) к плате и проверить. Они сразу же включатся и будут светиться оранжевым светом в половину яркости.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/355/58b/5a8/35558b5a859f258d08cd3dcbef191614.png)
Далее идем в настройки (шестеренка справа сверху), далее в led Preferences.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/380/d76/c21/380d76c21102bf45249fc28441ae7cdc.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/c6b/151/ec7/c6b151ec775ae86d6bb877c85e760f50.png)
Настроим ток. В случае с USB3 стоит выставить ток до 0,9А те 900мА. Но на практике я не встречал материнских плат которые не тянут меньше 1,5-1,9А. Напоминаю что обычный светодиод на ws2812 чипе будет потреблять до 60мА, но только если включить белый цвет на максимальной яркости! В таком случае можно рассчитать что при 1А у нас есть бюджет аж на 16 светодиодов, а при 2А уже 32 светодиода. На практике если использовать эффекты wled либо выбрать какой то цвет отличный от белого, общее потребление диодов можно делить в разы
Тут же нужно выставить Количество диодов на канал. Если выставить меньше, то незадействованные диоды либо не будут светиться, либо при включении примут случайный цвет и так и залипнут. Количество диодов нужно подбирать под конкретный случай. Например в моих вентиляторах XPG Hurricane установлено 12 светодиодов. Если подключать все вентиляторы параллельно то в настройках wled достаточно выставить 12 диодов. Passthru коннекторы данных вентиляторов параллельные , поэтому увеличивать количество диодов с каждым подключенным вентилятором просто не требуется.
Если ваши вентиляторы поддерживают последовательное подключение, то соответственно стоит выставить количество диодов равное количеству вентиляторов умноженному на количество диодов в каждом вентиляторе. Например 4 вентилятора по 12 диодов дадут нам всего 48 диодов, именно эту цифру надо вписать в настройках длинны.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/e1a/b90/786/e1ab90786e0c1da3dff4e583d173309a.png)
После настроек идем на главную страницу, включаем эффект радуги, и наслаждаемся RGB подсветкой которая работает без мам, пап, и кривого софта от материнской платы!
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/33a/686/d88/33a686d888a4167b4504f3518401002d.png)
Все мои вентиляторы Xpg hurricane имеют passthru порт, но он параллельный, поэтому выставив 12 светодиодов в настройках WLED у меня все 4 вентилятора получили одну и ту же подсветку.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/c81/b62/efb/c81b62efb510ded88ffe33af0512e8ec.png)
Туда же по цепочке были подключены удлинители для проводов. При особых настройках эффектов, можно получить разные цвета на каждой из трубок для кабеля.
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/626/282/0fa/6262820fac54ba34d1e0488c0ff14d76.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/27f/399/34b/27f39934b5d99fda71ff6693a2b6c7ef.png)
![](https://webcf.waybackmachine.org/web/20240624185924/https://habrastorage.org/getpro/habr/upload_files/bf9/bbd/840/bf9bbd840c89a3998ec4b930430b1e5f.png)
WLED имеет отличную интеграцию в целый список софта для домашней автоматизации, например Home assistant, Domoticz, MQTT и openHAB. Из коробки поддерживает интеграцию в Amazon Echo, Philips Hue sync, итд https://kno.wled.ge/advanced/home-automation/ Поэтому интегрировать подсветку компьютера в умный дом не составит труда.
Кроме того присутствует прекрасный API который позволяет управлять цветом и эффектами через простейшие HTTP запросы или JSON https://kno.wled.ge/interfaces/http-api/ Для более быстрой коммуникации можно посылать те же json запросы но через websockets https://kno.wled.ge/interfaces/websocket/
Любители работать с профессиональным концертным оборудованием оценят интеграцию с DMX и Art-Net https://kno.wled.ge/interfaces/e1.31-dmx/
Вот так просто и с минимальным бюджетом можно управлять компьютерными компонентами с адресной RGB подсветкой.