- Адресная светодиодная лента Ардуино
- Адресная светодиодная лента Ардуино
- Светодиодная лента WS2812B характеристики
- Как проверить адресную ленту без Ардуино
- Как подключить адресную ленту к Ардуино
- Скетч. Тестирование адресной ленты WS2812
- Пояснения к коду:
- Скетч. Управление адресной лентой Ардуино
- Пояснения к коду:
- Светодиодный контроллер своими руками
- ОБНОВЛЕНИЯ
- ОПИСАНИЕ
- Железо
- Софтовые фишки
Адресная светодиодная лента Ардуино
Адресная светодиодная лента 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
Пояснения к коду:
- нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».
Схема подключения адресной ленты 12 Вольт к Ардуино
Если у вас лента на 12 Вольт, то ее нужно подключать по схеме, размещенной выше. Резистор на цифровом пине защищает его от выгорания (если питание к ленте будет отключено, то она начнет питаться от цифрового пина, при этом пин может выгореть. Также не стоит подключать питание ленты к плате Ардуино, иначе может выгореть защитный диод на Ардуино или USB порт на компьютере (в худшем случае).
Скетч. Управление адресной лентой Ардуино
Пояснения к коду:
- с помощью библиотеки 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 и не сбрасываются при перезагрузке
- RGB– цвет в пространстве RGB
-
- BR – яркость (0-255)
- R – красный (0-255)
- G – зелёный (0-255)
- B – синий (0-255)
- HSV– цвет в пространстве HSV
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- Color– яркий цвет
-
- BR – яркость (0-255)
- COL – номер цвета (0-1530)
- ColorSet– предустановленные цвета
-
- BR – яркость (0-255)
- COL – цвет
- WHITE
- SILVER
- GRAY
- BLACK
- RED
- MAROON
- YELLOW
- OLIVE
- LIME
- GREEN
- AQUA
- TEAL
- BLUE
- NAVY
- PINK
- PURPLE
- Kelvin– установка цветовой температуры
-
- BR – яркость (0-255)
- TEMP – цветовая температура, К (1000-10000)
- ColorW– плавная смена цвета
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- Fire– стандартный огонь
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- FireM– ручной огонь
-
- BR – макс. яркость (0-255)
- COL – цвет (0-255)
- SPD – скорость (0-1000)
- MIN – мин. яркость (0-255)
- Strobe– стробоскоп
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- StrobeR– стробоскоп со случайным периодом
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- Police– мигалки
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
Энкодер
- Кнопка удержана около секунды – вкл/выкл светодиоды
- Кнопка клик – навигация: выбор профиля -> выбор режима -> выбор настройки
- Смена профиля – поворот рукоятки
- Смена режима – поворот рукоятки
- Смена настройки – поворот рукоятки
- Выбор настройки – нажатие, удержание и поворот рукоятки
ИК пульт
- Кнопки 0–9 – быстрый переход к профилю с номером
- Кнопки * и # – вкл и выкл систему
- Кнопка ОК – навигация: профиль -> режим -> настройка
- Кнопки вправо/влево – смена профиля/меню/настройки
- Кнопки вверх/вниз – изменение выбранной настройки
Bluetooth
Загрузить приложение GyverRGB (для Android) и наслаждаться!
Кнопка (с версии 1.2)
- Клик: включить/выключить ленту
- Двойной клик: следующий пресет
- Тройной клик: предыдущий пресет
- Удержание: смена яркости
Кнопка вариант 2 (с версии 1.3)
- Клик: включить/выключить ленту
- Двойной клик: следующий цвет (12 цветов по кругу Иттена)
- Тройной клик: предыдущий цвет
- Удержание: смена яркости
Источник