Как сделать rgb свет управляемый с компьютера

Обновлено: 03.07.2024

• 30.05.19 Версия 1.0: первоначальная, вроде бы стабильная версия
• 05.06.2019 Версия 1.1:
– Добавлена настройка MIN_PWM
– Добавлена коррекция гаммы, настройка GAMMA_BRIGHT
• 10.06.2019 Версия 1.2: Добавлено управление кнопкой
• 12.07.2019 Версия 1.5 + приложение v1.2: добавлен белый канал света. Приложение работает только на 1.5 и выше!
• 27.07.2019 Версия 1.6: исправлены ошибки компиляции и баги с кнопкой
• 01.09.2019: исправлена плата Gerber_GyverRGB_DIP, подробности смотрите ниже
• 27.09.2019 Версия 1.7: исправлено запоминание настроек при управлении по BT

ОПИСАНИЕ

Захотелось мне сделать RGB свет для видео из китайских компонентов. RGB – значит нужен ШИМ контроллер, значит нужно его сделать! Вот и сделал: GyverRGB – контроллер для RGB светодиодных лент со множеством режимов и настроек, модульной структурой и различными способами управления.

Железо

Используется обыкновенная RGB светодиодная лента с общим анодом (контакты 12V G R B). Я использовал два ряда ленты с плотностью 120 диодов на метр, чтобы иметь хороший запас по яркости даже на одном цвете.

blank

В проекте используется Arduino NANO (микроконтроллер ATmega328p). В качестве 100% совместимого аналога можно использовать Arduino UNO/Pro Mini.

Я рассматривал два варианта драйвера для светодиодной ленты: китайский RGB LED amplifier и самодельный драйвер из трёх МОСФЕТ (полевых) транзисторов. LED amplifier очень удобен в подключении, но имеет жуткий недостаток: на высоких частотах у него поднимается нижний порог яркости, что приводит к трате оттенков и вообще некорректной работе режимов.

blank

Вывод: если контроллер не планируется использовать для видео света, то можно поставить LED amplifier и в настройках контроллера поставить низкую частоту (490 Гц), глаз такую частоту не заметит, но снятое на камеру видео будет «стробить». Если планируется использовать контроллер для создания видео света, то в обязательном порядке нужно делать свой драйвер. Также свой драйвер позволит работать с большими отрезками ленты, т.к. транзисторы можно поставить очень мощные.

Полевой транзистор подойдёт практически любой (99%), наковырять можно из материнской платы. Список популярных МОСФЕТов в корпусе to-220: IRF3205, IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF (в порядке роста стоимости). Список популярных МОСФЕТов в корпусе D-pak: STD17NF03LT4, IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF (в порядке роста стоимости).

Управление контроллером предусмотрено тремя способами:

  • Энкодер – китайский модуль в двух вариантах
  • ИК пульт – продаётся вместе с приёмником-модулем, но удобнее монтировать отдельный приёмник
  • Кнопка – обычная нормально-разомкнутая тактовая кнопка
  • Bluetooth – управление с приложения GyverRGB для Android

Питается система от 12V, от блока питания или батареи из трёх литиевых аккумуляторов. При питании от аккумуляторов предусмотрен «вольтметр» – делитель напряжения на резисторах, позволяющий измерить напряжение на батарее для вывода его на дисплей.

Всем привет. Сегодня расскажу как создать свой режим RGB подсветки в игровом компьютере, если у вас в ПК используются ленты и кулеры с адресными светодиодами, и как управлять с помощью жестов и даже музыки.

У меня материнская плата Asrock AB350 Pro не предназначена для управления подсветкой ARGB кулеров и светодиодных лент и вот как раз для таких ситуаций придумали отдельный контроллер. Поговорим сегодня про Codi6 от Gelid Solutions, который можно самому программировать за пару минут.

Технические характеристики

  • 6 независимых каналов управления ARGB подсветкой
  • 6 PWM разъемов подключения вентиляторов
  • Программирование на Arduino и наличие семплов в свободном доступе

Разбор работы Codi6 проведем на примере двух вентиляторов Radiant-D, которые имеют по 9 адресных светодиодов. У меня таких вентиляторов с подсветкой два. Дополнительно для управления подсветкой к контроллеру можно подключать различные сенсоры и датчики и у меня есть микрофон и дальномер.


Игровой вентилятор с подсветкой Radiant-D имеет размер 120мм. К основным техническим характеристикам отнесем наличие двойного шарико-подшипника, 9 ARGB светодиодов, PWM управление, бесшумный мотор. Частота вращения регулируется от 500 до 2000 оборотов в минуту. На обратной стороне коробки приведены более полные данные.



