Arduino rgb controller

RGB контроллер ленты/матрицы

Задача

  • Разработать контроллер RGB светодиода/ленты/COB матрицы
  • Управление с энкодера
  • Индикация – 7 сегментный дисплей
  • Режимы работы: выбор цвета и цветовой теплоты + яркость
  • Запоминать настройки в EEPROM
  • Опционально: управление 4-пин вентилятором по датчику температуры (термистор)

Базовые уроки

  • Энкодер
  • RGB светодиод
  • Термистор
  • 7 сегментный дисплей (урока пока что нет)

Подключение

Вариант с тремя транзисторами и RGB лентой или матрицей, а также термистором и выходом на вентилятор:

Второй вариант схемы – без вентилятора, управляется RGB светодиод. Эту схему можно собрать в рамках набора:

Библиотеки

  • EncButton – энкодер с кнопкой
  • GyverNTC – термистор
  • GRGB – светодиод
  • EEManager – менеджер EEPROM

Для дисплея используется непубличная библиотека SevSeg.h, которую нужно разместить рядом со скетчем

Программа

Полный код проекта есть на GitHub

Первым делом обозначим пины

Подключаем библиотеки и всё настраиваем

В блоке setup() запускаем менеджер EEPROM, настраиваем пины и обновляем дисплей и светодиод:

Функции обновления дисплея и светодиода содержат следующий код:

Для схемы с вентилятором у нас также есть опрос датчика и регулирование по простому линейному закону

Также понадобится глобальная переменная byte dispMode; , которая задаёт текущий режим отображения и настройки: 0 цвет, 1 яркость

В основном цикле программы loop() опрашиваем менеджер памяти, обновляем дисплей, вызываем функцию охлаждения, а также опрашиваем энкодер. Для оптимизации будем опрашивать действия с энкодером только если его опросная функция возвращает значение больше 0:

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

Полный код программы можно посмотреть под спойлером:

Источник

jonathanyip/arduino-rgb-controller

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Arduino RGB Controller

Work in Progress. This is a personal project, it’s not really for general distribution.

This Arduino project is to create an ARGB (3-pin) controller for PC RGB fans/peripherals.

With only 1 ARGB motherboard header (3-pin), I was looking for an ARGB controller with multiple ARGB headers.

Sadly, most options are just a splitter or it’s proprietary (cough Corsair). If one wanted to control each RGB fan individually, it would not be possible.

Luckily, I found this controller kit that connects to Arduino Uno digital pins. It surfaces 6 ARGB pins (and PWM fans!).

  • The FastLED seems promising in pushing out the colors. But I would like to control the colors from my computer.
  • It’d also be nice if I could set it up with OpenRGB to get their color customization UI built in.
  • The Arduino should remember my settings ideally. So it needs to store my RGB state in EEPROM.

In short, I’d like to have: PC -> OpenRGB -> (Serial) -> Arduino -> (ARGB Data In) -> RGB Fans

I came up with this circuit diagram before realizing it was already made in this controller board, but it’s still useful to look at, since I believe the board follows the same-ish circuit:

About

This Arduino project is to create an ARGB (3-pin) controller for PC RGB fans/peripherals.

Источник

Arduino rgb controller

Через пару дней новый год, и возможно кто то захочет сделать собственный RGB контроллер на 2 RGB канала, на которые можно вешать аж по 110 метров светодиодной RGB ленты, со своими индивидуальными алгоритмами.

Для этого понадобятся:

Плата Arduino NANO.

Две двенадцати вольтовые RGB ленты.

Кнопка и сопротивление 1-10 килоом.

6 мосфет транзисторов T40N03G или любые другие N-канальные подходящие по мощности.

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

//Начало скетча Копировать этот код

//Конец скетча

В скетче имеется функции:

“button2” — для опроса кнопки, и если кнопка нажата то перейти к следующей функции.

“offRGB” — служит для отключения каналов RGB и обнуления переменных “r, g, b”.

“program1, program2, program3, program4, program5, program6, program7 и program8” — содержат алгоритмы для RGB

Переменные “Speed1, Speed2, Speed3 Speed4=5, Speed5=5, Speed6=5 и Speed7=5” имеют значение “5”. Оно является задержкой, и влияет на скорость выполнения алгоритмов, чем больше это значение тем медленнее скорость выполнения, и наоборот.

