Rgb контроллер своими руками atmega8

Светодиодный контроллер своими руками

ОБНОВЛЕНИЯ

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 диодов на метр, чтобы иметь хороший запас по яркости даже на одном цвете.

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

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

Вывод: если контроллер не планируется использовать для видео света, то можно поставить 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, от блока питания или батареи из трёх литиевых аккумуляторов. При питании от аккумуляторов предусмотрен «вольтметр» – делитель напряжения на резисторах, позволяющий измерить напряжение на батарее для вывода его на дисплей.

Софтовые фишки

  • Автоматическое отключение дисплея по таймауту неактивности
  • Несколько вариантов частоты ШИМ для драйвера:
    • 490 Гц – для дешёвых LED усилителей
    • 8 кГц – слышно, как пищит
    • 4 кГц – работает только на самодельном драйвере
    • Настраиваемая до герца
  • Настраиваемое направление работы ШИМ (для готовых и самодельных усилителей)
  • Автоматическое ограничение тока потребления на основе количества светодиодов и яркости каналов цвета
  • Вывод напряжения питания на дисплей в вольтах или процентах
  • Режим поддержания яркости при разрядке аккумулятора (при полном заряде чуть занижает яркость)
  • Коррекция яркости по CRT гамме
  • Матрица коррекции LUT
  • 10 настраиваемых профилей
  • 11 настраиваемых режимов работы для каждого профиля, из них 5 статических и 6 динамических
  • Настройки хранятся в EEPROM и не сбрасываются при перезагрузке
  1. RGB– цвет в пространстве RGB
    • BR – яркость (0-255)
    • R – красный (0-255)
    • G – зелёный (0-255)
    • B – синий (0-255)
  1. HSV– цвет в пространстве HSV
    • HUE – цвет (0-255)
    • SAT – насыщенность (0-255)
    • VAL – яркость (0-255)
  1. Color– яркий цвет
    • BR – яркость (0-255)
    • COL – номер цвета (0-1530)
  1. ColorSet– предустановленные цвета
    • BR – яркость (0-255)
    • COL – цвет
      • WHITE
      • SILVER
      • GRAY
      • BLACK
      • RED
      • MAROON
      • YELLOW
      • OLIVE
      • LIME
      • GREEN
      • AQUA
      • TEAL
      • BLUE
      • NAVY
      • PINK
      • PURPLE
  1. Kelvin– установка цветовой температуры
    • BR – яркость (0-255)
    • TEMP – цветовая температура, К (1000-10000)
  1. ColorW– плавная смена цвета
    • BR – яркость (0-255)
    • SPD – скорость (0-1000)
    • STP – шаг (0-500)
  1. Fire– стандартный огонь
    • BR – яркость (0-255)
    • SPD – скорость (0-1000)
    • STP – шаг (0-500)
  1. FireM– ручной огонь
    • BR – макс. яркость (0-255)
    • COL – цвет (0-255)
    • SPD – скорость (0-1000)
    • MIN – мин. яркость (0-255)
  1. Strobe– стробоскоп
    • HUE – цвет (0-255)
    • SAT – насыщенность (0-255)
    • VAL – яркость (0-255)
    • SPD – скорость (0-1000)
  1. StrobeR– стробоскоп со случайным периодом
    • HUE – цвет (0-255)
    • SAT – насыщенность (0-255)
    • VAL – яркость (0-255)
    • SPD – скорость (0-1000)
  1. Police– мигалки
    • BR – яркость (0-255)
    • SPD – скорость (0-1000)

Энкодер

  • Кнопка удержана около секунды – вкл/выкл светодиоды
  • Кнопка клик – навигация: выбор профиля -> выбор режима -> выбор настройки
  • Смена профиля – поворот рукоятки
  • Смена режима – поворот рукоятки
  • Смена настройки – поворот рукоятки
  • Выбор настройки – нажатие, удержание и поворот рукоятки
Читайте также:  Как сделать вентилятор для дымогенератора своими руками

ИК пульт

  • Кнопки 09 – быстрый переход к профилю с номером
  • Кнопки * и # – вкл и выкл систему
  • Кнопка ОК – навигация: профиль -> режим -> настройка
  • Кнопки вправо/влево – смена профиля/меню/настройки
  • Кнопки вверх/вниз – изменение выбранной настройки

Bluetooth

Загрузить приложение GyverRGB (для Android) и наслаждаться!

Кнопка (с версии 1.2)

  • Клик: включить/выключить ленту
  • Двойной клик: следующий пресет
  • Тройной клик: предыдущий пресет
  • Удержание: смена яркости

Кнопка вариант 2 (с версии 1.3)

  • Клик: включить/выключить ленту
  • Двойной клик: следующий цвет (12 цветов по кругу Иттена)
  • Тройной клик: предыдущий цвет
  • Удержание: смена яркости