В комплекте идет 4 винта для крепления игрового вентилятора и сама вертушка. Из вентилятора идет 2 кабеля: один для регулирования частоты вращения, а второй для управления подсветкой. Крыльчатка вентилятора имеет матовый молочный цвет и края с зубами. На обратной стороне вентилятора указаны рабочее напряжение 12В и ток в 0.35А.







Управлять вентиляторами будет Codi6. Это контроллер, который выполнен на базе Arduino Uno. Он может управлять и светодиодными лентами, но у меня их нет с ARGB светодиодами. Контроллер поставляется в небольшой коробке. На обратной стороне приведены основные характеристики, которые указаны в начале статьи.



Внутри коробки находятся:

С самой платы выведены все разъемы и готовы к подключению, а сама Arduino Uno находится в прозрачном акриловом корпусе. На корпусе платы имеется разъем для подключения к внешнему источнику питания за пределами компьютера. К примеру, взяли блок питания от какого-то зарядного устройства и подключили в розетку. Для сброса настроек есть красная кнопка. Еще на плате есть черная кнопка, которую можно программировать. В видео будет пример выполнения скетча(кода), когда режим свечения подсветки меняется при нажатии на эту кнопку. Так же вынесены разъемы для подключения внешних сенсоров и датчиков. То есть можно настроить подсветку в игровом компьютере в зависимости от температуры в корпусе, уровня шума или даже управлять жестами.




Я буду подключать микрофон и дальномер, но в комплекте они не идут. Codi6 состоит только из контроллера на базе Arduino Uno.


Инструкции в комплекте нет, поэтому переходим на сайт производителя.

Там все очень просто расписано даже с картинками и подключение занимает всего пару минут. Постараюсь очень коротко, чтобы не утомить. Подключаем контроллер проводами к материнской плате и Sata разъемом к блоку питания. Далее устанавливаем драйвер CH340 USB и устанавливаем Arduino IDE. Далее в Диспетчере устройств смотрим, на какой СОМ-порт установился наш контроллер. После этого запускаем Arduino IDE и там уже указываем наш СОМ-порт. И осталось всего лишь скачать библиотеку Fastled. Теперь можно самому написать код для управления подсветкой, а можно воспользоваться примерами с сайта производителя.


Настраивать подсветку из примера кода с сайта можно как хочешь. Можно, чтобы горели не все светодиоды, а только какое-то определенное количество. Можно отключить подсветку одного вентилятора, а второй чтобы сверкал. Это свободное поле для фантазии. С другой стороны теперь не скажешь, что RGB подсветка — это баловство. Таким нехитрым способом ребенка можно заинтересовать программированием. Конечно, если вы дружите с радиодеталями и паяльником, то такую плату сможете собрать и самостоятельно, но Codi6 является готовым продуктом для людей, которые не обладают особыми знаниями.


Пример работы подсветки с переключением режимов программируемой кнопкой и вообще как работают вентиляторы Radian-D можно в видео ниже. Там же показан принцип работы в зависимости от уровня громкости музыки. Ну и дальномер может регулировать подсветку при входе в комнату или когда подносите руку. Сам по себе Codi6 мне понравился, потому что очень легок в освоении и пару часов я провел очень интересно, узнавая что-то новое.

А вы знали, что существуют лампочки, которые могут светиться всеми цветами радуги и управляться голосом? Переключение из цветного игрового режима к офисному или школьному освещению — с экрана телефона.

Видеоигры любят многие. Не только продвинутые геймеры. Сам не прочь скоротать часок за игрой. Помогает расслабиться и снять стресс.

Не каждому по карману полноценная геймерская подсветка. Поэтому вариант с универсальной лампочкой, которая подойдет не только геймеру, но и любителю чтения, например, считаю самым подходящим.

Yeelight Smart LED Bulb W3 E27 YLDP005 (Colour) выглядит как обычная лампочка. И это очень хорошо. Вкручивается в стандартный цоколь E27. Наверняка почти в каждом доме есть настольная лампа, которой не нашлось места у компьютера. Подойдет. Главное, чтобы была исправной и выглядела не слишком старомодно.

Уже есть клавиатура и мышь с RGB-подсветкой? Еще лучше — W3 интегрируется с Razer Chroma и Overworld. Поэтому игровое освещение станет работать в комплексе.

Выключатель в смартфоне

Лампа умная. Подключена к домашней беспроводной сети через Wi-Fi роутер. Диапазон — 2,4 ГГц. Управляется через приложение Yeelight.

Управляю лампой с телефона. Соответственно, выключатель в кармане. Если забыл выключить свет, возвращаться не стану. Несколько тапов по экрану и лампа погаснет.

Слушается голосовых команд через Ассистент Google или Amazon Alexa, а также может управляться Яндекс Алисой, что актуальнее.

Лампа для настольного светильника в домашнем офисе

Когда закончилась игра и пора вернуться к работе, установите в режим классического освещения. В данном качестве тоже хороша. Поддерживает диапазон цветовых температур от 1700K до 6500K. От очень холодного до уютного теплого.

