Подключение RGB ленты через Arduino для управления с телефона. RGB светодиодная лента

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

Светодиоды – электронный компонент, способный излучать свет. Сегодня они массово применяются в различной электронной технике: в фонариках, компьютерах, бытовой технике, машинах, телефонах и т.д. Многие проекты с микроконтроллерами так или иначе используют светодиоды.

Основных назначений у них два :

Демонстрация работы оборудования или оповещение о каком-либо событии;
применение в декоративных целях (подсветка и визуализация).

Внутри светодиод состоит из красного (red), зеленого (green) и синего (blue) кристаллов, собранных в одном корпусе. Отсюда такое название – RGB (рис.1).

2. С помощью микроконтроллеров

С помощью него можно получить множество различных оттенков света. Управление RGB-светодиодом осуществляется с помощью микроконтроллера (MK), например, Arduino (рис.2).

Конечно, можно обойтись простым блоком питания на 5 вольт, резисторами в 100-200 Ом для ограничения тока и тремя переключателями, но тогда управлять свечением и цветом придется вручную. В таком случае добиться желаемого оттенка света не получится (рис.3-4).

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

3. Контроллер для управление RGB

Для разгрузки выводов МК применяются специальные контроллеры WS2801 (5 вольт) или WS2812B (12 вольт) (рис.5).

С применением отдельного контроллера нет необходимости занимать несколько выходов MK, можно ограничиться лишь одним сигнальным выводом. МК подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.

В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация адресовывается. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера (рис.6).

4. Адресуемый светодиод

Это RGB-светодиод, только с интегрированным контроллером WS2801 непосредственно на кристалле. Корпус светодиода выполнен в виде SMD компонента для поверхностного монтажа. Такой подход позволяет расположить светодиоды максимально близко друг другу, делая свечение более детализированным (рис.7).

В интернет-магазинах можно встретить адресные светодиодные ленты, когда в одном метре умещается до 144 штук (рис.8).

Стоит учесть, что один светодиод потребляет при полной яркости всего 60-70 мА, при подключении ленты, например, на 90 светодиодов, потребуется мощный блок питания с током не менее 5 ампер. Ни в коем случае не питайте светодиодную ленту через контроллер, иначе он перегреется и сгорит от нагрузки. Используйте внешние источники питания (рис.9).

5. Недостаток адресуемых светодиодов

Адресуемая светодиодная лента не может работать при слишком низких температурах: при -15 контроллер начинает подглючивать, на более сильном морозе велик риск его выхода из строя.

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

6. Применение адресуемых светодиодных лент

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

Получается интересное решение, если светодиодную ленту использовать в качестве фоновой подсветки Ambilight для монитора компьютера (рис.10-11).

Если вы будете использовать микроконтроллеры на базе Arduino, вам понадобится библиотека FastLed для упрощения работы со светодиодной лентой ().

Для управления этими устройствами используется RGB-контроллер. Но, кроме него, в последние годы применяется плата Arduino.

Ардуино – принцип действия

плата Arduino

Плата Ардуино – это устройство, на котором установлен программируемый микроконтроллер. К нему подключены различные датчики, органы управления или encoder и, по заданному скетчу (программе), плата управляет моторами, светодиодами и прочими исполнительными механизмами, в том числе и другими платами Ардуино по протоколу SPI. Контроль устройства может осуществляться через дистанционный пульт, модуль Bluetooth, HC-06, Wi-Fi, ESP или internet, и кнопками. Одни из самых популярных плат – Arduino Nano и Arduino Uno, а также Arduino Pro Mini – устройство на базе микроконтроллера ATmega 328


Внешний вид Arduino Pro Mini
Внешний вид Arduino Uno
Внешний вид Arduino micro

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

Принцип управления нагрузкой через Ардуино


управление Arduino

На плате есть много выходов, как цифровых, имеющих два состояния — включено и выключено, так и аналоговых, управляемых через ШИМ-controller с частотой 500 Гц.

Но выходы рассчитаны на ток 20 – 40 мА с напряжением 5 В. Этого хватит для питания индикаторного RGB-светодиода или матричного светодиодного модуля 32×32 мм. Для более мощной нагрузки это недостаточно.

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

  • Реле. Кроме отдельных реле с напряжением питания 5В есть целые сборки с разным количеством контактов, а также со встроенными пускателями.
  • Усилители на биполярных транзисторах. Мощность таких устройств ограничена током управления, но можно собрать схему из нескольких элементов или использовать транзисторную сборку.
  • Полевые или MOSFET-транзисторы. Они могут управлять нагрузкой с токами в несколько ампер и напряжением до 40 – 50 В. При подключении мосфета к ШИМ и электродвигателю или к другой индуктивной нагрузке, нужен защитный диод. При подключении к светодиодам или LED-лампам в этом нет необходимости.
  • Платы расширения.

