Подключение и управление светодиодной лентой к arduino. Подключение RGB светодиодных лент
Многоцветные светодиоды, или как их еще называют RGB, используются для индикации и создания динамически изменяющейся по цвету подсветки. Фактически ничего особенного в них нет, давайте разберемся, как они работают и что такое RGB-светодиоды.
Внутреннее устройство
На самом деле RGB-светодиод - это три одноцветных кристалла совмещенные в одном корпусе. Название RGB расшифровывается, как Red - красный, Green - зеленый, Blue - синий соответственно цветам, которые излучает каждый из кристаллов.
Эти три цвета являются базовыми, и на их смешении формируется любой цвет, такая технология давно применяется в телевидении и фотографии. На картинке, что расположена выше, видно свечение каждого кристалла по отдельности.
На этой картинке вы видите принцип смешивания цветов, для получения всех оттенков.
Кристаллы в RGB-светодиоды могут быть соединены по схеме:
С общим анодом;
С общим катодом;
Не соединены.
В первых двух вариантах вы увидите, что у светодиода есть 4 вывода:
Или 6-тью выводами в последнем случае:
Вы можете видеть на фотографии под линзой четко видны три кристалла.
Для таких светодиодов продаются специальные монтажные площадки, на них даже указывают назначение выводов.
Нельзя оставить без внимания и RGBW - светодиоды, их отличие состоит в том, что в их корпусе есть еще один кристалл излучающий свет белого цвета.
Естественно не обошлось и без лент с такими светодиодами.
На этой картинке изображена лента с RGB-светодиодами , собранные по схеме с общим анодом, регулировка интенсивности свечения осуществляется путем управления «-» (минусом) источника питания.
Для изменения цвета RGB-ленты используются специальные RGB-контроллеры - устройства для коммутации напряжения подаваемого на ленту.
Вот цоколевка RGB SMD5050:
И ленты, особенностей работы с RGB-лентами нет, всё остается также как и с одноцветными моделями.
Для них есть и коннекторы для подсоединения светодиодной ленты без пайки.
Вот распиновка 5-ти мм РГБ-светодиода:
Как изменяется цвет свечения
Регулировка цвета осуществляется путем регулировки яркости излучения каждым из кристаллов. Мы уже рассматривали .
RGB-контроллер для ленты работает по такому же принципу, в нём стоит микропроцессор, который управляет минусовым выводом источника питания - подключает и отключает его от цепи соответствующего цвета. Обычно в комплекте с контроллером идёт пульт дистанционного управления. Контроллеры бывают разной мощности, от этого зависит их размер, начиная от такого миниатюрного.
Да такого мощного устройства в корпусе размером с блок питания.
Они подключаются к ленте по такой схеме:
Так как сечение дорожек на ленте не позволяет подключать последовательно с ней следующий отрезок ленты, если длина первого превышает 5м, нужно подключать второй отрезок проводами напрямую от РГБ-контроллера.
Но можно выйти из положения, и не тянуть дополнительных 4 провода на 5 метров от контроллера и использовать RGB-усилитель. Для его работы нужно протянуть всего 2 провода (плюс и минус 12В) или запитать еще один блок питания от ближайшего источника 220В, а также 4 «информационных» провода от предыдущего отрезка (R, G и B) они нужны для получения команд от контроллера, чтобы вся конструкция светилась одинаково.
А к усилителю уже подключают следующий отрезок, т.е. он использует сигнал с предыдущего куска ленты. То есть вы можете запитать ленту от усилителя, который будет расположен непосредственно возле неё, тем самым сэкономив деньги и время на прокладку проводов от первичного RGB-контроллера.
Регулируем RGB-led своими руками
Итак, есть два варианта для управления RGB-светодиодами:
Вот вариант схемы без использования ардуин и других микроконтроллеров, с помощью трёх драйверов CAT4101, способных выдавать ток до 1А.
Однако сейчас достаточно дешево стоят контроллеры и если нужно регулировать светодиодную ленту - то лучше приобрести готовый вариант. Схемы с ардуино гораздо проще, тем более вы можете написать скетч, с которым вы будете либо вручную задавать цвет, либо перебор цветов будет автоматическим в соответствии с заданным алгоритмом.
Заключение
RGB-светодиоды позволяют сделать интересные световые эффекты используются в дизайне интерьеров, как подсветка для бытовой техники, для эффекта расширения экрана телевизора. Особых отличий при работе с ними от обычных светодиодов - нет.
Мы не раз рассматривали разнообразные светодиоды, строение, использование и т.д. и т.п. Сегодня я хотел бы остановиться на одной из разновидностей светодиодов (если так можно говорить) - RGB светодиодах.
Что такое RGB светодиод и устройство
Соединение RGB диодов с ШИМ Altmega8
Аноды RGB светодиода подключаем к линиям 1,2,3 порта В, катоды соединяем с минусом. Чтобы получить разнообразные палитры цвета на аноды будем подавать ШИМ сигнал в определенной последовательности. В этом примере мы специально используем программный ШИМ, хотя на Atmega8 можно без проблем получить аппаратный ШИМ на 3 канала. Программный ШИМ можно использовать в случаях нехватки таймеров/счетчиков и по другим причинам. Для генерации ШИМ определенной частоты используем прерывание по переполнению 8-ми битного таймера Т0(TIMER0_OVF_vect). Так как предделитель не используем частота переполнения таймера будет равна 31250Гц. А если переменная "pwm_counter" считает до 163, то частота ШИМ будет равна 190 Hz. В обработчике прерываний исходя из значений в переменных pwm_r, pwm_g, pwm_b переключаются ножки порта В. Цветовые эффекты настраиваются с помощью функций, где задается время свечения светодиода. В тестовой программе сначала загораются красный, зеленый, синий, белый цвета, а потом начинается цикл с переходами цвета.
Программный код:
// Управление RGB светодиодом. Программный ШИМ
#include
#include
volatile char pwm_counter,pwm_r,pwm_g,pwm_b;
// Прерывание по переполнению Т0
ISR (TIMER0_OVF_vect)
if (pwm_counter++ > 163)
pwm_counter = 0;
if (pwm_counter > pwm_r) PORTB |= (1 << PB1);
if (pwm_counter > pwm_g) PORTB |= (1 << PB2);
if (pwm_counter > pwm_b) PORTB |= (1 << PB3);
// Процедура задержки в микросекундах
void delay_us(unsigned char time_us)
{ register unsigned char i;
for (i = 0; i < time_us; i++) // 4 цикла
{ asm (" PUSH R0 "); // 2 цикла
asm (" POP R0 "); // 2 цикла
// 8 циклов = 1 us для 8MHz
// Процедура задержки в миллисекундах
void delay_ms(unsigned int time_ms)
{ register unsigned int i;
for (i = 0; i < time_ms; i++)
{ delay_us(250);
// Красный цвет
void red (unsigned int time)
for (char a = 0; a < 165; a++)
pwm_r = 164 - a; //увеличение
for (char a = 0; a < 165; a++)
pwm_r = a; //уменьшение
// Зеленый цвет
void green (unsigned int time)
for (char a = 0; a < 165; a++)
pwm_g = 164 - a;
for (char a = 0; a < 165; a++)
// Синий цвет
void blue (unsigned int time)
for (char a = 0; a < 165; a++)
pwm_b = 164 - a;
for (char a = 0; a < 165; a++)
// Белый цвет
void white (unsigned int time)
for (char a = 0; a < 165; a++)
pwm_r = 164 - a;
pwm_g = 164 - a;
pwm_b = 164 - a;
for (char a = 0; a < 165; a++)
// Переход цветa
void rgb (unsigned int time)
for (char a = 0; a < 165; a++)
pwm_b = 164 - a;
for (char a = 0; a < 165; a++)
В данной статье мы расскажем о цветных светодиодах, отличии простого 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.
Видеоинструкция
Данная схема служит для эффектной подсветки какого-либо предмета, например, аквариуму, и также может быть дополнением для моддинга компьютера. Это устройство управляет трехцветными (RGB) светодиодами и отображает цвета в совершенно случайном порядке.
Общий принцип действия драйвера показан на рисунке 1. Два генератора генерируют прямоугольные импульсы с заполнением 50%, но немного отличаются по частоте (до десятков Гц).
На выходе логического элемента EX-OR (исключающее ИЛИ) высокий уровень появиться только тогда, когда на обоих выходах генераторов одновременно появится 1 или 0.
Диаграмма сигналов на выходах генераторов приведена на рисунке 2. Как видно, на выходе логического элемента EX-OR появляется меандр с переменным заполнением 0…100%. Заполнение это будет изменяться тем медленнее, чем меньше будет разность частот обоих генераторов.
Микросхема CD4060 это 14-разрядный двоичный счётчик с генератором. Миниатюрный дроссель L1, конденсаторы C1 и C2, а также логические элементы CD4060 образуют генератор высокой частоты, работающий на частоте примерно 700 кГц. Эта частота делится в этом счетчике на 212.
Сигнал с генератора также подается на входы CLK 12-разрядных двоичных счётчиков на CD4040, которые подсчитывают импульсы с генератора.
Когда отсчет доходит до того, что на выходе Q11 (ножка 15) появляется логическая единица, на выходе элемента NOT будет низкое состояние, приводящее к блокировке на доли секунды подсчета импульсов (время зависит от емкости C3 и суммарного сопротивления R2 и PR1).
И так происходит при каждом появлении высокого уровня на выходе Q11 CD4040, то есть, как можно заметить, при каждом изменении состояния на выходе Q12 CD4040. Это приводит к тому, что на выходе Q12 CD4060 частота несколько выше от частоты на выходе Q12 CD4040 (разница зависит от C3, R и чем больше значение, тем больше разница).
Благодаря этой минимальной разнице, на элементах EX-OR появляется меандр переменного заполнения по времени. Это в свою очередь приводит к тому, что светодиод, подключенный к выходу этой, цепи будет плавно загораться и гаснуть.
Переменными резисторами можно регулировать скорость изменения заполнения (скорость включения и выключения светодиодов). Так же в схеме добавлен фотодатчик на элементах T4, T5 и R14, для того чтобы схема автоматически включалась только в темное время суток. От сопротивления резистора R14 зависит, при какой яркости схема все еще будет работать.
(233,6 Kb, скачано: 422)