Как подключить адресную светодиодную ленту к ардуино?
Проект за пару дней: большой дисплей из светодиодных лент
Полгода назад мы дополнили наш почти традиционный офисный каток 7,6 тыс. светодиодами, чтобы транслировать изображения и видео прямо на поверхность льда. На гиктаймсе был опубликован пост, в котором рассказывалось о том, что подо льдом скрывается самый настоящий гигантский дисплей разрешением 120х63 «пикселей», на который можно выводить достаточно сложные и яркие изображения.
Часто нам задавали вопрос: можно ли своими руками сделать нечто подобное дома? Можно, почему нет? Про лед был подробный рассказ (вот история о первом катке — захватывающее чтиво в июльскую жару), а вот о способах превращения светодиодов в большой дисплей практически не упоминали.
Так как наши мейкеры люди занятые и предпочитают говорить о чем-то новом, а не пережевывать прошлое, публикация этой статьи откладывалась снова и снова.
В конечном счете мы решили перевести для вас понятный и наглядный туториал, после которого можно будет взять и повесить дисплей себе на стену.
Итак, выдохните, все будет просто. Бóльшая часть времени уйдет на сборку — придется немного покорпеть над соединением лент друг с другом. Они должны быть спаяны в последовательную цепь на задней стороне панели. Для рассеивания света защитное стекло будет матированным. Главный вопрос проекта — какое ПО использовать? Здесь все зависит от ваших потребностей: мы начнем с демокода и указателей, а в одной из следующих статей рассмотрим, как выводить на дисплей уведомления и котировки акций.
Что нам понадобится
- 10 м светодиодной ленты (продается в катушках по 5 м). Я использовал дешевый вариант — WS2812B. Если же вам хочется получить более высокое разрешение дисплея, можете приобрести ленту с плотностью 60 светодиодов/метр;
- блок питания на 5 В и 10 А. Я использовал модель, у которой входное питание до 240 В подается на винтовые зажимы. Если вам нужно сделать дисплей более безопасным, выберите полностью закрытый блок питания;
- Arduino UNO;
- большое количество отрезков толстого провода. Я отрезал пучок от старого компьютерного блока питания;
- фоторамка 50х50 см;
- матирующий спрей и белая краска.
Общие затраты у меня получились меньше $100.
Также вам понадобятся инструменты:
- паяльник с припоем;
- клеевой пистолет;
- нож или ножницы;
- инструмент для снятия изоляции.
Сначала прочитайте пособие по работе с электроникой для начинающих!
Расчеты
Если вы приобрели рамку 50х50 см и такие же светодиодные ленты, как у меня, то сможете уместить в дисплей 15 отрезков по 15 светодиодов. Но ничто не мешает использовать рамку другого размера. Расстояние между светодиодами — около 30 мм, таким образом на один пиксель приходится примерно 30 мм2. Это наш 1DPI. Ну да, разрешение не как у Retina.
Рассчитайте, сколько отрезков ленты вам понадобится, и расчертите направляющие с обратной стороны панели. Семь раз проверьте, один раз отрежьте: у меня ленты немного различаются, потому что когда я начал их приклеивать, то обнаружил, что могу вместить только 14 отрезков по 15 светодиодов. Но это не страшно — в приложении можно легко настроить разное количество рядов пикселей и их длину. Отрежьте куски, подходящие для вашей рамки. К сожалению, я обнаружил, что у меня 15-е светодиоды в отрезках приходятся как раз на то место, где нужно припаивать соединительные провода. Поэтому пришлось их выпаивать.
Матирование стекла
Для лучшего рассеивания света я решил нанести на обе стороны стекла матирующий спрей. Делать это лучше на улице или на балконе, так как спрей вреден для здоровья. Наносить его необходимо как можно более равномерно.
После высыхания матирование получается очень устойчивым, но изначально необходимо добиться равномерного покрытия без каких-либо царапин. Также задуйте белой краской панель, которая будет видна сквозь стекло.
Отрежьте один из углов — здесь пройдут провода.
Крепление светодиодных лент
Для приклеивания лент к панели используйте суперклей. Я пробовал двусторонний скотч, но через несколько недель он отвалился. Клеевой пистолет еще хуже, ведь обе поверхности — панель и обратная сторона ленты — гладкие и не имеют пор.
Если вы приобрели светодиодные ленты в резиновом корпусе, то не сильно переживайте относительно точности размещения — их можно свободно двигать. Помните, что сигнал будет проходить через всю цепь, и у каждой ленты есть направление передачи сигнала.
Ленты нужно размещать так: у одной стрелка (направление сигнала) указывает направо, у следующей — налево, потом опять направо и т.д. То есть сигнал по дисплею будет идти «змейкой». Проверьте еще раз правильность размещения лент, прежде чем клеить их!
Пайка
Для соединения лент требуется по три провода разной длины. Внутреннюю пару контактов соединяем самым коротким проводом (на фото — красный), для средней пары берем провод подлиннее, а к внешним контактам припаиваем самый длинный.
В зависимости от того, какие ленты в данный момент соединяются, внутренние контакты будут либо питанием (+5V), либо заземлением (GND). Прежде чем припаивать провода, залудите их и сами контакты на лентах. На это уйдет больше всего времени, но это крайне важный момент.
Не торопитесь, дважды проверьте правильность соединяемых контактов!
Фиксация лент
После возни с подключением проводов вы можете обнаружить, что первая лента сдвинулась. Эту проблему я решил следующим образом: просверлил два маленьких отверстия и зафиксировал ленту стяжкой. Если у вас не было под рукой достаточно сильного клея, то таким образом можно дополнительно зафиксировать все ленты с обоих концов.
Проверка подключения
Шестой пин Arduino используется для передачи управляющего сигнала; напряжение питания должно подаваться напрямую от блока питания. Подключите заземление между лентами, Arduino и блоком питания. Не пытайтесь запитать ленты от Arduino, а также не подключайте блок питания к Arduino при подключенном USB (когда будет загружаться код для тестирования).
Скачайте и добавьте в соответствующую папку библиотеку AdafruitNeoPixel, затем запустите Arduino. Протестируйте подключение с помощью следующего кода, указав в первом параметре количество светодиодов (в нашем примере — 60):
Adafruit_NeoPixel strip =Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
Если анимация остановится на каком-то ряду, сразу отключите всю конструкцию и проверьте подключение. Возможные причины сбоя:
- неправильное направление ленты;
- вы спутали контакты при соединении лент;
- вы припаяли +5V к GND.
Поскольку рамка не была рассчитана на такую глубину размещения панели, мне пришлось сначала зафиксировать стекло клеевым пистолетом, а затем по периметру вставить резиновый уплотнитель, работающий буфером между стеклом и панелью со светодиодами. После завершающего тестирования помещаем панель в рамку и фиксируем ее клеевым пистолетом. В углу можно проделать небольшое отверстие для вывода проводов. Все, техническая сторона проекта завершена. Можете еще подумать над тем, возможно ли спрятать в рамке еще и блок питания с Arduino. А пока переходим к настройке ПО.
Glediator
Программа Glediator компании SolderLab.de очень хорошо подходит для анимирования светодиодных матриц на вечеринках или в ночных клубах.
Она способна управлять матрицей, состоящей из 512 светодиодов WS2812/NeoPixels, формируя до 24 кадров/сек — этого вполне достаточно для нашего дисплея, можно даже выводить на него простенькие анимационные гифы. Микшер позволит делать плавные переходы между анимациями.
Для работы с Glediator установите на Arduino UNO прошивку, и проверьте, чтобы сигнальный кабель был подключен к пину 6. Не забудьте прописать в переменной количество используемых вами светодиодов.
Запустите Glediator, откройте свойства и измените размер матрицы и режим вывода. Настройте порядок пикселей, если у вас используется другая схема, но по этому шагу мало документации, поэтому придется действовать методом проб и ошибок.
Если изображение на дисплее отличается от задуманного, попробуйте поиграть с настройками.
У меня работал порядок пикселей HS_BL — подозреваю, что это означает «horizontalsnake, startingbottomleft» (горизонтальная змейка, начало слева внизу).
Glediator — профессиональное приложение, не будем пока изучать его интерфейс и возможности. Загрузите в левое и правое окна разные анимации, затем двигайте микшер между ними. Или используйте готовый плейлист, который показан в видеоролике.
Библиотеки Adafruit NeoMatrix и Adafruit GFX
Компания Adafruit создала очень полезную библиотеку для работы со светодиодными матрицами. Сначала она называлась Adafruit GFX, и изначально предназначалась для TFT- и LCD-дисплеев.
Затем появилась модификация NeoMatrix, позволяющая полноценно работать с матрицами NeoPixel. Она имеет огромное количество простых в использовании функций по выводу текста или растровой спрайтовой графики.
Если вы в точности повторили мой проект, то можете воспользоваться этим кодом. Самая важная часть:
#define XSIZE 15#define YSIZE 14#define PIN 6Adafruit_NeoMatrix matrix =Adafruit_NeoMatrix(XSIZE, YSIZE, PIN,NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT +NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG,NEO_GRB+NEO_KHZ800); С первыми строками все понятно. В последних трех описывается схема матрицы: в данном случае первый пиксель находится слева внизу (bottomleft), пиксели расположены рядами (rows), соединенными зигзагообразно (zigzag). Если вы сделали иначе, то обратитесь к документации библиотеки.
Я задал в коде несколько спрайтов — смайлы. Вы можете создать собственные с помощью Java-приложения Img2Code, лежащего в папке библиотеки GFX.
В будущем мы рассмотрим использование библиотеки для вывода полезной информации вроде котировок акций или ленты , а пока предлагаю вам самостоятельно поиграть с кодом и загрузить собственные изображения.
На этом все. Вы создали большой дисплей из светодиодных лент. Теперь нужно придумать, как его использовать. Из оставшихся светодиодов можете создать лампу в виде облачка.
Источник: https://habr.com/post/395519/
Адресная светодиодная лента WS2812 и Arduino
Адресная светодиодная лента – это украшение любого проекта Arduino. С ее помощью вы можете создавать светомузыку, умную подсветку для телевизора, бегущие строки и другие проекты, в которых требуется отобразить информацию на широком экране.
Благодаря встроенным контроллерам, вы можете управлять каждым из светодиодов ленты в отдельности, управляя ими как пикселями на экране.
В этой статье мы разберемся, как работает адресная светодиодная лента, как ее подключить к Arduino, какие могут возникнуть проблемы и какие библиотеки лучше использовать для управления.
Адресные светодиодные ленты
Светодиодная лента — это набор связанных светодиодов, на которые может одновременно подаваться напряжение питания. Обычные ленты хорошо всем знакомы, они используются сегодня повсюду.
В адресной светодиодной ленте также используются светодиоды, но светоизлучающий диод может управляться отдельно и независимо от других.
Таким образом, адресные ленты можно использовать для более интеллектуального управления световым потоком на отдельных участках ленты, включая или выключая подсветку в нужное время и в нужном месте.
Сегодня наибольшей популярностью пользуются разноцветные светодиодные ленты RGB-формата, позволяющие получать множество цветов.Благодаря конструкции есть возможность управления цветом каждого светодиода, что позволяет создавать оригинальные световые эффекты.
Главное отличие адресной светодиодной ленты от обычной RGB ленты – это наличие специальных контроллеров (конструктивно выполненных в виде микросхем) возле каждого светодиода, что и дает возможность индивидуальной адресации и регулирования каждого оттенка.
Как правило, лента содержит 3-4 контакта для подключения. Два вывода используются для питания – 5 Вольт и земля, остальные один или два – логический, для управления свечением.
Управление умной лентой производится по цифровому протоколу.
Это значит, что без управляющего контроллера управлять устройством нельзя. Кстати, при прикосновении к цифровому входу может загореться несколько диодов – это связано с тем, что появляются помехи, которые контроллер принимает за команды.
Самыми популярными адресными светодиодными лентами являются устройства на чипах WS2812B и WS2811. В первом случае чип находится прямо внутри светодиода, то есть один прибор управляет свечением одного излучающего диода. Питание ленты составляет 5 вольт. Во втором случае чип помещается отдельно, и к нему подключаются 3 диода. Мощность – 12 вольт.
Как работает адресная светодиодная лента
Принцип работы ленты следующий. Она поделена на сегменты, в каждом из которых находятся светодиод и конденсатор. Они все подключены параллельно, а данные передаются последовательно от одного сегмента к другому. Управление осуществляется контроллером, в котором прописывается программа функционирования. Управлять лентой можно через платформу Ардуино.
Маркировка адресной ленты:
- Black PCB / White PCB – цвета подложки
- 1м/5 м – длина адресной ленты
- 30/60/74 и т.д. – сколько светодиодов приходится на 1 метр ленты
- IP30, IP65, IP67 – степень влаго- и пылезащищенности ленты.
Адресные светодиодные ленты используются для сборки полноценных модулей, в конструировании ламп с управлением soft lights, для декоративной подсветки, в построении диодных экранов уличной рекламы.
Лента на базе WS2812B
Лента на чипе WS2812B является более совершенной, чем ее предшественник WS2811. ШИМ драйвер в адресной ленте компактен, и размещается прямо в корпусе светоизлучающего диода.
Основные преимущества ленты на основе WS2812:
- компактные размеры
- легкость управления
- управление осуществляется всего по одной линии + провода питания
- количество включенных последовательно светодиодов не ограничено
- невысокая стоимость – покупка отдельно трех светодиодов и драйвера к ним выйдет значительно дороже
Лента оснащена четырьмя выходами:
- питание
- выход передачи данных
- общий контакт
- вход передачи данных.
Максимальный ток одного адресного светодиода равняется 60 миллиамперам. Рабочие температуры лежат в пределах от -25 до +80 градусов. Напряжение питания составляет 5 В +-0,5.
ШИМ драйверы ленты 8-мибитные – для каждого цвета возможно 256 градация яркости. Для установки яркости нужно 3 байта информации – по 8 бит с каждого светодиода. Информация передается по однолинейному протоколу с фиксированной скоростью.
Нули и единицы кодируются высоким и низким уровнем сигнала по линии.
Пример подключения к Arduino
Любая адресная светодиодная лента имеет начало и конец, которые важно не перепутать во время сборки. На них есть специальные обозначающие стрелки, которые указывают направление сигнала.
Лента WS2812B подключается к Ардуино следующим образом:
Схема подключения WS2812 к Arduino
Выходы питания с ленты 5В и земля соединяются с соответствующими контактами на микроконтроллере Ардуино. При подключении отрезка с более чем 13 светодиодами потребуется выносной блок питания.
Земля и минус блока питания должны быть соединены друг с другом. DIN можно подключить к любому цифровому порту на плате Arduino. Он используется для получения данных с контроллера.
Цифровой вход ленты идет на вход контроллера, поэтому между ними нужен токоограничивающий резистор номиналом 100-500 Ом. С его использованием нагрузка на пин будет ниже.
На другом конце ленты также есть 3 контакта, к которым можно подключить отрезки различной длины.
Источник: https://arduinka.pro/blog/podklyuchenie/adresnaya-svetodiodnaya-lenta-ws2812-i-arduino/
Адресная светодиодная лента ws2812 и Arduino
Адресная светодиодная лента – это украшение любого проекта Arduino. С ее помощью вы можете создавать светомузыку, умную подсветку для телевизора, бегущие строки и другие проекты, в которых требуется отобразить информацию на широком экране.
Благодаря встроенным контроллерам, вы можете управлять каждым из светодиодов ленты в отдельности, управляя ими как пикселями на экране.
В этой статье мы разберемся, как работает адресная светодиодная лента, как ее подключить к Ардуино и какие библиотеки лучше использовать для управления.
Купить адресную светодиодную ленту
Ленты ws2812 достаточно распространены на российском рынке, их без труда можно найти в многочисленных специализированных магазинах. Можем посоветовать интернет-магазин Giant4.
Ru с достаточно широким ассортиментом различных светодиодных лент и вполне низкими ценами, сопоставимыми с али.
Если же есть возможность и желание ждать товар с Алиэкспресса, то ниже мы собрали вместе некоторые популярные варианты у надежных поставщиков:
инструкции и ролики
Обучающее видео на канале HomeMade:
по созданию бегущей строки на базе ленты ws2112
Лента на базе ws2812b
Лента на базе ws2812b
Лента на чипе ws2812b является более совершенствованной, чем ее предшественник. ШИМ драйвер в адресной ленте компактен, и размещается прямо в корпусе светоизлучающего диода.
Основные преимущества ленты на основе ws2812b:
- компактные размеры;
- легкость управления;
- управление осуществляется всего по одной линии + провода питания;
- количество включенных последовательно светодиодов не ограничено;
- невысокая стоимость – покупка отдельно трех светодиодов и драйвера к ним выйдет значительно дороже.
Лента оснащена четырьмя выходами:
- питание;
- выход передачи данных;
- общий контакт;
- вход передачи данных.
Максимальный ток одного адресного светодиода равняется 60 миллиамперам. Рабочие температуры лежат в пределах от -25 до +80 градусов. Напряжение питания составляет 5 В +-0,5.
ШИМ драйверы ленты 8-мибитные – для каждого цвета возможно 256 градация яркости. Для установки яркости нужно 3 байта информации – по 8 бит с каждого светодиода. Информация передается по однолинейному протоколу с фиксированной скоростью. Нули и единицы кодируются высоким и низким уровнем сигнала по линии.
1 бит передается за 1,25 мкс. Весь пакет из 24 бит для одного светодиода передается за 30 мкс.
Пример подключения к ардуино
Любая адресная светодиодная лента имеет начало и конец, которые важно не перепутать во время сборки. На них есть специальные обозначающие стрелки, которые указывают направление сигнала.
Лента ws2812B подключается к Ардуино следующим образом.
Лента ws2812B подключается к Ардуино следующим образом
Еще один вариант подключения:
Подключение ws2128 к Ардуино
Выходы питания с ленты 5В и земля соединяются с соответствующими контактами на микроконтроллере Ардуино.
При подключении отрезка с более чем 13 светодиодами потребуется выносной блок питания. Земля и минус блока питания должны быть соединены друг с другом.
DINможно подключить к любому цифровому порту на Ардуино. Он используется для получения данных с контроллера.
Цифровой вход ленты идет на вход контроллера, поэтому между ними нужен токоограничивающий резистор номиналом 100-500 Ом. С его использованием нагрузка на пин будет ниже. На другом конце ленты также есть 3 контакта, к которым можно подключить отрезки различной длины.Каждый блок ленты состоит из трех светодиодов. Соответственно, для управления подсветкой потребуется 3 байта – по одному на каждый свет. Каждый байт принимает значение от 0 до 255 – это значит, что есть возможность задания более 16 миллионов оттенков.
Данные передаются следующим образом:
- ШИМ драйвер забирает первые 3 байта, остальные передаются на выход D0;
- затем пауза длительностью 50 мкс;
- второй драйвер принимает следующие 3 байта.И так далее.
- Когда длительность задержки становится более 50 мкс, передача окончена и начинается второй цикл.
Причины проблем при работе с адресной светодиодная лентой:
- неправильное соединение с землей;
- сигнальный провод идет не в начало схемы;
- перепутаны земля и 5 В;
- если получаются цвета ближе к красному, проблема с блоком питания, пайкой линии или слишком тонкие провода;
- после подключения без резистора пин на Ардуино может сломаться, поэтому придется переключать на другой.
Библиотеки Ардуино для работы со светодиодной лентой
Для управления адресной светодиодной лентой существует 3 библиотеки: FastLED, AdafruitNeoPixel и LightWS2812. Наиюолее популярной является первая. Она поддерживает все версии Ардуино и различные протоколы данных, которые используются не только для адресной ленты. Но надо иметь в виду, что FastLED более ресурсоемкая.
Вторая библиотека, AdafruitNeoPixel, чаще используется при работе со светодиодными кольцами. Возможностей меньше, скорость ниже, но она менее требовательна к ресурсам, в ее составе только самое нужное. Поддерживает все версии Ардуино. Третья библиотека используется не очень часто.
Работать с библиотеками FastLED и Adafruit NeoPixel одинаково просто. Их отличия заключаются в функциональности и объеме занимаемой памяти.
Основные моменты подключения ленты:
- Команды передаются друг за другом, и нужно не перепутать начало и конец. D1 принимает команды, D0 используется для подключения дополнительных отрезков.
- Для подключения цифрового входа нужно резистор.
- При монтаже адресной светодиодной ленты нельзя допускать статического электричества.
- Если между лентой и Ардуино расстояние более 15 см, сигнальный провод и землю нужно перекрутить в косичку. Это поможет избежать наводок.
- Питание. Каждому светодиоду в сегменте нужно 20 мА. Суммарный ток будет составлять 60 мА. Нужно просчитать общий ток ленты, и, исходя из полученного значения, подбирать блок питания. Например, лента длиной 1 м с 60 диодами будет потреблять 60*60=3600 мА=3,6 Ампер. Блок питания подбирается с похожей мощностью.
- Силовые точки должны быть запаяны качественно. Провода должны иметь такое сечение, чтобы выдерживать подаваемую нагрузку. Минимальное сечение 1,5 кв.м. При тонких проводах заданный программно белый цвет будет отдавать красным оттенком.
- Помехи. Лента, которая мигает, может создать помехи на линии. Если она с контроллером получает напряжение от одного источника, то помехи пойдут на микроконтроллер. Это может привести к нестабильности работы и различным сбоям. Решением проблемы будет установка электролитического конденсатора емкостью 470 мкФ на питание микроконтроллера и конденсатор на 1000 или 2200 мкФ на питание ленты.
- Если лента и устройство управления питаются от источников с разным напряжением, нужно использовать преобразователь уровня.
- Рекомендуется подавать на ленту менее 5 В питания.
- Питание в длинной ленте советуется распределить по всей длине. В ином случае моет произойти перегрев токопроводящих дорожек.
- На ленте имеется толстый слой меди. От точки питания по ленте может падать напряжение. Для удаления подобной проблемы нужно дублировать питание при помощи медного провода сечением минимум 1,5 кв.м. через каждый метр.
Соблюдение основных моментов и следование инструкции позволяет самостоятельно подключить адресную светодиодную ленту к вашему проекту.
Источник: https://ArduinoMaster.ru/datchiki-arduino/adresnaya-svetodiodnaya-lenta/
Адресная светодиодная лента и её подключение к Arduino
В отличие от обычной светодиодной RGB-ленты, в которой все светодиоды одинаково реагируют на сигнал с RGB-контроллера, в адресной LED-ленте каждый светодиод получает индивидуальную команду управления.
В результате пользователь может максимально точно подбирать оттенок для каждого светодиода, создавать световые эффекты и собирать матрицы с 16 млн цветов.
В чём уникальность адресной светодиодной ленты и как научиться ею управлять? Об этом и пойдет речь в данной статье.
Технические характеристики
Адресная светодиодная лента состоит из RGB-светодиодов в SMD корпусе 5050 и микрочипов ШИМ-драйверов.
В настоящее время наиболее популярными являются адресные LED-ленты с использованием чипов WS2811 и WS2812B.
Модификация WS2811 представляет собой интегральную микросхему (ИМС) в корпусе DIP-8 (9,2х6,4 мм) или SOP-8 (5,1х4,0 мм). Данный 3-канальный драйвер имеет следующую конфигурацию выводов:
- 1 – ШИМ-регулируемый выход (красный);
- 2 – ШИМ-регулируемый выход (зелёный);
- 3 – ШИМ-регулируемый выход (синий);
- 4 – общий;
- 5 – выход передачи данных;
- 6 – вход передачи данных;
- 7 – выбор режима работы;
- 8 – питание +5В.
В адресной ленте с использованием чипа WS2811 и питанием 5 вольт микросхема драйвера располагается в непосредственной близости перед каждым RGB-светодиодом SMD 5050, рядом с которым также установлены токоограничивающие резисторы и конденсатор, защищающий от помех.
Но на сегодняшний момент такие модели устарели и встречаются крайне редко. Сегодня в продаже имеются адресные светодиодные ленты на чипах WS2811 только с питанием от +12 В. В этом случае чип WS2811 управляет не одним светодиодом, а группой из 3 штук.
Не успела ИМС WS2811 обрести популярность, как её место заняла более совершенная WS2812B. Данный тип ШИМ-драйвера намного компактнее и размещается непосредственно в корпусе светодиода SMD 5050.
Если присмотреться, то под прозрачным люминофором можно увидеть миниатюрный чёрный прямоугольник с отходящими позолоченными проводниками. Подобная унификация позволила значительно упростить сборку адресных светодиодных лент и модулей, а сам WS2812B имеет лишь 4 вывода:
- 1 – питание (+3,5… +5,3 В);
- 2 – выход передачи данных;
- 3 – общий;
- 4 – вход передачи данных.
ИМС драйвера потребляет не более 1 мкА, а максимальный ток одного адресного светодиода составляет 60 мА. Диапазон рабочих температур: от -25 до +80°C.
При выборе адресной светодиодной ленты важным критерием является степень защиты от влаги и пыли. Для использования в уличных условиях подойдут только модели с IP65 и IP67.
Сфера применения
Относительно высокая стоимость светодиодов и лент, собранных на чипах WS2811 и WS2812B, ограничивает их область применения в сравнении с обычными LED-лентами. Главным образом их используют для решения таких задач, с которыми обычной светодиодной ленте не справиться:
- для сборки полноцветных модулей;
- в конструировании светильников, управляемых по принципу «soft lights»;
- в качестве декоративной подсветки чего-либо;
- в построении LED-видео экранов, используемых в уличной рекламе и шоу-бизнесе.
Интерес к адресной светодиодной ленте среди радиолюбителей вызван тем, что на её основе можно собрать подсветку, которая будет изменять цвет и яркость по заданному алгоритму.
Как это работает?
Адресная лента WS2812B поделена на сегменты, в каждом из которых расположен светодиод и конденсатор (для повышения помехоустойчивости).
Относительно напряжения питания все они между собой подключены параллельно, то есть +5 В будет присутствовать на каждом сегменте. А вот передача данных осуществляется последовательно: от предыдущего сегмента к последующему.
Поэтому при выходе из строя одного из светодиодов цепи все следующие сегменты перестанут светиться.
Управление готовыми устройствами и модулями на базе WS2812B производится с помощью специализированного контроллера, внутри которого записана программа. На радиолюбительском уровне управлять работой адресной светодиодной ленты удобней всего через Arduino, используя для этого небольшую программу – скетч.
Схема подключения к Arduino
У каждой адресной ленты есть начало и конец, которые нельзя менять местами во время сборки схемы. Чтобы не запутаться, производители используют условные обозначения, например, стрелки, указывающие направление сигнала.
Подключение адресной светодиодной ленты WS2812B к Arduino производится по трём проводам, как показано на рисунке. Контакты питания +5V и GND соединяют с соответствующими выводами на плате Arduino. Если подсоединяемый отрезок насчитывает более 13-ти светодиодов, то необходимо использовать выносной блок питания.
При этом общий провод (GND) Arduino и «минус» блока питания должны быть соединены между собой. Контакт DIN (digital input) предназначен для приёма данных от контроллера и электрически соединяется с любым из его цифровых портов.
С другой стороны адресной ленты (и каждого сегмента тоже) размещено 3 контакта: +5V, DO (digital output) и GND, к которым можно подключить ещё несколько отрезков разной длины.Так как каждый элемент WS2812B фактически состоит из 3 светодиодов (синего, красного, зелёного), то для управления его свечением потребуется 3 байта (по одному на каждый цвет).
В свою очередь, каждый байт может принимать значение от 0 до 255, в результате чего можно задать более 16,5 млн оттенков. Размер скетча будет равен количеству светодиодных сегментов, умноженному на 3.
Передача данных происходит следующим образом:
- ШИМ-драйвер WS2812B первого сегмента забирает из посылки первые 3 байта, пропуская остальные данные на выход DO.
- Далее следует пауза длиною до 50 мкс, означающая, что второй по счёту драйвер должен принять следующие 3 байта. И так далее. Длительность паузы больше 50 мкс означает конец передачи и повторение цикла.
Для работы с адресными лентами и модулями проще всего использовать библиотеки FastLED и Adafruit NeoPixel.
Внутри каждой библиотеки есть готовые скетчи, на основе которых несложно научиться самостоятельно создавать новые световые эффекты.
Чтобы скетч заработал с первого раза, необходимо в заголовке правильно указать количество светодиодов в ленте (NUM_LEDS) и номер порта для передачи данных (PIN).
Где можно приобрести?
Адресную светодиодную лентe без труда можно найти в любом специализированном магазине. Из проверенного варианта, отличающегося не высокими ценниками и хорошим качеством продукта, можно посоветовать интернет-магазин www.giant4.ru. Также адресную LED-ленты можно приобрести и на всем известной площадки AliExpress.com.
Чтобы избежать проблем с некачественной продукцией, при покупке товара на AliExpress стоит внимательно изучать товар и отзывы покупателей.
Источник: https://ledjournal.info/spravochnik/adresnaja-svetodiodnaja-lenta.html
Светодиодная лента Ардуино. Управление лентой на Ардуино. Идеи
Светодиодная лента Ардуино
Рынок светодиодного освещения набирает бешеные обороты, и не сложно понять, почему. Они дешевы для производства, потребляют значительно меньше энергии, чем другие варианты освещения, и в большинстве случаев не нагреваются, что делает их безопасными для самых разных целей.
Одним из самых популярных светодиодных продуктов является LED-лента. В этой статье мы рассмотрим, как настроить два наиболее распространенных типа светодиодных лент на Arduino. Эти проекты очень просты, и даже если вы новичок в электронике Arduino или DIY, вы сможете это сделать.
Мы также будем использовать IDE Arduino для их контроля. В этом проекте используется Arduino Uno, хотя вы можете взять практически любую совместимую плату (например, NodeMCU). Здесь ссылки на все описанные в статье устройсва и материалы.
Перейдя по ссылкам ниже вы сможете купить себе светодиодные ленты и Ардуино по партнерской цене.
Arduino по лучшей цене с дополнительной скидкой от Lightru SPI светодиодная лента – отличного качества – по партнерской цене
Руководство по выбору светодиодных лент к Arduino
При покупке светодиодных лент есть несколько вещей, которые следует учитывать. Во-первых, это функциональность.
Если вы планируете использовать устройства в основном для окружающего освещения, то правильным выбором станет простая диодная полоса 12 В RGB (SMD5050).
Многие приборы поставляются с инфракрасным пультом для управления ими, хотя в этом проекте мы будем использовать Arduino. Потратьте немного времени на покупки. На момент написания статьи метр ленты можно было купить всего за 1 доллар.
Если вы хотите что-то более высокотехнологичное, рассмотрите SPI RGB ленту.
Эти полосы, иногда называемые Neopixels, имеют интегрированные чипсеты, которые позволяют им управлять каждым диодом поодиночке.
Это означает, что они способны на большее, чем просто дополнительное освещение. Вы можете использовать их для создания дешевого светодиодного дисплея с нуля.
Из лент можно соорудить даже собственную домашнюю тучку с извергающими молниями. Или бегущую светодиодную ленту.
Подробне о SPI RGB лентах вы можете прочитать здесь.
Эти полосы требуют всего 5 В для полноценного питания. Несмотря на то, что можно подавать небольшое количество мощности непосредственно с платы Arduino, обычно рекомендуется использовать отдельный источник питания 5 В, чтобы избавиться от запаха гари.
Если вы ищете индивидуально программируемые светодиоды, светодиодная лента Ардуино — лучшая находка для вас. В данный момент стоимость 1 метра равняется примерно 4 долларам — 270 рублям. Еще одна вещь, которую следует учитывать, — это то, где ленты, вероятно, будут использоваться.
Оба типа полосы имеют различную длину, плотность светодиодов — количество диодов на метр — и разную степень защиты от атмосферных воздействий.
Осматривая светодиодную ленту, обратите внимание на цифры в листинге. Обычно первым номером будет количество светодиодов на метр, а буквы IP, за которыми следуют цифры, будут его степенью защищенности.
Например, если в списке указано «30 IP67», это означает, что на метр будет 30 светодиодов. «6» — признак того, что устройство полностью защищено от пыли. «7» значит, что прибор не пострадает от непродолжительного погружения в воду. После того, как вы приобретете светодиодную полоску, придет время связать ее с Arduino. Начнем с SMD5050.
Светодиодная лента Ардуино — Подключение
Чтобы подключить 12v светодиодную ленту к Arduino, вам понадобится несколько компонентов: ● 12v RGB светодиодная лента(SMD5050); ● 1 x Arduino Uno (любая совместимая плата подойдет); ● 3 x 10 кОм резисторов; ● 3 x логических уровня N-канальных МОП-транзисторов (MOSFET); ● 1 х макет; ● Монтажные провода;
● Блок питания на 12 В.
Прежде чем настраивать схему светодиодная лента Ардуино, давайте поговорим о МОП-структуре — MOSFET
Всякий раз, когда вы управляете прибором с более высоким напряжением, чем у вашего микроконтроллера, вам нужно установить что-нибудь между ними, чтобы избежать поломки или даже возгорания. Один из простых способов сделать это — использовать MOSFET.
Передавая сигналы широтно-импульсной модуляции (ШИМ), вы можете контролировать количество энергии, проходящее между стоками и источником. Пропустив каждый из цветов светодиодной полосы через МОП-транзисторы, вы можете регулировать яркость каждого цвета на светодиодной ленте.
При использовании микроконтроллеров не забывайте о компонентах логического уровня для обеспечения стабильной работы. Убедитесь, что ваши МОП-транзисторы являются логическим уровнем, а не стандартным.
Настройте свою схему следующим образом:
1. Подключите контакты Arduino 9, 6 и 5 к концам затвора трех МОП-транзисторов и подключите резистор 10 кОм в соответствии с заземлением. 2. Подключите ножки источника к заземлению. 3. Подключите дренажные опоры к разъемам Green, Red и Blue на светодиодной ленте. 4.
Подключите шину питания к разъему +12v светодиодной полосы (обратите внимание, что на изображении выше провод питания черный, чтобы соответствовать цветам разъемов на моей светодиодной полосе). 5. Подключите заземление Arduino. 6. Подключите стабилизатор питания 12 В в сеть. Большинство светодиодных полосок имеет разъемы Dupont, к которым легко подключиться.
Если у вас нет таких, вам понадобится припаять провода к диодной ленте. Не паникуйте, если вы новичок в пайке — это легкая работа. В интернете есть множество руководств по началу работы с паяльником, с которыми можно ознакомиться, если пайка доставляет вам трудности.
Для этого проекта мы будем управлять нашей платой Arduino по USB .
Вы можете выбрать питание платы с помощью вывода VIN, но перед этим убедитесь, что вы знаете ограничения мощности для своего устройства.
После всех процедур схема и Светодиодная лента Ардуино должна выглядеть примерно так:
Теперь, когда вы все связали, пришло время сделать простой код Arduino, чтобы контролировать его.
Светодиодная лента Ардуино — написание кода
Подключите плату Arduino к компьютеру через USB и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный для вашей платы, в меню «Сервис»> «Сервис и инструменты»> «Порт».
Откройте новый эскиз и сохраните его с соответствующим именем.
Этот эскиз затухает с одноцветными огнями, держит их в таком состоянии в течение нескольких секунд, а затем исчезает, пока они не погаснут снова.
Вы можете сделать эскиз самостоятельно или просто загрузить готовый код из GitHub (https://gist.github.com/anonymous/d4fa3719478c3c5a9c321cc372e9540).
Начните с определения штырей, которые будут использоваться для управления МОП-транзисторами.#define RED_LED 6 #define BLUE_LED 5
#define GREEN_LED 9
Затем вам понадобятся переменные. Создайте общую переменную яркости вместе с переменной для яркости каждого цвета. Мы будем использовать только основную переменную яркости для выключения светодиодов, поэтому установите здесь максимальное значение 255.
Вам также потребуется создать переменную, чтобы контролировать скорость замирания.
int brightness = 255; int gBright = 0; int rBright = 0; int bBright = 0;
int fadeSpeed = 10;
В вашей настройке мы установим выводы Arduino. Мы также будем вызывать пару функций с задержкой в 5 секунд. Этих функций еще не существует, но не беспокойтесь, мы доберемся до них.
void setup() { pinMode(GREEN_LED, OUTPUT); pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn(); delay(5000); TurnOff(); } Теперь создайте метод TurnOn (): void TurnOn() { for (int i = 0; i < 256; i++) {
analogWrite(RED_LED, rBright); rBright +=1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(BLUE_LED, bBright); bBright += 1; delay(fadeSpeed); } for (int i = 0; i < 256; i++) { analogWrite(GREEN_LED, gBright); gBright +=1; delay(fadeSpeed); } }
Эти три цикла for полностью увеличивают яркость каждого цвета за время, указанное значением fadeSpeed. Наконец, вам нужно создать метод TurnOff (): void TurnOff() {
for (int i = 0; i < 256; i++) { analogWrite(GREEN_LED, brightness); analogWrite(RED_LED, brightness); analogWrite(BLUE_LED, brightness); brightness -= 1; delay(fadeSpeed); }}void loop() {} Этот метод применяет нашу переменную яркости ко всем трем цветным выводам и уменьшает их до нуля в течение определенного периода времени. Нам также нужен метод пустого цикла, чтобы избежать ошибок компиляции.
Закончив этот код, сохраните его. Проверьте код и загрузите на плату Arduino. Если вы видите ошибки, проверьте код снова на предмет каких-либо опечаток или отсутствующих точек с запятой.
Плавное включение светодиодной ленты на Ардуино
Теперь вы должны увидеть, что ваша светодиодная лента Ардуино наращивает яркость, удерживая белый оттенок в течение 5 секунд, а затем равномерно исчезает до нуля:
Если у вас возникли трудности, дважды проверьте свою проводку и код.
Ардуино и адресная светодиодная лента
Этот проект — простой способ начать работу, но идеи, которые он охватывает, могут быть расширены для действительно эффектного освещения. С помощью всего лишь нескольких компонентов вы можете создать свой собственный восход солнца. Если у вас есть стартовый комплект с Arduino, вы можете использовать любую кнопку или датчик для запуска светодиодов при входе в комнату, например:
Как мы видим, при открытии двери светодиодная лента Ардуино плавно зажигается и встречает человека
Теперь, когда мы рассмотрели схему с обычной светодиодной лентой, перейдем к адресным светодиодным лентам SPI RGB лента.
Светодиодная лента Ардуино — Яркие идеи
Эти ленты требуют меньшего количества компонентов для запуска, и есть некоторая свобода в отношении именно того, какие значения компонентов вы можете использовать. Конденсатор в этой цепи гарантирует, что светодиоды 5v получают постоянный источник питания. Резистор становится гарантом того, что сигнал данных, полученный от Arduino, не загружен всяческими помехами.
Вам понадобится:
● Светодиодная лента 5v WS2811/12/12B; Все три модели имеют встроенные микросхемы и работают одинаково.
● 1 x Arduino Uno или аналогичная совместимая плата;
● 1 x резистор 220-440 Ом;
● 1 x конденсатор microFarad 100-1000 (все, что между этими двумя значениями, отлично подойдет);
● Макет и монтажные провода;
● Блок питания 5 В.
Настройте схему, как показано на рисунке:
Обратите внимание, что конденсатор должен быть правильной ориентации
Вы можете понять, какая сторона прикрепляется к рейке земля, ища знак минуса (-) на корпусе конденсатора. На этот раз мы задействуем Arduino, используя источник питания 5 В. Это позволит устройству работать автономно.
Во-первых, убедитесь, что ваша плата может работать с 5 В, прежде чем присоединить ее к источнику питания. Почти все платы работают на 5V через USB-порт, но штыри питания на некоторых могут иногда пропускать регуляторы напряжения и превращать их в поджаренные тосты.
Кроме того, рекомендуется убедиться, что несколько отдельных источников питания не подключены к Arduino — отсоединяйте USB-кабель всякий раз, когда используете внешний источник питания.
После того, как все подключено, прибор должен выглядеть так:
Теперь, когда разобрались со светодиодной лентой, давайте перейдем к коду.
Светодиодная лента Ардуино — Бегущий огонь или световая волна
Чтобы безопасно запрограммировать нашу плату, отсоедините линию VIN от линии электропередач. Вы подключите ее позже обратно.
Присоедините свой Arduino к компьютеру и откройте Arduino IDE. Убедитесь, что у вас правильный номер платы и порта, выбранный в меню «Сервис»> «Сервис и инструменты»> «Порт».
Мы будем использовать библиотеку FastLED для тестирования нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена в среду IDE.
В разделе «Файл»> «Примеры»> «FastLED» выберите эскиз DemoReel100. В этом эскизе задействованы различные эффекты, которые можно сделать с помощью светодиодных полос WS2812, и невероятно легко настроить.Все, что вам нужно изменить, — это переменная DATA_PIN, чтобы она соответствовала значку 13 и переменной NUM_LEDS для определения количества светодиодов, находящихся в полосе, которую вы используете. В этом случае я применяю только небольшую линию из 10 светодиодов, вырезанных из более длинной полосы.
Используйте большее количество для красивейшего светового шоу!
Вот и все!
Загрузите эскиз на свою плату, отсоедините USB-кабель и включите источник питания 5 В.
Светодиодная лента Ардуино RGB
Если ничего не происходит, проверьте свою проводку и укажите правильный вывод Arduino в демо-эскизе.
Светодиодная лента Ардуино — Безграничные возможности
Демо-эскиз демонстрирует некоторые из многих возможных комбинаций эффектов, которые могут быть достигнуты с помощью светодиодных лент. Наряду с тем, что они являются украшением интерьера, их также можно использовать для практических целей.
Хорошим проектом будет создание вашей собственной атмосферы для медиацентра или рабочего места.
Хотя эти полосы определенно функциональнее, чем SMD5050, пока не списывайте со счетов стандартные 12-вольтовые светодиодные полосы. Они являются непревзойденными с точки зрения цены.
Плюсом будет то, что существует огромное количество приложений для светодиодных лент.
Учиться работать со светодиодными лентами — хороший способ познакомиться с базовым программированием на Arduino, но лучший способ учиться — изменять коды. Побалуйтесь с приведенным выше кодом и посмотрите, что вы можете сделать! Если все это слишком сложно для вас, подумайте о проектах Arduino для начинающих.
DMX контроллер
Управление DMX 512
Подключение контроллера к светодиодной ленте
Управление RGB лентой
Источник: https://lightru.pro/svetodiodnaya-lenta-arduino/