Подключение светодиодной ленты к ардуино. Принцип работы транзистора для плавного управления светодиодной лентой. Плавное управление RGB светодиодом

Этот несложный 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); } }

Интересно всегда было попробовать светодиодную ленту 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ампера. Осуществлен принцип индикатора уровня сигнала с большим количеством световых эффектов. А где использовать эту схему это уже личное ваше дело и зависит от вашей фантазии.Скетч по ссылке
Плюсом я думаю считается что управление этой лентой осуществляется по одному проводу, и можно получать разные эффекты на каждом светодиоде.
Минусом я считаю что пока конечно цена на эти светодиоды завышена. Тем не менее можно получать массу эффектов в цвете и динамике для для последующих разработок даже начинающим. Всем спасибо за потраченное время и хороших Новогодних праздников!!!
Подробней в видео

В прошлый раз был рассмотрен способ подключения светодиодной ленты к ардуино через драйвер 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); }

Метки: Метки

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

Можно засветить разными цветами баню от RGB ленты на Arduino. Создать, так сказать, баню на микропроцессорном управлении от Arduino.

Всего лишь понадобятся для сборки RGB-подсветки такие компоненты:

  1. Bluetooth модуль HC-05 для беспроводной связи с Arduino.
  2. Плата Arduino nano, mini, Uno с микропроцессором ATmega 8, ATmega 168, ATmega 328.
  3. Светодиодная лента RGB, при необходимости во влагозащитном исполнении IP65 или без него.
  4. Смартфон с Android как пульт управления RGB-подсветкой.
  5. Полевые MOSFET транзисторы, такие как P3055LD, P3055LDG, PHD3355L, но лучше с выводами для закрепления в монтажных отверстиях. Биполярные транзисторы работают хуже .
  6. Резисторы 10 кОм, 0.125 Вт - 3 штуки.

Немного теории про подключение RGB ленты к Arduino

Нельзя подключить светодиодную полоску напрямую к плате Arduino. Светодиодная лента светиться от 12 В, тогда как микропроцессору нужно для работы всего 5 В.

Но, самая главная проблема в том, что выходы микропроцессора не имеют достаточной мощности для питания целой ленты светодиодов. В среднем метровой длины светодиодная полоса потребляет 600 мА. Такой ток точно выведет из строя плату Arduino.

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

Для развязки по питанию, в качестве ключей, рекомендуется использовать транзисторы. Лучше использовать полевые MOSFET транзисторы: им для открытия нужен мизерный ток на «затвор», к тому же они имеют большую мощность в сравнении с биполярными ключами такого же размера.

RGB ленты к Arduino

На электромонтажной схеме на управление лентой задействованы ШИМ-выхода: 9 (красный), 10 (зеленый), 11 (голубой).

Три резистора по 10 кОм, 0.125 Вт повешены на «затвор» каждого транзистора.

Плюс от блока питания 12 В (красный провод) идет напрямую на RGB ленту.

Минус от блока питания 12 В (черный провод) распределяется по «истокам» полевых транзисторов.

«Сток» каждого транзистора связан с отдельным контактом ленты: R, G, B. Рекомендуется для удобства при подключении использовать провода красного, зеленого, голубого цвета.

Контакт заземления GND платы Arduino следует посадить на минус входного питания.

Сама плата Arduino Uno запитывается от отдельного сетевого адаптера. Для Arduino nano, mini потребуется собрать простенький источник питания на интегральном стабилизаторе 7805.

Подключение Bluetooth модуля HC-05:

  • VCC - 5V (питание +5 В);
  • GND - GND (земля, общий);
  • RX - TX на Arduino nano, mini, Uno;
  • TX - RX на Arduino nano, mini, Uno;
  • LED - не используется;
  • KEY - не используется.

Приведенный ниже эскиз программы является универсальным для управления как одним светодиодом, так и светодиодной полосой. Главное оставить нужные строчки, а ненужные удалить или сделать комментариями в косых черточках.

Unsigned long x; int LED = 9; // зеленый подключен к 9 пину int LED2 = 10; // синий подключен к 10 пину int LED3 = 11; // красный подключен к 11 пину int a,b,c = 0; void setup() { Serial.begin(9600); Serial.setTimeout(4); pinMode(LED, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); } void loop() { if (Serial.available()) { x = Serial.parseInt(); if (x>=0 && x<=255) { a = x; // для RGB ленты //a = 255-x; // для светодиода analogWrite(LED, a); } if (x>=256 && x<=511) { b = x-256; // для RGB ленты //b = 511-x; // для светодиода analogWrite(LED2, b); } if (x>=512 && x<=767) { c = x-512; // для RGB ленты //c = 767-x; // для светодиода analogWrite(LED3, c); } /* Serial.println(x); Serial.println(a); Serial.println(b); Serial.println(c); */ } }

Если понадобиться подключить один RGB светодиод, тогда есть электромонтажная схема его подключения.

Установка приложения на телефон

Скачиваем приложение с коротким названием RGB на телефон. .

После установки запускаем приложение по иконке.

Кликаем по надписи

Находим в списке установленный Bluetooth модуль HC-05.

При наличии связи вместо надписи будет отображаться адрес и название установленного модуля Bluetooth.

Ну, вот и всё, управление RGB подсветкой налажено!

Вот видео-пример работы нашего проекта:

GPS часы на Arduino Биометрический замок – Схема и сборка ЖК дисплея