Подключение светодиодной ленты к Ардуино


подключение светодиодной ленты к Arduino

Мнение эксперта

Алексей Бартош

Специалист по ремонту, обслуживанию электрооборудования и промышленной электроники.

Задать вопрос эксперту

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

Через реле


Подключение через реле

Реле подключается к устройству на цифровой выход. Полоса, управляемая с его помощью имеет только два состояния — включенная и выключенная. Для управления red-blue-green ленточкой необходимы три реле. Ток, который может контролировать такое устройство, ограничен мощностью катушки (маломощная катушка не в состоянии замыкать большие контакты). Для подсоединения большей мощности используются релейные сборки.

С помощью биполярного транзистора


Подключение с помощью транзистора

Для усиления выходного тока и напряжения можно использовать биполярный транзистор. Он выбирается по току и напряжению нагрузки. Ток управления не должен быть выше 20 мА, поэтому подается через токоограничивающее сопротивление 1 – 10 кОм.

Транзистор лучше применять n-p-n с общим эмиттером. Для большего коэффициента усиления используется схема с несколькими элементами или транзисторная сборка (микросхема-усилитель).

С помощью полевого транзистора

Кроме биполярных, для управления полосами используются полевые транзисторы. Другое название этих приборов – МОП или MOSFET-transistor.

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

Подключается элемент через токоограничивающее сопротивление. Кроме того, он чувствителен к помехам, поэтому выход контроллера следует соединить с массой резистором в 10 кОм.

С помощью плат расширения


Подключение Arduino с помощью плат расширения

Кроме реле и транзисторов используются готовые блоки и платы расширения.

Это может быть Wi-Fi или Bluetooth, драйвер управления электродвигателем, например, модуль L298N или эквалайзер. Они предназначены для управления нагрузками разной мощности и напряжения. Такие устройства бывают одноканальными – могут управлять только монохромной лентой, и многоканальными – предназначены для устройств RGB и RGBW, а также лент со светодиодами WS 2812.

Пример программы


Arduino и светодиодная лента

Платы Ардуино способны управлять светодиодными конструкциями по заранее заданным программам. Их библиотеки можно скачать с официально сайта , найти в интернете или написать новый sketch (code) самому. Собрать такое устройство можно своими руками.

Вот некоторые варианты использования подобных систем:

  • Управление освещением. С помощью датчика освещения включается свет в комнате как сразу, так и с постепенным нарастанием яркости по мере захода солнца. Включение может также производиться через wi-fi, с интеграцией в систему «умный дом» или соединением по телефону.
  • Включение света на лестнице или в длинном коридоре. Очень красиво смотрится диодная подсветка каждой ступеньки в отдельность. При подключении к плате датчика движения, его срабатывание вызовет последовательное, с задержкой времени включение подсветки ступеней или коридора, а отключение этого элемента приведет к обратному процессу.
  • Цветомузыка. Подав на аналоговые входы звуковой сигнал через фильтры, на выходе получится цветомузыкальная установка.
  • Моддинг компьютера. С помощью соответствующих датчиков и программ цвет светодиодов может зависеть от температуры или загрузки процессора или оперативной памяти. Работает такое устройство по протоколу dmx 512.
  • Управление скоростью бегущих огней при помощи энкодера. Подобные установки собираются на микросхемах WS 2811, WS 2812 и WS 2812B.

Видеоинструкция

Интересно всегда было попробовать светодиодную ленту ws2812b.Вот получил ленту с Banggood. Тем более подходят новогодние праздники. Применить хотелось в разных вариантах.Как украшение или гирлянду для Нового года или как самостоятельную СДУ.
Китайцы дали такие параметры:
-Работа напряжение: 5 В постоянного тока
-мощность: 43.2w
-Width: 12 мм
-длина: 1m
-waterproof: не водонепроницаемый (ip20)
-Отлично, высокое качество интеллектуальное освещение!
-основана на высокое качество SMD5050 RGB LED s код вставки (встроенный) интегрированные ИКС управления ws2811. каждый LED независимо представляет собой адресуемые, открывая совершенно новые возможности освещения.
-ws2812. 5050 СМД ж / ws2811 IC встроенный in144 RGB LED s на метр
-он ws2811 IC управления ONE LED Чип
-каждый LED индивидуально адресуемые, с 8 битами зеленого, красного и синего данных сдвинуты в течение 24-битном цвете
-strip может быть разрезан one от one привело чип.

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

В пакет включено:
1 * RGB LED полосы

