Информационный портал по безопасности. Схема подключения и управление светодиодной лентой с помощью Arduino

Светодиодная 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); } }

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

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

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

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

В прошлый раз был рассмотрен способ подключения светодиодной ленты к ардуино через драйвер L298. Управление цветом осуществлялось программно - функция Random. Теперь пришла пора разобраться, как управлять цветом светодиодной ленты на основании показаний датчика температуры и влажности DHT 11.

За основу взят пример подключения светодиодной ленты через драйвер L298. Плюсом ко всему в пример добавлен дисплей LCD 1602, который будет отображать показания датчика DHT 11.

Для проекта понадобятся следующие элементы Ардуино:

  1. Плата Ардуино УНО.
  2. Дисплей LCD 1602 + I2C.
  3. Датчик температуры и влажности DHT
  4. Светодиодная лента.
  5. Драйвер L298.
  6. Блок питания 9-12В.
  7. Корпус для ардуино и дисплея (по желанию).

Первым делом посмотрим на принципиальную схему (рис. 1). На ней можно увидеть, как нужно подключить все вышеперечисленные элементы. В сборке схемы и подключении ничего сложного нет, однако стоит упомянуть об одном нюансе, о котором большинство людей забывают, и в итоге получают неправильные результаты работы LED – ленты с Ардуино.

Рисунок 1. Принципиальная схема подключения Arduino и светодиодной ленты с датчиком DHT 11

Во избежание некорректной работы светодиодной ленты (мерцание, несоответствие цветов, неполное свечение и т.д.), питание всей схемы необходимо сделать общим, т.е. объединить контакты GND (земля) контроллера Ардуино и драйвера L298 (светодиодной ленты). Как это сделать, можно посмотреть на схеме.

Пару слов о подключении датчика влажности. Если покупать голый DHT 11, без обвязки, то между первым и вторым контактами, 5В и Data, соответственно, нужно впаять резистор номиналом 5-10 кОм. Диапазон измерения температуры и влажности написан на обратной стороне корпуса датчика DHT 11. Температура: 0-50 градусов по Цельсию. Влажность: 0-80%.


Рисунок 2. Правильное подключение датчика влажности DHT 11

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

Для программирования датчика DHT 11 понадобится дополнительная библиотека.

Код программы Arduino и RGB – лента. Изменение цвета ленты в зависимости от влажности.

#include #include //библиотека для работы с дисплеем LCD 1602 #include //библиотека для работы с датчиком влажности и температуры DHT 11 int chk; //переменная будет хранить все данные с датчика DHT11 int hum; //переменная будет хранить показания влажности с датчика DHT11 dht11 DHT; //объект типа DHT #define DHT11_PIN 4 //контакт Data датчика DHT11 подключен на вход 4 #define LED_R 9 // пин для канала R #define LED_G 10 // пин для канала G #define LED_B 11 // пин для канала B //переменные будут хранить значения цветов //при смешивании всех трех цветов будет получаться необходимый цвет int led_r=0, led_g=0, led_b=0; //объявление объекта дисплея с адресом 0х27 //не забываем использовать в проекте дисплей через плату I2C LiquidCrystal_I2C lcd(0x27,16,2); void setup() { //создание дисплея lcd.init(); lcd.backlight(); // объявляем пины выходами pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { chk = DHT.read(DHT11_PIN);//читаем данные с датчика DHT11 //вывод данных на дисплей lcd.print("Temp: "); lcd.print(DHT.temperature, 1); lcd.print(" C"); lcd.setCursor(0,1); lcd.print("Hum: "); lcd.print(DHT.humidity, 1); lcd.print(" %"); delay(1500); //для корректной работы датчика нужна задержка на опрос lcd.clear(); hum = DHT.humidity; //берем показания влажности //в диапозоне от 19 до 30% влажности выдать зеленый цвет if ((hum >= 19) && (hum <= 30)) { led_r = 1; led_g = 255; led_b = 1; } //в диапозоне от 31 до 40% влажности выдать красный цвет if ((hum >= 31) && (hum <= 40)) { led_r = 255; led_g = 1; led_b = 1; } //в диапозоне от 41 до 49% влажности выдать синий цвет if ((hum >= 41) && (hum <= 49)) { led_r = 1; led_g = 1; led_b = 255; } // подача сигналов цвета на выхода analogWrite(LED_R, led_r); analogWrite(LED_G, led_g); analogWrite(LED_B, led_b); }

Метки: Метки