Источник

Rgb контроллер своими руками atmega8

Побегав по форуму не нашёл конструкций на RGB светодиодах. А так как скоро новый год — решил восполнить эту нишу.
Конструкция выполнена на всеми горячо любимой Меге 8. Исходный код на бэйсике честно содран с немецкого сайта http://www.ledstyles.de/ftopic13581.html .
C небольшими изменениями выкладываю его здесь. Изменения коснулись только кварца(точнее я его просто убрал) и переназначение ножек кнопок(так удобнее плату разводить было).

Кнопки служат для выбора режимов. А с помощью переменника можно зажигать любое количество диодов от 1-го до восьми. Свою плату делал на двухстороннем текстолите методом ЛУТ.
Транзисторы использовал MMBT3904(лучше поставить что-нибудь помощнее, например BC817). Светодиоды RGB 3528.
Резисторы и конденсаторы типоразмера 0805.Стабилизатор напряжения 7805(в моём случае 78M05). В качестве блока питания используется зарядка для телефона.

Память микроконтроллера использована всего на половину, поэтому можно добавить ещё кучу эффектов.
Да, fuse-биты выставлены на 8 МГц от внутреннего генератора.

Фото и видео c близкого расстояния оооочень низкого качества(снимал мобильником — видеокамеры не имею),прошу сильно не ругаться:


Источник

Трехканальный RGB контроллер подсветки панели приборов автомобиля на Atmega8

Автор: AntonChip. Дата публикации: 05 марта 2015 .

Контроллер имеет на борту 3 RGB канала, которые настраиваются по отдельности. 1 и 2 каналы привязаны к первому и второму логическим входам управления. Третий RGB канал для подсветки тахометра, с этим каналом связан выход тахометра. При превышении заранее установленного числа оборотов двигателя RGB канал сначала мигает красным цветом и включается зуммер, если обороты уменьшатся цвет канала возвращается к исходному состоянию, если обороты не уменьшаются канал остается гореть красным цветом, а зуммер выключается.

Устройство реализовано на микроконтроллере ATmega8, который тактируется от внешнего кварцевого резонатора частотой 8МГц. В качестве источника напряжения 5 Вольт использован линейный LowDrop стабилизатор. Единственный управляющий элемент энкодер, который отщелкивает 24 импульса на оборот. Полевые транзисторы P-канальные, можно использовать любые принимая во внимание мощность нагрузки, я использовал транзисторы с материнской платы 06N03. Широтно импульсный сигнал для RGB каналов реализован программно.

Читайте также:  Как самой сделать молды своими руками

Алгоритм работы устройства

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

Если на входе 1 лог. ноль первый RGB канал плавно потухнет с соответствующей задержкой.
Если на входе 2 лог. ноль второй RGB канал плавно потухнет с соответствующей задержкой.
Если на входе 1 и 2 лог. ноль все RGB каналы по очереди плавно потухнут с соответствующей задержкой.
Если на входе 1 лог. единица первый и третий RGB каналы плавно разгорятся с соответствующей задержкой.
Если на входе 2 лог. единица второй и третий RGB каналы плавно разгорятся с соответствующей задержкой.

Если включить контроллер с нажатой кнопкой энкодера включится функция тестирования RGB светодиодов.

В обычном режиме при повороте ручки энкодера меняется общая яркость.

Программирование настроек RGB каналов и задержек.

Если в режиме настройки кнопка энкодера не нажималась более 30 сек. произойдет автоматический выход из режима настроек с сохранением их в памяти. При нажатии на кнопку энкодера:

Число нажатий

на кнопку

энкодера

Число вспышек

канала

Настраиваемый параметр

(поворотом ручки энкодера)

1 1 канал 1 Цвет 2 1 канал 2 Насыщенность 3 1 канал 3 Яркость 4 1 канал 4

Задержка плавного включения/выключения

желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек

5 2 канал 1 Цвет 6 2 канал 2 Насыщенность 7 2 канал 3 Яркость 8 2 канал 4

Задержка плавного включения/выключения

желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек

9 2 канал 1 Цвет 10 2 канал 2 Насыщенность 11 2 канал 3 Яркость 12 2 канал 4

Задержка плавного включения/выключения

желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек

3 Сохранение настроек в памяти

Программирование отсечки по оборотам двигателя:

Запустить двигатель, включить RGB контроллер, установить максимальные обороты двигателя нажав на педаль газа и нажать на кнопку энкодера, по истечению трех секунд третий канал мигнет 3 раза, после отпустить кнопку и отпустить педаль газа. Все RGB каналы мигнут 3 раза подтверждая сохранение настройки в память контроллера.

Видео работы RGB контроллера

Источник

Оцените статью