Что такое адресная светодиодная LED лента: питание, мощность, подключение, выбор
Адресная светодиодная лента – это длинная цветная RGB светодиодная лента на основе гибкой печатной платы, на которой на одной стороне размещаются RGB светодиоды с ограничивающими резисторами, конденсаторами и управляющими контроллерами. От обычной RGB светодиодной ленты адресная светодиодная лента отличается тем, что на ней все светодиоды подключаются параллельно и каждый из них отдельно управляется своим контроллером.
Как и для любой светодиодной ленты, адресной светодиодной ленте требуется стабилизированный источник питания с большим током отдачи.
Плюсы и минусы
В адресной светодиодной ленте Arduino яркость и режим работы каждого диода задаются отдельно.
В RGB-лентах красный, зеленый и синий светодиоды объединены в блок, который правильнее назвать пикселем. Пиксели управляются независимо друг от друга.
У таких устройств масса достоинств.
- Их можно использовать для «умного» освещения. Не составит труда собрать динамическую подсветку, бегущую строку или сделать так, чтобы свет включался по расписанию. Подключите дополнительные модули, например, датчик движения, и когда вы зайдете в комнату, начнется светопреставление. А еще их работой можно управлять дистанционно с пульта и смартфона.
- Простота настройки. Вы можете самостоятельно написать программы для работы или воспользоваться готовыми шаблонами.
- Светодиодные полосы надежны и долговечны. Они не нагреваются и не требуют больших затрат на энергию.
- Доступность – еще один плюс. Диодные ленты широко распространены на рынке, выбрать нужную не составит труда. Самые бюджетные стоят 200 руб. за метр, более яркие – от 500 руб.
Но есть и недостатки.
- Нужен отдельный источник питания на 5 или 12 В. Блок Arduino может дать только 800 мА тока, которого хватит только на 13 пикселей (один пиксель потребляет 40-60 мА).
- Соединения требовательны к качеству пайки.
Если вы умеете хорошо паять, то собрать схему не составит труда. А если не умеете, то самое время научиться. Так что смело приступайте к выбору светотехники.
Практическая часть часть
Для реализации потребуется Arduino Leonardo, Модуль управления двигателями L298N, Источник 12В (для запитки ленты), сама RGB лента, соединительные провода.
Для удобства подключения я еще использовал Fundruino IO Expansion, но он никакой функциональной нагрузки не несет.
Схема подключения показана на рисунке.
Хочу дополнительно описать питание системы. В данной схеме питание подается на модуль управления двигателями, в нем стоит понижающий источник питания на 5В, и эти 5В я подаю на вход Vin питания Arduino. Если разорвать эту связь (естественно земли оставив соединенными), то запитывать Arduino и силовые ключи можно от разных источников питания. Это может быть полезно когда к Arduino много всего подключено, и источник в модуле управления двигателями не справляется (выключается по перегреву).
Управляется RGB лента с помощью команд analogWrite, которая настраивает выход для формирования ШИМ сигнала.
Исходный код программы для arduino:
На видео можно увидеть как это работает:
Выбор RGB ленты
Для этого проекта нам понадобится именно RGB светодиодная лента, та — что с четырьмя контактами.
Также существуют варианты RGB с тремя, пятью и даже шестью контактами, все они для нашего проекта без переделок не подойдут.
Вариант с тремя контактами – это адресная лента. Для управления такой лентой нужная другая схема и другой программный код, поэтому рассмотрим этот вариант в отдельной статье.
Вариант с пятью и шестью контактами это RGBW и RGBWW ленты. Как вы уже догадались, буква W обозначает дополнительно припаянный белый светодиод, а WW два белых светодиода, такие ленты используются в случаях, если белым нужно светить гораздо ярче чем остальными цветами.
Обычная четырехконтактная лента способна светить белым цветом и без дополнительных светодиодов, просто включив все три своих цвета в равных пропорциях.
Библиотеки
Поискав в интернете, вы найдете, как минимум, две большие библиотеки для работы со светодиодами WS2812B. Под большими библиотеками я подразумеваю не количество функций и возможностей, хотя и это то же, а количество людей, участвовавших в их разработке. Конечно, поискав, еще можно найти и другие библиотеки, разработанные отдельно взятыми ардуинщиками, но работающими не на всех микроконтроллерах Arduino и с большим количеством багов.
- Библиотека FastLED, разрабатывается Даниэлем Гарсиа и Марком Кригсманом. Имеет свой сайт, справочную систему и большое сообщество в ~5000 человек. Библиотека написана на чистом Си, без использования Wiring. FastLED поддерживает все виды Arduino (и не только), а так же умеет работать с кучей различных протоколов и интерфейсов. В том числе и протокол для управления лентами на светодиодах WS2812B.
- Библиотека Adafruit NeoPixel (Полное описание на нашем сайте), разрабатывается компанией Adafruit Industries. Предназначена для работы со светодиодными лентами и неопиксельными кольцами, продаваемыми в их интернет магазине. Библиотека написана на Си и Ассемблере с небольшим использованием Wiring. Эдакая солянка. Поддерживает все виды Arduino. Содержит меньший функционал по сравнению с FastLED, немного медленней, но имеет более компактный вид, только основное для работы.
Теперь давайте напишем наш излюбленный пример Blink, используя обе эти библиотеки, и затем сравним их.
Библиотеки
Поискав в интернете, вы найдете, как минимум, две большие библиотеки для работы со светодиодами WS2812B. Под большими библиотеками я подразумеваю не количество функций и возможностей, хотя и это то же, а количество людей, участвовавших в их разработке. Конечно, поискав, еще можно найти и другие библиотеки, разработанные отдельно взятыми ардуинщиками, но работающими не на всех микроконтроллерах Arduino и с большим количеством багов.
- Библиотека FastLED, разрабатывается Даниэлем Гарсиа и Марком Кригсманом. Имеет свой сайт, справочную систему и большое сообщество в ~5000 человек. Библиотека написана на чистом Си, без использования Wiring. FastLED поддерживает все виды Arduino (и не только), а также умеет работать с кучей различных протоколов и интерфейсов. В том числе и протокол для управления лентами на светодиодах WS2812B.
- Библиотека Adafruit NeoPixel разрабатывается компанией Adafruit Industries. Предназначена для работы со светодиодными лентами и неопиксельными кольцами, продаваемыми в их интернет магазине. Библиотека написана на Си и Ассемблере с небольшим использованием Wiring. Эдакая солянка. Поддерживает все виды Arduino. Содержит меньший функционал по сравнению с FastLED, немного медленней, но имеет более компактный вид, только основное для работы.
Теперь давайте напишем наш излюбленный пример Blink, используя обе эти библиотеки, и затем сравним их.
Сфера применения
Относительно высокая стоимость светодиодов и лент, собранных на чипах WS2811 и WS2812B, ограничивает их область применения в сравнении с обычными LED-лентами. Главным образом их используют для решения таких задач, с которыми обычной светодиодной ленте не справиться:
- для сборки полноцветных модулей;
- в конструировании светильников, управляемых по принципу «soft lights»;
- в качестве декоративной подсветки чего-либо;
- в построении LED-видео экранов, используемых в уличной рекламе и шоу-бизнесе.
Интерес к адресной светодиодной ленте среди радиолюбителей вызван тем, что на её основе можно собрать подсветку, которая будет изменять цвет и яркость по заданному алгоритму.
Как подключить адресную ленту к Ардуино
Для этого занятия понадобится:
- Arduino Uno / Arduino Nano / Arduino Mega;
- лента WS2812B;
- макетная плата;
- 1 резистор от 100 до 500 Ом;
- провода «папа-папа».
WS2812B светодиоды довольно энергоемкие, один светодиод потребляет до 60 мА при максимальной яркости. Для ленты со 100 диодами потребуется блок питания на 6 и более Ампер. Микроконтроллер Arduino и светодиодная лента могут быть подключены к разным источникам питания, но «земля» должна быть общая. Дело в том, что пин GND тоже участвует в управлении адресной лентой от платы Ардуино Уно.
Схема подключения адресной ленты 5 Вольт к Ардуино
WS2812B | Arduino Uno | Arduino Nano | Arduino Mega |
GND | GND | GND | GND |
5V | 5V | 5V | 5V |
DO | 10 | 10 | 10 |
Для работы с лентой используются три популярные библиотеки — FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки доступны для скачивания на нашем сайте. Работать с библиотеками FastLED и Adafruit NeoPixel просто, отличаются они в функциональности и объеме занимаемой памяти. После сборки этой простой схемы и установки библиотек, загрузите скетч для адресной светодиодной ленты.
Скетч. Тестирование адресной ленты WS2812
Пояснения к коду:
- нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».
Схема подключения адресной ленты 12 Вольт к Ардуино
Если у вас лента на 12 Вольт, то ее нужно подключать по схеме, размещенной выше. Резистор на цифровом пине защищает его от выгорания (если питание к ленте будет отключено, то она начнет питаться от цифрового пина, при этом пин может выгореть. Также не стоит подключать питание ленты к плате Ардуино, иначе может выгореть защитный диод на Ардуино или USB порт на компьютере (в худшем случае).
Скетч. Управление адресной лентой Ардуино
Пояснения к коду:
- с помощью библиотеки Adafruit NeoPixel довольно просто управлять адресной лентой. В примерах к библиотеке можно найти много различных эффектов. Мы продемонстрировали простой вариант с циклом for для включения ленты.
Заключение. В этом обзоре мы рассмотрели лишь подключение и возможность управления адресной лентой от Ардуино. Так как возможности работы с библиотеками FastLED, AdafruitNeoPixel довольно разнообразны. Больше интересных примеров на Arduino и WS2812B размещено в разделе Проекты на Ардуино, где представлены проекты с бегущей строкой на адресной ленте и другие световые эффекты.