Что такое ws2812b? Это уже второе поколение полноцветных светодиодов с индивидуальной адресацией, также известное как NeoPixel. В одном корпусе собраны RGB светодиоды и контроллер. Для каждого из цветов доступно 255 уровней яркости. Итого 16 миллионов цветов и всего один провод для управления. Выпускаются в виде отдельных светодиодов, лент, колец, матриц и т.п. Для работы необходим внешний контроллер, на эту роль вполне подходит Ардуино. Каждый из светодиодов (красный, синий, зеленый) при максимальной яркости потребляет 20 миллиампер. Максимальное энергопотребление - 60 миллиампер, когда все три диода горят, получается при белом цвете. Отсюда легко получить максимальное потребление всей ленты, умножив 60 миллиампер на количество светодиодов. Еще немного потребляют контроллеры диодов.





Подключение
Сами по себе ленты не светятся, им необходим микроконтроллер. На его роль отлично подходит Arduino.
подойдет Arduino или Raspberry PI.Собрал схему подключения.


Для каждого из цветов доступно 255 уровней яркости. Итого 16 миллионов цветов и всего один провод для управления. Выпускаются в виде отдельных светодиодов, лент, колец, матриц и т.п. Для работы необходим внешний контроллер, на эту роль вполне подходит Ардуино. Каждый из светодиодов (красный, синий, зеленый) при максимальной яркости потребляет 20 миллиампер. Максимальное энергопотребление - 60 миллиампер, когда все три диода горят, получается при белом цвете. Отсюда легко получить максимальное потребление всей ленты, умножив 60 миллиампер на количество светодиодов. Еще немного потребляют контроллеры диодов.
Приблизительное пиковое потребление для лент длиной 1 метр:
30 диодов на метр 9.5 ватт (чуть меньше 2A при 5V)
60 диодов на метр 19 ватт (3.6А при 5V)
144 диода на метр 35 ватт (7A при 5V)
Блоки питания рекомендуется выбирать с небольшим запасом по мощности.
Подключение.
Сами по себе ленты не светятся, им необходим микроконтроллер. На его роль отлично подходит Arduino(Uno.Nano,Pro mini).


Как применить эту ленту это уже личное ваше дело-как украшение, гирлянду для Нового года или как самостоятельную СДУ. Я приобрел ленту длиной 1 метр с количеством светодиодов 144 штуки. Ее можно разрезать при необходимости на несколько частей. Подложка бывает белого и черного цвета. На концах установлены разьемы для подключения следующей ленты.То есть можно удлинить гирлянду.


Я сделал светомузыкальную установку для визуализации музыки в реальном времени. Много различных световых эффектов, синхронизированных с музыкой.


На один канал подключено 51 сетодиод ленты, и паралельно в данном случае кольцо с светодиодами(чисто для демонстарции)

Подключить к источнику звука-выходы от громкоговорителя. Сделано на светодиодной ленте ws2812b, Arduino UNO, понижающей Dс-Dс плате или блок питания на 5 вольт\3ампера. Осуществлен принцип индикатора уровня сигнала с большим количеством световых эффектов. А где использовать эту схему это уже личное ваше дело и зависит от вашей фантазии.Скетч по ссылке
Плюсом я думаю считается что управление этой лентой осуществляется по одному проводу, и можно получать разные эффекты на каждом светодиоде.
Минусом я считаю что пока конечно цена на эти светодиоды завышена. Тем не менее можно получать массу эффектов в цвете и динамике для для последующих разработок даже начинающим. Всем спасибо за потраченное время и хороших Новогодних праздников!!!
Подробней в видео

Этот несложный Arduino проект предназначен для управления с помощью PWM (широтно-импульсной модуляции). Она может изменить уровень каждого цвета независимо путем изменения скважности ШИМ. Таким образом можно создать любой цвет путем смешивания разных цветов в процентах. Вращение энкодера на плате позволяет пользователю выбрать нужный канал и изменить его яркость. Транзисторы с малым коммутационным сопротивлением, создают очень низкое тепловыделение даже с использованием большого количества светодиодов. Например, IRF540 транзистор имеет вполне низкое проходное RDS-сопротивление - около 70 мОм.

Схема контроллера лент

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

Основной контроллер выполнен с применением Arduino Uno. Он считывает входные данные от энкодера и согласно этой информации, происходит переключение транзисторов. Транзисторы управляются выводами 9, 10 и 11, которые имеют внутренние функции ШИМ. Направление сигналов энкодера A и B читаются с помощью элементов 2 и 3, которые подключены к модулю. Кнопка энкодера используется для выбора канала и подключена к выводу 1, что устанавливают в качестве входных данных.

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

Светодиодные ленты бывают двух типов: аналоговые и цифровые .
В аналоговых лентах все светодиоды включены в параллель. Следовательно, вы можете задавать цвет всей светодиодной ленты, но не можете установить определенный цвет для конкретного LED. Эти ленты просты в подключении и не дорогие.
Цифровые светодиодные ленты устроены немного сложнее. К каждому светодиоду дополнительно устанавливается микросхема, что делает возможным управлять любым светодиодом. Такие ленты намного дороже обычных.

