Rgb лента светодиод подключение к ардуино. RGB светодиодная лента. Недостаток адресуемых светодиодов

На iOS - iPhone, iPod touch 25.04.2019
На iOS - iPhone, iPod touch


В преддверии Нового Года предлагаю вам собрать елочную программируемую RGB гирлянду с возможностью создавать различные узоры.

Что понадобится для гирлянды?

WS2811 RGB Full Color 12mm LED String DC 5V можно приобрести на Aliexpress за 20 долларов. Обычной конец одной такой гирлянды можно соединять с другой, чтобы увеличить длину. Эта статья рассчитана на построение световых узоров, так что, если у вас под рукой есть программируемая LED гирлянда с другим протоколом, вам надо будет, переписать программу и подключить гирлянду в соответствии с datasheet.
5 вольтовый источник тока, рассчитанный на ток, потребляемый вашей гирляндой. Обычно продавец указывает ток, потребляемый гирляндой.
Arduino любой версии. Автор использовал стандартный Arduino Uno.
Зеленая акриловая краска
Изолента
Провод.
Желательно иметь разъемы JST чтобы было легче соединять гирлянду с контроллером

Перед тем как начать собирать елочную гирлянду, убедитесь, что все светодиоды исправны. В интернете можно найти, как подключить WS2811 к Arduino.

Определите выводы +5V и GND по datasheet на вашу WS2811
Красный = + 5В
Синий = GND
Белый = Данные

Подключение получается такое, как на картинке.

Установите популярную библиотеку WS2811 Arduino от Adafruit. Скачать и прочитать инструкцию по установке можно здесь:
Измените прилагаемый код в соответствии с длиной вашей гирлянды в #define LED_COUNT . Загрузите и запустите программу на Arduino. Обратите внимание, что пиксели меняют цвет от красного к зеленому, потом к синему, потом к белому в течении 5 сек. Это гарантирует, что все 3 светодиода внутри пикселя исправны.

(скачиваний: 1085)

Оценка падения напряжения.

Каждый светодиодный пиксель и последующая подключенная LED гирлянда, вызовет какое-то падение напряжения. Так что после 50 светодиода в вашей LED гирлянде напряжение источника питания упадет на какую-то заметную величину. Например, с 5в до 4.7В. Это означает, что следующая гирлянда, которую вы подключите к первой, будет запитана не от 5в, а от 4.7в и напряжение после нее упадет еще ниже. В результате каждый светодиод будет темнее, чем предыдущий. В конечном итоге, когда напряжение упадет до 3.3в, микросхема, обслуживания протокола WS2811, просто перестанет работать.

Так как в каждом пикселе по 3 светодиода и белый цвет свечения гирлянды означает, что все 3 светодиода светятся одинаково, на ней будет падать напряжение больше, чем, если бы горели, к примеру, только красные светодиоды. При запуске программы тестирования вы заметили сильные затемнения на концах гирлянды? Можете подключить туда дополнительно питание 5в. Автор сделал это через каждые 100 пикселей

Покраска гирлянды.

Нормальные новогодние гирлянды окрашены в зеленый цвет, чтобы сливаться с елкой. У вашей светодиодной гирлянды провода разного цвета. Подвесьте гирлянду и покрасьте провода в зеленый цвет акриловой краской, это займет немного времени. Корпуса WS2811 заверните в черную изоленту, это будет быстрее, чем красить их.


Определение позиции X и Y каждого пикселя

Повесьте собранную гирлянду на елку. После этого можно рассчитать положение каждого пикселя по X и Y и вставить эти данные в код программы. Для этого используйте вот этот файл с кодом. Раскомментируйте первую функцию loop () , которая зажигает секции по 10 светодиодов. Если у вас есть больше чем 50 светодиодов, то вы можете продлить эту секцию простым копированием, не забывая указывать нужное количество в #define LED_COUNT