Предпочитаю более прохладные бодрящие тона в дневное время. Делаю освещение теплее ближе к вечеру, когда пора расслабить глаза и мысли и настроится на отдых и сон.

Цветомузыка и праздники

Расслабляюсь под любимую музыку и W3 меняет цвета в такт мелодии. Подумал, что понравится детям. Хорошая импровизация в День Рождения — любимая песня ребенка с визуальным сопровождением.

Выбираю из предусмотренных сценариев. Их предостаточно. И ночной, благодаря которому W3 превращается в удобный ночник. И режим просмотра фильмов — синее атмосферное освещение.

Настольная лампа ученика

В 2021 году необходимо, чтобы освещение на компьютерном столе соответствовало технике. Сегодняшним школьникам жить и работать в мире, где ПК и мобильные девайсы играют огромную роль. Комфортное освещение рабочего стола играет не меньшую роль, чем рюкзак и его содержимое.

Навыки обращения с цифровой техникой важны. И начинать лучше с простых вещей. Тем более, что ни лишних денег, ни свободного места зачастую нет.

Если не покупать новый светильник, можно превратить старый в умную лампу с RGB. Комфортное для зрения освещение плюс игровая подсветка. Дети в 21 веке играют за компьютером. Это факт, с которым приходится считаться. Более того — не следует игнорировать обучающие и развивающие игры.

Второй факт — школьнику в 2021 году ближе и понятнее гаджет, чем механический выключатель.

Необходима достаточно яркая для чтения лампа, в идеале с расписанием, которое будет служить своего рода «родительским контролем». В определенное время перейдет в режим ночника. Деликатно напомнит ребенку, что завтра новый учебный день.

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

К таким лентам можно купить источник питания, диммер, диммер с пультом управления. Это позволит вам использовать светодиодную ленту для посветки. Однако если вы захотите запрограммировать алгоритм изменения цвета, или сделать управление из компьютера — то тут начинается разочарование. Вы в продаже не найдете диммеров с управлением через COM-порт или Ethernet.

Я решил эту проблему с помощью Arduino, и хочу поделиться своим вариантом решения с Вами.


Теоретическая часть

Для реализации плавного изменения свечения всех 3 каналов нам потребуется сделать собственный димер. Сделать его очень просто, для этого требуется взять силовые ключи и управлять ими с помощью ШИМ сигнала. Также наш диммер должен быть программируемым и/или управляемым из вне.

В качестве мозгов идеально подходит Arduino. В её программу можно записать любой алгоритм изменения цветов, а также её можно управлять как с помощью модулей Arduino, так и удаленно по Ethernet, Ик-порту, Bluetooth, используя соответствующие модули.

Arduino Leonardo

Для реализации задуманного я выбрал Arduino Leonardo. Она одна из самых дешевых плат Arduino, и она имеет много выводов с поддержкой ШИМ.

И так, источник ШИМ у нас имеется, остаётся придумать с силовыми ключами. Если побродить по интренет магазинам, то выяснится, что не существует модуля Arduino для управления RGB лентами. Или просто универсальных модулей с силовыми транзисторами. Также можно найти огромное количество сайтов радиолюбителей, которые делают платы с силовыми ключами сами.

Однако есть способ проще! Нас выручит модуль Arduino для управления двигателями. Этот модуль имеет все необходимое для нас — на нем установлены мощные ключи на 12В.


Пример такого модуля является «L298N Module Dual H Bridge Stepper Motor Driver Board Modules for Arduino Smart Car FZ0407». Такой модуль основан на микросхеме L298N, которая представляет из себя 2 моста. Однако мостовое включение полезно для двигателя (от этого он может менять направление вращения), а в случае RGB ленты, оно бесполезное.

Мы будем использовать не весь функционал этой микросхемы, а только 3 её нижних ключа, подключив ленту как показано на рисунке.


Практическая часть часть

Для реализации потребуется Arduino Leonardo, Модуль управления двигателями L298N, Источник 12В (для запитки ленты), сама RGB лента, соединительные провода.
Для удобства подключения я еще использовал Fundruino IO Expansion, но он никакой функциональной нагрузки не несет.

Схема подключения показана на рисунке.


Хочу дополнительно описать питание системы. В данной схеме питание подается на модуль управления двигателями, в нем стоит понижающий источник питания на 5В, и эти 5В я подаю на вход Vin питания Arduino. Если разорвать эту связь (естественно земли оставив соединенными), то запитывать Arduino и силовые ключи можно от разных источников питания. Это может быть полезно когда к Arduino много всего подключено, и источник в модуле управления двигателями не справляется (выключается по перегреву).

Управляется RGB лента с помощью команд analogWrite, которая настраивает выход для формирования ШИМ сигнала.

Читайте также: