Как управлять rgb лентой

от admin

Многоцветная RGB-светодиодная лента. Как управлять цветом с помощью RGB контроллера?

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

Но для подсветки потолков в квартире (в отличии от освещения баров или ночных клубов) особой крутизны и навороченности не требуется. Вполне достаточно RGB-контроллера вот с таким дистанционным пультом управления.

Пульт управления контроллером для RGB-ленты

Видите разноцветные кнопки? Эти кнопки предназначены для управления цветом светодиодной RGB-ленты. Нажимаете на красную кнопку, лента светится красным, нажимаете на желтую — желтым. Когда я впервые взял такой пульт в руки, то баловался им, как ребенок, минут тридцать. На самом деле, это прикольно.

RGB-лента может светиться любым светом

Именно у этого контроллера, есть очень полезная опция — регулировка яркости свечения. Это белые кнопки в верхнем ряду: левая увеличивает яркость, правая уменьшает. Вы можете, одним движением пальца менять режимы освещения в комнате, в зависимости от ситуации. Например:

Режим "Яркий свет" — цвет белый, яркость свечения на максимум. Основной режим, при котором просто светло.

Режим "Ночник" — у вас маленький ребенок, который боится засыпать в темноте. Ставим светло-голубое свечение и яркость на минимум.

Режим "Медитация" — вы занимаетесь йогой, медитацией или просто любите посидеть в кресле и расслабиться. Включайте спокойную музыку, зеленый цвет и получайте удовольствие.

Режим "Романтика" — вы решили не ходить в ресторан и устроить романтический ужин на двоих у себя дома. Чтобы создать романтическую обстановку, установите светло-красный цвет и приглушите яркость. Уверяю, вам понравиться.

Режим "Танцы" — вы решили с друзьями немного повеселиться у вас дома. Выпили, закусили, поговорили, пошутили. Захотели танцевать. Выбираем режим со светодинамикой, регулируем скорость мигания и пляшем. Конечно, это не светомузыка и RGB-лента не будет мигать в такт с вашими движениями, но это и не так уж и важно.

В чем фишка RGB-ленты?

За счет чего она становится многоцветной? Поясняю. Внутри RGB-светодиода установлено три кристалла: красный (Red), зеленый (Green) и синий (Blue). Когда свет от этих кристаллов смешивается в разных пропорциях, на выходе получаются разные цвета.

Оттенков может быть бесконечно много. По сути разработчики объединили три ленты разных цветов в одну. Поэтому, у многоцветной светодиодной ленты не два питающих провода (плюс и минус), а четыре. Три на каждый цвет и один провод общий.

Многоцветная RGB-лента SMD 5050

Для того, чтобы управлять цветом свечения многоцветной ленты, необходим контроллер. Контроллер — это (выражаясь понятным языком) коробочка, к которой с одного конца подключается блок питания, а с другого светодиодная RGB-лента.

Каждый провод RGB-ленты подключается к соответствующему разъему

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

Контроллер для светодиодной ленты RGB

Инфракрасный датчик (ИК-датчик) улавливает сигналы, которые передает пульт управления и передает их контроллеру. А контроллер уже включает выбранный вами режим освещения. Схема подключения RGB-ленты выглядит так.

Схема подключения RGB-светодиодной ленты

Блок питания и контроллер необходимо подбирать, исходя из потребляемой мощности ленты. Расчет мощности — очень важная вещь. Ошибетесь в расчетах и контроллер у вас выйдет из строя через несколько минут. С блоком питания проще: если вы ошибетесь, он просто не включится (сработает защита).

Важный момент!

Общая длина светодиодной ленты не должна превышать 5 метров. Меньше можно, больше нельзя. Это связано с тем, что токоведущие дорожки на самой ленте рассчитаны на ток 2 Ампера. Поэтому, если подключить не 5, а например 7 метров, то работать-то будет, но не долго.

Длина ленты не должна быть больше 5 метров

Как быть если нужно подключить светодиодную ленту длиной более 5 метров? Давайте рассмотрим пример, когда для подсветки потолка нужно установить 9 метров RGB-ленты.

С пятью метрами мы разобрались, тут все без изменений. А вот для продолжения потребуется RGB-усилитель. Это (опять же выражаясь простым языком) еще одна коробочка, к которой с одной стороны подключается конец первой ленты (которая 5-метровая), а с другой стороны, начало второй ленты (которая 4-метровая). И обязательно, еще один блок питания.

Чтобы увеличить длину ленты, используется RGB-усилитель

Таким образом, с помощью RGB-усилителя и дополнительного блока питания, мы соединили две ленты (5 и 4 метра) и получили общую длину девять метров. Данная схема подключения, позволяет создавать подсветку любой длины.

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

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

К таким лентам можно купить источник питания, диммер, диммер с пультом управления. Это позволит вам использовать светодиодную ленту для посветки. Однако если вы захотите запрограммировать алгоритм изменения цвета, или сделать управление из компьютера — то тут начинается разочарование. Вы в продаже не найдете диммеров с управлением через 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, которая настраивает выход для формирования ШИМ сигнала.

Гайд по адресной светодиодной ленте

Данный гайд посвящен адресной светодиодной ленте применительно к использованию с микроконтроллерами (Arduino, esp8266). Рассмотрены базовые понятия, подключение, частые ошибки и места для покупки.

КУПИТЬ АДРЕСНУЮ ЛЕНТУ

Лента WS2812

  • Giant4 30 LED
  • Giant4 60 LED
  • Giant4 144 LED
  • AliExpress
  • AliExpress
Гибкий профиль

  • AliExpress
  • AliExpress
  • AliExpress
Гирлянда

  • Giant4 (РФ)
  • Giant4 (РФ)
  • AliExpress
Полоски

  • AliExpress
  • AliExpress
Кольца

  • AliExpress
  • AliExpress
  • AliExpress