Постарайтесь наложить сетку так, чтобы самый нижний левый светодиод попал в ячейку 1.1. Это делается для того, чтобы программа смогла определить середину дерева в обоих X и Y направлениях. Ввод X и Y координат это ручной процесс, каждую координату вы будете получать, смотря на видео. 200 координат звучит, конечно, устрашающе, но времени это займет в пределах 20 минут.

Можно распечатать сетку и приложить ее к монитору компьютера или дисплею телефона, чтобы не возиться с видеоредакторами.

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

(скачиваний: 1240)

По видео вы можете понять логику работы программы и написать свои шаблоны или поменять код под себя. Другой прикрепленный файл - это файл настройки, чтобы Arduino управлялся через последовательный интерфейс с другого устройства. Автор использовал Raspberry Pi для управления Arduino.

Вот такая новогодняя гирлянда с использованием Arduino и комплекта WS2811.

(скачиваний: 1132)

Интересно всегда было попробовать светодиодную ленту 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 - компьютерная платформа, используемая при построении простых систем автоматики, небольшая плата со встроенным микропроцессором и оперативной памятью. Управление светодиодной лентой через Arduino - один из способов ее применения.

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

Принцип действия Arduino

«Сердце» платы Arduino - микроконтроллер, к которому подключаются датчики, управляющие элементы. Заданная программа (называется «скетч») позволяет управлять электродвигателями, светодиодами в лентах и других осветительных приборах, даже используется для контроля над другой платой Arduino через протокол SPI. Контроль осуществляется при помощи пульта ДУ, Bluetooth-модуля или сети Wi-Fi.

Для программирования используется открытый исходный код на ПК. Для загрузки программ управления можно пользоваться USB-коннектором.

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

На плате Arduino есть порты двух типов - цифровые и аналоговые. Первый имеет два состояния - «0» и «1» (логические ноль и единица). При подключении светодиода к плате в одном состоянии он будет светиться, в другом - нет.

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

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

Подключение к Arduino

Прямое подключение светодиодной ленты к Arduino уместно только в случае применения слабых LED-диодов. Для светодиодной ленты между ней и платой необходимо установить дополнительные электротехнические элементы.

Через реле

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

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

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

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

Обратите внимание! В идеале нужно пользоваться транзистором n-p-n типа на базе общего эмиттера. Если требуется большое усиление, примените транзисторную сборку.

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

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

Обязательно добавьте к схеме резистор для ограничения тока. Из-за высокой чувствительности к помехам к выходу контроллера подключается масса резистора на 10 кОм.

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

Если нет желания использовать реле и транзисторы, можно купить целые блоки - платы расширения. К ним относятся Wi-Fi, Bluetooth, эквалайзер, драйвер и т. д., которые необходимы для управления нагрузкой разных мощностей и напряжений. Это могут быть как одноканальные элементы, которые подойдут монохромным лентам, так и многоканальные (для управления цветными RGB-лентами).

Различные программы

Библиотеки с программами для платы Arduino можно загрузить с официального сайта или найти в Интернете на других информационных ресурсах. Если есть навыки, можете даже самостоятельно написать скетч-программу (исходный код). Для сбора электрической цепи не требуется каких-то специфичных знаний.

Варианты применения системы под управлением Arduino:

  1. Освещение. Наличие датчика позволит задать программу, в соответствии с которой свет в комнате либо появляется сразу, либо плавно включается параллельно заходу солнца (с увеличением яркости). Для включения можно использовать Wi-Fi, телефон и интеграцию в систему «Умный дом».
  2. Освещение коридора и лестничных площадок. Arduino позволит организовать освещение каждой детали (к примеру, ступени) отдельно. Добавьте в плату датчик движения, чтобы адресные светодиоды загорались последовательно в зависимости от того места, где зафиксировано движение объекта. Если движения нет, диоды будут гаснуть.
  3. Светомузыка. Воспользуйтесь фильтрами и подайте на аналоговый вход звуковые сигналы, чтобы на выходе организовать светомузыку (эквалайзер).
  4. Модернизация компьютера. Некоторые датчики позволят создать зависимость цвета светодиодов от температуры процессора, его загрузки, нагрузки на оперативную память. Используется протокол DMX 512.

Микросхемы Arduino расширяют возможности применения монохромных и многоканальных (RGB) светодиодных лент. Помимо слияния различных цветов, образования сотен тысяч оттенков сможете создать неповторимые эффекты - затухание при заходе солнца, периодическое включение/выключение при фиксации движения и многое другое.

Здравствуйте Хабр-сообщество.

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

К таким лентам можно купить источник питания, диммер, диммер с пультом управления. Это позволит вам использовать светодиодную ленту для посветки. Однако если вы захотите запи запрограммировать алгоритм изменения цвета, или сделать управление из компьютера - то тут начинается разочарование. Вы в продаже не найдете диммеров с управлением через COM-порт или Ethernet.

Добро пожаловать под кат.

Теоретическая часть

Для реализации плавного изменения свечения всех 3 каналов нам потребуется сделать собственный димер. Сделать его очень просто, для этого требуется взять силовые ключи и управлять ими с помощью ШИМ сигнала. Также наш диммер должен быть программируемым и/или управляемым из вне.

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

Для реализации задуманного я выбрал Arduino Leonardo. Она одна из самых дешевых плат Arduino, и она имеет много выводов с поддержкой ШИМ.

PWM: 3, 5, 6, 9, 10, 11, and 13. Provide 8-bit PWM output with the analogWrite() function.

И так, источник ШИМ у нас имеется, остаётся придумать с силовыми ключами. Если побродить по интренет магазинам, то выяснится, что не существует модуля 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:
#define GRBLED_PIN_R 9 // пин для канала R #define GRBLED_PIN_G 10 // пин для канала G #define GRBLED_PIN_B 11 // пин для канала B int rgbled_r=0, rgbled_g=0, rgbled_b=0; void setup(){ //enable serial datada print Serial.begin(9600); Serial.println("RBG LED v 0.1"); // RGBLED pinMode(GRBLED_PIN_R, OUTPUT); pinMode(GRBLED_PIN_G, OUTPUT); pinMode(GRBLED_PIN_B, OUTPUT); } void loop(){ // change color rgbled_r = (rgbled_r+1)%1024; rgbled_g = (rgbled_g+2)%1024; rgbled_b = (rgbled_b+3)%1024; // Output Z1_output_rgbled(); delay(1); } void Z1_output_rgbled() { analogWrite(GRBLED_PIN_R, rgbled_r); analogWrite(GRBLED_PIN_G, rgbled_g); analogWrite(GRBLED_PIN_B, rgbled_b); }

На видео можно увидеть как это работает:

Экономическая часть






















L298N Module Dual H Bridge Stepper Motor Driver Board Modules for Arduino Smart Car FZ0407 $ 5.31 1
Leonardo R3 Development Board for Arduino Compatiblae + USB Cable Wire FZ0437 $ 10.00 1
5050 LED Strip RGB and single color 5M DC12V/24V 60leds/m Waterproof Flexible Car auto Strip Light saving light $ 12.38 1
Retail AC85~265V to DC 12V/6A power supply adaptor transformer switching for led light $ 9.98 1

Итого $37,65 = 1 300 руб

Вместо заключения

Для тех, кто захочет повторить описанную здесь схему - хочу заметить, что драйвер L298N рассчитан на ток 2-3А, а RGB светодиодные ленты, на светодиодах 5050 с плотностью 60 светодиодов на метр, продающиеся по 5 метров, могут потреблять до 6А. По этому если вы хотите использовать длинные и яркие ленты - возможно потребуется схему модернизировать (подключать ленту по сегментам, или взять более мощный драйвер) или использовать ленты по проще.

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

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

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

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



Рекомендуем почитать

Наверх