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

Адресная светодиодная лента Ардуино

Адресная светодиодная лента WS2812B привлекает многих радиолюбителей за возможность создания интересных и ярких проектов на Ардуино с ws2812b светодиодами. Но прежде, чем приступать к новому крутому проекту, следует понять, как подключить и правильно управлять адресной лентой от Ардуино. Рассмотрим в этой статье несколько простых примеров по работе с WS2812B Arduino Uno.

Адресная светодиодная лента Ардуино

Адресные ленты отличаются плотностью — от 30 до 144 светодиодов на метр, изготавливаются разном защитном исполнении: IP30, IP65, IP67, IP68. Все варианты исполнения, кроме IP30, могут применяться на улице в диапазоне температур от -25 до +80°C. Еще одна, более надежная лента — WS2813 отличается возможностью передавать сигналы дальше по цепочке даже через сгоревший чип.

Светодиодная лента WS2812B характеристики

  • Размер светодиода — 5 х 5 мм
  • Частота ШИМ — 400 Гц
  • Скорость передачи данных — 800 кГц
  • Размер данных — 24 бита на светодиод
  • Напряжение питания — 5 Вольт
  • Потребление при нулевой яркости — 1 мА на светодиод
  • Потребление при максимальной яркости — 60 мА на светодиод
  • Цветность: RGB, 256 оттенков на канал, 16 миллионов цветов

Характеристики WS2812B адресной светодиодной ленты

Адресная светодиодная лента ws2812b — это вершина эволюции лент. Каждый светодиод в ленте состоит из обычного RGB светодиода и контроллера с тремя транзисторными выходами. Благодаря этому есть возможность управлять цветом любого светодиода и создавать потрясающие цветовые и световые эффекты. Именно поэтому устройство пользуется популярностью, несмотря на высокую стоимость.

Как проверить адресную ленту без Ардуино

Многих интересует, как включить адресную ленту без Ардуино и проверить ее на работоспособность. Если просто подключить питание к ленте, то ничего не произойдет — проверить ленту без контроллера нельзя. Если задеть цифровой вход адресной ленты, то могут загореться несколько светодиодов из-за случайных помех, которые воспринимаются контроллерами ws2812b светодиодов, как команды.

Если под рукой нет платы Ардуино, то можно использовать для проверки специальный контроллер. В крайнем случае, просто потрогать цифровой провод, чтобы понять будут гореть светодиоды на ленте или нет. Другого надежного способа проверить работу ws2812b ленты нет, поэтому рассмотрим далее управление и программирование адресной светодиодной ленты на микроконтроллере Ардуино Нано или Уно.

Как подключить адресную ленту к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • лента WS2812B;
  • макетная плата;
  • 1 резистор от 100 до 500 Ом;
  • провода «папа-папа».
Читайте также:  Краска по шведскому рецепту своими руками

WS2812B светодиоды довольно энергоемкие, один светодиод потребляет до 60 мА при максимальной яркости. Для ленты со 100 диодами потребуется блок питания на 6 и более Ампер. Микроконтроллер Arduino и светодиодная лента могут быть подключены к разным источникам питания, но «земля» должна быть общая. Дело в том, что пин GND тоже участвует в управлении адресной лентой от платы Ардуино Уно.

Схема подключения адресной ленты 5 Вольт к Ардуино

WS2812B Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
5V 5V 5V 5V
DO 10 10 10

Для работы с лентой используются три популярные библиотеки — FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки доступны для скачивания на нашем сайте здесь. Работать с библиотеками FastLED и Adafruit NeoPixel просто, отличаются они в функциональности и объеме занимаемой памяти. После сборки этой простой схемы и установки библиотек, загрузите скетч для адресной светодиодной ленты.

Скетч. Тестирование адресной ленты WS2812

Пояснения к коду:

  1. нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».

Схема подключения адресной ленты 12 Вольт к Ардуино

Если у вас лента на 12 Вольт, то ее нужно подключать по схеме, размещенной выше. Резистор на цифровом пине защищает его от выгорания (если питание к ленте будет отключено, то она начнет питаться от цифрового пина, при этом пин может выгореть. Также не стоит подключать питание ленты к плате Ардуино, иначе может выгореть защитный диод на Ардуино или USB порт на компьютере (в худшем случае).

Скетч. Управление адресной лентой Ардуино

Пояснения к коду:

  1. с помощью библиотеки Adafruit NeoPixel довольно просто управлять адресной лентой. В примерах к библиотеке можно найти много различных эффектов. Мы продемонстрировали простой вариант с циклом for для включения ленты.

Заключение. В этом обзоре мы рассмотрели лишь подключение и возможность управления адресной лентой от Ардуино. Так как возможности работы с библиотеками FastLED, AdafruitNeoPixel довольно разнообразны. Больше интересных примеров на Arduino и WS2812B размещено в разделе Проекты на Ардуино, где представлены проекты с бегущей строкой на адресной ленте и другие световые эффекты.

Источник

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

ОБНОВЛЕНИЯ

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 цветов по кругу Иттена)
  • Тройной клик: предыдущий цвет
  • Удержание: смена яркости

Источник

Читайте также:  Монтаж кухни своими руками пошагово для начинающих
Оцените статью
Своими руками