Переменная SpeedR = random (2, 10); которая находится в 302 строке, является рандомной задержкой для функции “program8” где значение “2” является минимальным а значение “10” максимальным.

Переменная “x” служит для хранения количества режимов для RGB. Значение “8” означает 9 программы (0, 1, 2, 3, 4, 5, 6, 7, 8) = (offRGB, program1, program2, program3, program4, program5, program6, program7, program8). Если вы измените количество программ, то для корректной работы также необходимо изменить значение переменной “x”.

Можете настроит этот скетч, как вам нравится. Или просто как есть, загрузите на плату, и соберите все, как показано на этой схеме.

После сборки можно подать питание 12 вольт. При запуске будет выполняться нулевая программа с функцией “offRGB” и лента светиться не будет! Нажмите кратковременно на кнопку и цикл перейдет к программе с функцией “program1”, после второго нажатия “program2”, и так далее. После восьмого нажатия “program8” цикл опять перейдет к “offRGB”.

В этой схеме я применил мосфет транзисторы T40N03G. Они выдерживают напряжение до 24 вольт и ток 45 ампер. Этого хватит для подключения 220 метров такой RGB ленты как у меня. Вы можете применить любые другие N-канальные мосфеты которые подойдут вам по мощности, главное соблюдайте распиновку при их подключении, ОНА МОЖЕТ ОТЛИЧАТЬСЯ от распиновки T40N03G!

Источник

Управление RGB лентой с помощью Arduino и драйвера L298N

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

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

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

Добро пожаловать под кат.

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

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

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

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

PWM: 3, 5, 6, 9, 10, 11, and 13. Provide 8-bit PWM output with the analogWrite() function.

И так, источник ШИМ у нас имеется, остаётся придумать с силовыми ключами. Если побродить по интренет магазинам, то выяснится, что не существует модуля 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, которая настраивает выход для формирования ШИМ сигнала.

Исходный код программы для arduino:

На видео можно увидеть как это работает:

Источник

AlexGyver/GyverRGB

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Контроллер для RGB светодиодных лент на Arduino

Многофункциональный контроллер для RGB светодиодов, с кучей режимов и органов управления Страница проекта на сайте: https://alexgyver.ru/GyverRGB/

  • Управление 4-х пиновой RGB светодиодной лентой (R G B +12)
  • Частота ШИМ 8 или 31 кГц (настраивается)
  • 10 настраиваемых пресетов, в каждом настраивается режим и настройки выбранного режима
  • 11 режимов работы: 5 статичных и 6 динамичных
  • Управление с энкодера, ИК пульта или bluetooth (приложение GyverRGB)
  • Вывод меню на OLED дисплей
  • Мониторинг напряжения аккумулятора и вывод на дисплей в процентах/Вольтах
  • Полную информацию смотри в документации

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • libraries — библиотеки проекта. Заменить имеющиеся версии
  • firmware — прошивки для Arduino
  • schemes — схемы подключения компонентов
  • docs — документация
  • utility — вспомогательные программы и прошивки

Материалы и компоненты

Ссылки оставлены на магазины, с которых я закупаюсь уже не один год

Первые ссылки — в основном магазин Great Wall, вторые — WAVGAT. Покупая в одном магазине, вы экономите на доставке! Мосфеты и резисторы можно купить в любом магазине электронных компонентов (ChipDip итд)

Вам скорее всего пригодится

Как скачать и прошить

  • Первые шаги с Arduino — ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
  • Скачать архив с проектом

На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

  • Установить библиотеки в
    C:\Program Files (x86)\Arduino\libraries\ (Windows x64)
    C:\Program Files\Arduino\libraries\ (Windows x86)
  • Подключить внешнее питание 5 Вольт
  • Подключить Ардуино к компьютеру
  • Запустить файл прошивки (который имеет расширение .ino)
  • Настроить IDE (COM порт, модель Arduino, как в статье выше)
  • Настроить что нужно по проекту
  • Нажать загрузить
  • Пользоваться

Настройки в коде

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/

В: Вылетает ошибка загрузки / компиляции! О: Читай тут: https://alexgyver.ru/arduino-first/#step-5

В: Сколько стоит?
О: Ничего не продаю.

Источник

Adblock
detector