В данной статье мы рассмотрим работы только с аналоговыми светодиодными лентами.

Аналоговые RGB светодиодные ленты

Техническая спецификация:
- 10.5мм ширина, 3мм толщина, 100мм длина одного сегмента
- водонепроницаемая
- снизу скотч 3М
- макс. потребление тока (12В, белый цвет) - 60мА на сегмент
- цвет свечения (длина волны, нм): 630нм/530нм/475нм

Схема светодиодной RGB ленты

Лента поставляется в рулонах и состоит из секций длиной по 10 см. В каждой секции размещается 3 RGB светодиода, типоразмера 5050. Т.е. в каждой секции получается, что содержится 9 светодиодов: 3 красных, 3 зеленых и 3 синих. Границы секций отмечены и содержат медные площадки. Поэтому, при необходимости, ленту можно обрезать и спокойно припаиваться. Схема светодиодной ленты:

Энергопотребление

В каждой секции ленты, последовательно подключены по 3 светодиода, поэтому питание 5В не подойдет. Питание должно быть 12В, но можно подавать напряжение и 9В, но тогда светодиоды будут гореть не так ярко.

Одна LED-линия сегмента потребляет приблизительно 20мА при питании 12В. Т.о. если зажечь белый цвет (т.е. красный 100%, зеленый 100% и синий 100%), то энергопотребление секции составит около 60мА.

Теперь, можно легко посчитать потребление тока всей ленты. Итак, длина ленты составляет 1 метр. В ленте 10 секций (по 10 см каждая). Потребление ленты при белом цвете составит 60мА*10=600мА или 0.6А. Если использовать ШИМ fade-эффект между цветами, то энергопотребление можно снизить вдвое.

Подключение ленты

Для того, чтобы подключить ленту, необходимо припаять провода к 4 контактным площадкам. Мы использовали белый провод для +12В, а остальные цвета в соответствии с цветами светодиодов.

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

Зачистите слой изоляции, чтобы оголить контактные площадки.

Залудите их.

Припаяйте четыре провода. Лучше использовать многожильный провод (например ПВ3 или кабель ПВС), он более гибкий.

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

Работа с светодиодной лентой

Ленту легко можно использовать с любым микроконтроллером. Для управления светодиодами рекомендуется использовать широтно-импульсную модуляцию (ШИМ). Не подключайте выводы ленты напрямую к выводам МК, т.к. это большая токовая нагрузка и контроллер может сгореть. Лучше использовать транзисторы.

Вы можете использовать NPN-транзисторы или еще лучше N-канальные мосфеты. При подборе транзистора не забудьте, что максимальный коммутируемый ток транзистора нужно брать с запасом.

Подключение светодиодной ленты к контроллеру Arduino

Рассмотрим пример подключения светодиодной ленты к популярному . Для подключения, можно использовать недорогие и популярные мосфеты . Можно также использовать и обычные биполярные транзисторы, к примеру TIP120. Но по сравнению с мосфетом, у него больше потери напряжения, поэтому все же рекомендуется использовать первые.
На схеме ниже показано подключение RGB светодиодной ленты при использовании N-канальных мосфетах. Затвор мосфета подключается к pin1 контроллера, сток к pin2 и исток к pin3.

Ниже, показана схема подключения при использовании обычных биполярных транзисторов (например TIP120). База транзистора подключается к pin1 контроллера, коллектор к pin2 и эмиттер к pin3. Между базой и выводом контроллера необходимо поставить резистор сопротивлением 100-220 Ом.

К контроллеру Arduino подключите источник питания с напряжением 9-12 Вольт, а +12В от светодиодной ленты необходимо подключить к выводу Vin контроллера. Можно использовать 2 раздельных источника питания, только не забудьте соединить "земли" источника и контроллера.

Пример программы

Для управления лентой будет использовать ШИМ-выход контроллера, для этого можно использовать функцию analogWrite() для выводов 3, 5, 6, 9, 10 или 11. При analogWrite(pin, 0) светодиод не будет гореть, при analogWrite(pin, 127) светодиод будет гореть в полнакала, а при analogWrite(pin, 255) светодиод будет гореть с максимальной яркостью. Ниже приведен пример скетча для Arduino:

#define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // чем выше число, тем медленнее будет fade-эффект void setup() { pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode(BLUEPIN, OUTPUT); } void loop() { int r, g, b; // fade от голубого к фиолетовому for (r = 0; r 0; b--) { analogWrite(BLUEPIN, b); delay(FADESPEED); } // fade от красного к желтому for (g = 0; g 0; r--) { analogWrite(REDPIN, r); delay(FADESPEED); } // fade от зеленого к зеленовато-голубому for (b = 0; b 0; g--) { analogWrite(GREENPIN, g); delay(FADESPEED); } }