Ардуино идеально подходит для управления любыми устройствами. Микропроцессор ATmega с помощью программы-скетча манипулирует большим количеством дискретных выводов, аналогово-цифровых входов/выводов и ШИМ-контроллерами.

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

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

Плата Ардуино имеет два типа портов вывода: цифровой и аналоговый (ШИМ-контроллер). У цифрового порта возможно два состояния – логический ноль и логическая единица. Если подключить к нему светодиод он либо будет светиться, либо не будет.

Аналоговый выход представляет собой ШИМ-контроллер, на который подаётся сигнал частотой около 500Гц с регулируемой скважностью. Что такое ШИМ-контроллер и принцип его работы можно найти в интернете. Через аналоговый порт возможно не только включать и выключать нагрузку, а и изменять напряжение (ток) на ней.

Синтаксис команд

Цифровой вывод:

pinMode(12, OUTPUT); — задаём порт 12 портом вывода данных;
digitalWrite(12, HIGH); — подаём на дискретный выход 12 логическую единицу, зажигая светодиод.

Аналоговый вывод:

analogOutPin = 3; – задаём порт 3 для вывода аналогового значения;
analogWrite(3, значение); – формируем на выходе сигнал с напряжением от 0 до 5В. Значение – скважность сигнала от 0 до 255. При значении 255 максимальное напряжение.

Способы управления светодиодами через Ардуино

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

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

Виды транзисторных ключей

  • Биполярный;
  • Полевой;
  • Составной (сборка Дарлингтона).
Способы подключения нагрузки
Через биполярный транзистор Через полевой транзистор Через коммутатор напряжения

При подаче высокого логического уровня (digitalWrite(12, HIGH);) через порт вывода на базу транзистора через цепочку коллектор-эмиттер потечет опорное напряжение на нагрузку. Таким образом можно включать и отключать светодиод.

Аналогичным образом работает и полевой транзистор, но поскольку у него вместо «базы» сток, который управляется не током, а напряжением, ограничительный резистор в этой схеме необязателен.

Биполярный вид не позволяет регулировать мощные нагрузки. Ток через него ограничен на уровне 0,1-0,3А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для ещё более мощной нагрузки используют полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Вместо полевых можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного коммутатора напряжения:

Принцип работы транзистора для плавного управления светодиодной лентой

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

Подключив транзистор к аналоговому порту Ардуино, присваиваем ему значение от 0 до 255, изменяем напряжение, подаваемое на коллектор либо сток от 0 до 5В. Через цепочку коллектор-эмиттер будет проходить от 0 до 100% опорного напряжения нагрузки.

Для управления светодиодной лентой arduino необходимо подобрать транзистор подходящей мощности. Рабочий ток для питания метра светодиодов 300-500мА, для этих целей подойдет силовой биполярный транзистор. Для большей длины потребуется полевой транзистор.

Схема подключения LED ленты к ардуино:

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

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

Схема подключения к Arduino RGB светодиода:

Аналогично построено и управление RGB лентой Arduino:

Аrduino RGB контроллер лучше собирать на полевых транзисторах.

Для плавного управления яркостью можно использовать две кнопки. Одна будет увеличивать яркость свечения, другая уменьшать.

Скетч управления яркостью светодиодной ленты Arduino

int led = 120; устанавливаем средний уровень яркости

void setup() {
pinMode(4, OUTPUT); устанавливаем 4й аналоговый порт на вывод
pinMode(2, INPUT);

pinMode(4, INPUT); устанавливаем 2й и 4й цифровой порт на ввод для опроса кнопок
}
void loop(){

button1 = digitalRead(2);

button2 = digitalRead(4);
if (button1 == HIGH) нажатие на первую кнопку увеличит яркость
{
led = led + 5;

analogWrite(4, led);
}
if (button2 == HIGH) нажатие на вторую кнопку уменьшит яркость
{
led = led — 5;

analogWrite(4, led);
}

При удержании первой или второй кнопки плавно изменяется напряжение, подаваемое на управляющий контакт электронного ключа. Тогда и произойдет плавное изменение яркости.

Модули управления Ардуино

Для создания полноценного драйвера управления светодиодной лентой можно использовать модули-датчики.

ИК-управление

Модуль позволяет запрограммировать до 20 команд.

Радиус сигнала около 8м.

Цена комплекта 6 у.е.

По радиоканалу

Четырёхканальный блок с радиусом действия до 100м

Цена комплекта 8 у.е.

Позволяет включать освещение еще при приближении к квартире.

Бесконтактное

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

Радиус действия до 5м.

Цена модуля 0,3 у.е.

Для управления этими устройствами используется 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.

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




Top