Матрицы

  • Giant4 16×16
  • Giant4 32×8
  • AliExpress
  • AliExpress
  • Black PCB / White PCB — цвет подложки ленты, чёрная / белая
  • 1m/5m — длина ленты в метрах
  • 30/60/74/96/100/144 — количество светодиодов на 1 метр ленты
  • IPXX – влагозащита
    • IP30 лента без влагозащиты
    • IP65 лента покрыта силиконом
    • IP67 лента полностью в силиконовом коробе

    ТИПЫ АДРЕСНЫХ ЛЕНТ

    Сейчас появилось несколько разновидностей адресных светодиодных лент, они основаны на разных светодиодах. Рассмотрим линейку китайских чипов с названием WS28XX.

    Чип Напряжение Светодиодов на чип Кол-во дата-входов Купить в РФ
    WS2811 12-24V 3 1 30 led, 60 led
    WS2812 3.5-5.3V 1 1 30 led, 60 led, 144 led
    WS2813 3.5-5.3V 1 2 (дублирующий) 30 led, 60 led
    WS2815 9-13.5V 1 2 (дублирующий) 30 led, 60 led
    WS2818 12/24V 3 2 (дублирующий) 60 led

    У двухпиновых лент из линейки WS28XX достаточно подключить к контроллеру только пин DI, пин BI подключать не нужно. При соединении кусков ленты нужно соединять все пины!

    blank

    WS2811 (WS2818) и WS2812

    Сейчас популярны два вида ленты: на чипах WS2812b и WS2811 (и новая WS2818). В чём их разница? Чип WS2812 размещён внутри светодиода, таким образом один чип управляет цветом одного диода, а питание ленты – 5 Вольт. Чип WS2811 и WS2818 размещён отдельно и от него питаются сразу 3 светодиода, таком образом можно управлять цветом только сегментами по 3 диода в каждом. А вот напряжение питания у таких лент составляет 12-24 Вольта!

    ЧТО ТАКОЕ АДРЕСНАЯ ЛЕНТА

    Итак, данный гайд посвящен адресной светодиодной ленте, я решил сделать его познавательным и подробным, поэтому дойдя до пункта “типичные ошибки и неисправности” вы сможете диагностировать и успешно излечить косорукость сборки даже не читая вышеупомянутого пункта. Что такое адресная лента? Рассмотрим эволюцию светодиодных лент.

    Обычная светодиодная лента представляет собой ленту с напаянными светодиодами и резисторами, на питание имеет два провода: плюс и минус. Напряжение бывает разное: 5 и 12 вольт постоянки и 220 переменки. Да, в розетку. Для 5 и 12 вольтовых лент нужно использовать блоки питания. Светит такая лента одним цветом, которой зависит от светодиодов.

    RGB светодиодная лента. На этой ленте стоят ргб (читай эргэбэ – Рэд Грин Блю) светодиоды. Такой светодиод имеет уже 4 выхода, один общий +12 (анод), и три минуса (катода) на каждый цвет, т.е. внутри одного светодиода находится три светодиода разных цветов. Соответственно такие же выходы имеет и лента: 12, G, R, B. Подавая питание на общий 12 и любой из цветов, мы включаем этот цвет. Подадим на все три – получим белый, зелёный и красный дадут жёлтый, и так далее. Для таких лент существуют контроллеры с пультами, типичный контроллер представляет собой три полевых транзистора на каждый цвет и микроконтроллер, который управляет транзисторами, таким образом давая возможность включить любой цвет. И, как вы уже поняли, да, управлять такой лентой с ардуино очень просто. Берем три полевика, и ШИМим их analogWrit’ом, изи бризи.

    Адресная светодиодная лента, вершина эволюции лент. Представляет собой ленту из адресных диодов, один такой светодиод состоит из RGB светодиода и контроллера. Да, внутри светодиода уже находится контроллер с тремя транзисторными выходами! Внутри каждого! Ну дают китайцы блэт! Благодаря такой начинке у нас есть возможность управлять цветом (то бишь яркостью r g b) любого светодиода в ленте и создавать потрясающие эффекты. Адресная лента может иметь 3-4 контакта для подключения, два из них всегда питание (5V и GND например), и остальные (один или два) – логические, для управления.

    Лента “умная” и управляется по специальному цифровому протоколу. Это означает, что если просто воткнуть в ленту питание не произойдет ровным счётом ничего, то есть проверить ленту без управляющего контроллера нельзя. Если вы потрогаете цифровой вход ленты, то скорее всего несколько светодиодов загорятся случайными цветами, потому что вы вносите случайные помехи, которые воспринимаются контроллерами диодов как команды. Для управления лентой используются готовые контроллеры, но гораздо интереснее рулить лентой вручную, используя, например, платформу ардуино, для чего ленту нужно правильно подключить. И вот тут есть несколько критических моментов:

    ОСОБЕННОСТИ ПОДКЛЮЧЕНИЯ

    1) Команды в ленте передаются от диода к диоду, паровозиком. У ленты есть начало и конец, направление движение команд на некоторых моделях указано стрелочками. Для примера рассмотрим ws2812b, у нее три контакта. Два на питание, а вот третий в начале ленты называется DI (digital input), а в конце – DO (digital output). Лента принимает команды в контакт DI! Контакт DO нужен для подключения дополнительных кусков ленты или соединения матриц.

    2) Если в схеме возможна ситуация, при которой на ленту не будет подаваться питание 5V, но будет отправляться сигнал с микроконтроллера – лента начнёт питаться от дата-пина. В этом случае может сгореть как первый светодиод в ленте, так и пин контроллера. Не испытывайте удачу, поставьте резистор с сопротивлением 200-500 Ом. Точность резистора? Любая. Мощность резистора? Любая. Да, даже 1/4.

    2.1) Если между лентой и контроллером (Arduino) большое расстояние, т.е. длинные провода (длиннее 50 см), то сигнальный провод и землю нужно скрутить в косичку для защиты от наводок, так как протокол связи у ленты достаточно скоростной (800 кГц), на него сильно влияют внешние наводки, а экранирование земляной скруткой поможет этого избежать. Без этого может наблюдаться такая картина: лента не работает до тех пор, пока не коснёшься рукой сигнального провода.

    2.2) При подключении ленты к микроконтроллерам с 3.3V логикой (esp8266, ESP32, STM32) появляется проблема: лента питается от 5V, а сигнал получает 3.3V. В даташите указана максимальная разница между питанием и управляющим сигналом, если её превысить – лента не будет работать или будет работать нестабильно, с артефактами. Для исправления ситуации можно:

    • Уменьшить напряжение питания ленты до 4.5V, “промышленные” (металлические в дырочку) блоки питания позволяют это сделать (у них есть крутилка).
    • Поставить конвертер (преобразователь) уровней с 3.3 до 5V на управляющий сигнал.
    • Также я придумал весьма грязный трюк с диодом: первый светодиод в ленте можно запитать от более низкого напряжения через любой кремниевый диод (например 1N4007), а остальные – как обычно. На диоде падает около 0.6V, таким образом сигнал пройдёт через ступеньку повышения 3.3-4.4-5.0V и всё будет работать стабильно. Для этого нужно аккуратно вырезать кусочек дорожки 5V между 1 и 2 светодиодом, подключить питание ко второму, и диодом оттуда же – на первый (см. схему #1 справа).
    • Ещё один способ с нашего форума: диодом “приподнять” землю самого микроконтроллера на те же 0,6V. Для этого диод ставится между GND питания катодом и GND микроконтроллера анодом (см. схему #2 справа). Ну и самый правильный способ – конвертация логического уровня при помощи любого PNP транзистора:

    3) Самый важный пункт, который почему то все игнорируют: цифровой сигнал ходит по двум проводам, поэтому для его передачи одного провода от ардуины мало. Какой второй? Земля GND. Как? Контакт ленты GND и пин GND Ардуино (любой из имеющихся) должны быть обязательно соединены. Смотрим два примера.

    blank

    blank

    4) Питание. Один цвет одного светодиода при максимальной яркости кушает 12 миллиампер. В одном светодиоде три цвета, итого

    36 мА на диод. Пусть у вас есть метр ленты с плотностью 60 диод/метр, тогда 60*36 = 2.1 Ампера при максимальной яркости белого цвета, соответственно нужно брать БП, который с этим справится. Также нужно подумать, в каком режиме будет работать лента. Если это режимы типа «радуга», то мощность можно принять как половину от максимальной. Подробнее о блоках питания, а также о связанных с ними глюках читай здесь.

    5) Продолжая тему питания, хочу отметить важность качества пайки силовых точек (подключение провода к ленте, подключение этого же провода к БП), а также толщину проводов. Как показывает мой опыт, брать нужно провод сечением минимум 1.5 квадрата, если нужна полная яркость. Пример: на проводе 0.75 кв.мм. на длине 1.5 метра при токе 2 Ампера падает 0.8 вольта, что критично для 5 вольт питания. Первый признак просадки напряжения: заданный программно белый цвет светит не белым, а отдаёт в жёлтый/красный. Чем краснее, тем сильнее просело напряжение!

    6) Мигающая лента создаёт помехи на линию питания, а если лента и контроллер питаются от одного источника – помехи идут на микроконтроллер и могут стать причиной нестабильной работы, глюков и даже перезагрузки (если БП слабый). Для сглаживания таких помех рекомендуется ставить электролитический конденсатор 6.3V ёмкостью 470 мкФ (ставить более ёмкий нет смысла) по питанию микроконтроллера, а также более “жирный” конденсатор (1000 или 2200 мкФ) на питание ленты. Ставить их необязательно, но очень желательно. Если вы заметите зависания и глюки в работе системы (Ардуино + лента + другое железо), то причиной в 50% является как раз питание.

    7) Слой меди на ленте не очень толстый (особенно на модели ECO), поэтому от точки подключения питания вдоль ленты напряжение начинает падать: чем больше яркость, тем больше просадка. Если нужно сделать большой и яркий кусок ленты, то питание нужно дублировать медным проводом 1.5 (или больше, надо экспериментировать) квадрата через каждый метр.

    КАК ДЕЛАТЬ НЕЛЬЗЯ

    Как мы уже поняли, для питания ленты нужен источник 5 Вольт с достаточным запасом по току, а именно: один цвет одного качественного светодиода на максимальной яркости потребляет 0.012 А (12 мА), соответственно весь светодиод – 0.036 А (36 мА) на максимальной яркости. У китайцев есть “китайские” ленты, которые потребляют меньше и светят тускло. Я всегда закупаюсь в магазине BTF lighting (ссылки в начале статьи), у них ленты качественные. Я понимаю, что порой очень хочется запитать ленту напрямую от Ардуино через USB, либо используя бортовой стабилизатор платы. Так делать нельзя. В первом случае есть риск выгорания защитного диода на плате Arduino (в худшем случае – выгорания USB порта), во втором – синий дым пойдёт из стабилизатора на плате. Если всё-таки очень хочется, есть два варианта:

      Не подключать больше количества светодиодов, при котором ток потребления будет выше 500 мА, а именно 500/32

    Вы наверное спросите: а как тогда прошивать проект с лентой? Ведь судя по первой картинке так подключать нельзя! Оч просто: если прошивка не включает ленту сразу после запуска – прошивайте. Если включает и есть риск перегрузки по току – подключаем внешнее питание на 5V и GND.

    Управление многоцветной светодиодной лентой при помощи RGB-контроллера

    Как вы уже поняли, можно менять цвет светодиодной RGB-ленты: на красный, зеленый, синий, желтый и белый. В более дорогих вариантах управляющего контроллера количество цветов значительно увеличивается.

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

    На нем расположены разноцветные кнопки, предназначенные для управления цветом, который будет излучать RGB-лента. Нажимая на красную кнопку, светодиодная лента загорится красным цветом, нажимая на синюю – синим. Большинство людей, которые впервые берут пульт в руки, не могут нарадоваться и балуются им как маленькие дети. Ну, интересно же!

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

    Существует несколько специальных режимов:

    • «ночник» – такой режим обычно включают тогда, когда в семье есть маленький ребенок, который боится темноты. При этом устанавливают светло-голубое свечение и минимальную яркость;
    • «яркий свет» – это основной режим, дающий при включении максимально возможную яркость белого цвета;
    • «медитация» – такой режим отлично подойдет тогда, когда вы решили заняться йогой или медитацией или просто захотели расслабиться. Включите спокойную музыку, настройте зеленый цвет (он, как известно, дает расслабляющий эффект) и отдыхайте на здоровье;
    • «танцы» – можно включать тогда, когда вы устроили у себя дома вечеринку. Включайте музыку, выбирайте режим со светодинамикой, отрегулируйте частоту миганий – и впреред!

    Многих интересует вопрос, каким образом RGB-лента становится многоцветной? Отвечаем: каждый светодиод, из которых собственно сделана лента, включает в себя три кристалла: красный (red), зеленый (green) и синий (blue). Когда они смешиваются в разных пропорциях, это образует различные цвета. Причем количество оттенков неограниченно.

    Создатели RGB-ленты, так сказать, объединили три разноцветные ленты в одну. Из этого следует, что многоцветная светодиодная ленты имеет четыре питающих провода, а не два: один основной и три по одному на каждый цвет.

    Специальный контроллер управляет цветом свечения разноцветной ленты. Проще говоря, контроллер – это маленькая коробочка, к которой подключаются блок питания с одной стороны и светодиодная RGB-лента – с другой.

    Контроллер, светодиодную ленту и блок питания монтируют в нишу потолка. Для дистанционного управления всем этим чудом в комплект поставки входит, соответственно, пульт дистанционного управления.

    Его задача – передавать сигналы от инфракрасного датчика к контроллеру. Контроллер, в свою очередь, включает соответствующий режим освещения. Схема подключения светодиодной RGB-ленты выглядит примерно так:

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

    Общая длина вашей светодиодной ленты должна быть меньше пяти метров, не больше! Подключив лишние метры, вы снизите силу тока во всей ленте, и это вследствие этого лента будет еле-еле светиться, а позже – и вовсе потухнет.

    Но, если нам все-таки захотелось светодиодную ленту длиной более пяти метров, что же делать в таком случае? Давайте рассмотрим пример, в котором нам понадобится, допустим, восемь метров RGB-ленты (для потолка, например).

    Чтобы соединить светодиодную RGB-ленту длиной восемь метров, то в отличие от пятиметровой ленты, нам понадобится RGB-усилитель. Опять же, проще говоря, это тоже маленькая коробочка, к которой с одной стороны подключается конец первой ленты (пятиметровой), а с другой – начало второй ленты (в нашем примере – трехметровая). Важный момент: при таком подключении нам потребуется второй блок питания.

    Подведем итоги. С помощью RGB-усилителя и дополнительного блока питания можно соединить две ленты (по 5 и 3 метра) и сделать одну ленту длиной 9 метров. При такой схеме подключения можно создавать светодиодную ленту любой длины.

    Читать:
    Как включить стабилитрон в схему

Похожие публикации