Адресная лента светодиодная что это
Arduino и адресная светодиодная лента
Описание
Адресная светодиодная лента, в отличие от обычной RGB, позволяет управлять цветом и яркостью каждого своего светодиода. Благодаря этому на ней можно отображать различные интересные эффекты, как статические, так и динамические. Сама по себе лента ничего не может, поэтому генерацией эффектов занимается микроконтроллер (или плата на его основе, например Arduino). Более подробно про виды адресных лент можно прочитать в моей статье.
В наборе GyverKIT есть 1 метр адресной светодиодной ленты WS2812b. При желании ленту можно докупить в том же магазине, где продаётся набор – Giant4.
Подключение
В рассмотренных выше схемах Arduino питается от USB. Для работы от адаптера можно подключить питание с него на пин 5V платы:
При наличии на ленте штекера можно подключать управление и питание следующим образом:
Примечание:
При работе с Wemos есть особенность: у него логический уровень 3.3V, чего не всегда хватает для передачи сигнала на ленту. При возникновении “артефактов” в эффектах можно подключить питание по следующей схеме: питать Wemos через диод (есть в наборе GyverKIT):
Библиотеки
Самой функциональной и известной библиотекой является FastLED, можно установить через диспетчер библиотек по названию FastLED. В библиотеке ОЧЕНЬ много возможностей, см. официальную вики-документацию, а также полный список модулей, классов и функций.
Как работать с FastLED
Коротко рассмотрим как работать с библиотекой FastLED и самые основные инструменты.
Логика работы с адресной лентой сводится к следующему: лента представляется в виде одномерного массива, каждый элемент – светодиод, точнее его цвет. Цвет светодиода кодируется тремя байтами, то есть 256 значений на каждый канал: красный, зелёный, синий. В программе можно производить различные манипуляции с этим массивом, то есть задавать цвета светодиодам при помощи различных инструментов библиотеки. Как только построение “кадра” закончено – массив можно отправить на ленту и светодиоды включатся соответственно заданным цветам.
Для начала обозначим константами длину ленты и пин, к которому она подключена, просто чтобы проще было редактировать программу в дальнейшем:
В блоке setup нам нужно передать в библиотеку информацию о подключенной ленте, а также подключить созданный выше массив. Чтобы программа знала, откуда брать информацию о цветах. По порядку указывается тип ленты, пин, порядок цветов. В круглых скобках – имя нашего массива, а также его размер – длину ленты:
Отлично! Всё настроено и готово к работе.
Общие функции
Помимо задания цветов в массиве, существуют следующие управляющие функции:
Тип данных CRGB
Библиотека организована так, что переменной типа CRGB можно задать значение несколькими способами. Рассмотрим задание цвета первому светодиоду в нашей ленте, то есть элемент массива под номером ноль: leds[0]
Подробнее про цветовые модели RGB и HSV можно почитать вот здесь.
Примеры
Итак, с базовыми понятиями разобрались, переходим к практике. Для начала зальём всю ленту статичной радугой. Для этого покрасим светодиоды в цикле, задав цвет от 0 до 255 от первого до последнего светодиода в ленте. Конструкция i * 255 / LED_NUM позволяет получить значения от 0 до 255 при изменении i от 0 до LED_NUM:
Можно сделать подвижную радугу, это будет уже полноценная анимация. Для этого ленту нужно постоянно обновлять новыми цветами, например 30 раз в секунду. Чтобы плавно менять цвет – добавим к нему счётчик, который будет меняться от 0 до 255 и так по кругу.
Можно сделать один бегающий светодиод: каждый раз очищать ленту и красить светодиод под номером, который задаётся счётчиком. Изменение счётчика закольцевать от 0 до количества светодиодов:
И таких эффектов можно придумать очень много! Займёмся этим уже в блоке проектов
Что такое адресная светодиодная LED лента: питание, мощность, подключение, выбор
Что такое адресная светодиодная лента
Адресная светодиодная лента – это длинная цветная RGB светодиодная лента на основе гибкой печатной платы, на которой на одной стороне размещаются RGB светодиоды с ограничивающими резисторами, конденсаторами и управляющими контроллерами. От обычной RGB светодиодной ленты адресная светодиодная лента отличается тем, что на ней все светодиоды подключаются параллельно и каждый из них отдельно управляется своим контроллером.
Как и для любой светодиодной ленты, адресной светодиодной ленте требуется стабилизированный источник питания с большим током отдачи.
Отличие обычной RGB ленты от адресной светодиодной ленты
Цвет обычной цветной светодиодной ленты задается одинаковым по всей длине одним внешним контроллером и таким образом можно задать практически любой цвет или оттенок. В адресной светодиодной ленте каждый установленный на ленте светодиод может управляться отдельно своим собственным ШИМ регулятором контроллером. Получается, что можно будет задать разные цвета всем светодиодам на ленте.
Очень часто управляемые RGB светодиоды в адресной светодиодной ленте подключаются к источнику питания 5 В, в таком случае на такой адресной светодиодной ленте все светодиоды подключаются параллельно. В последних современных версиях таких лент стали использовать соединение по три светодиода на участок последовательно, что позволило подключать их к источнику питания 12 В.
В отличии от обычной RGB цветной светодиодной ленты адресные светодиодные ленты не будут работать без управляющих команд, поступающих от внешнего управляющего процессора. Даже если их подключить к источнику питания, ни один светодиод не загорится, пока не поступит соответствующая команда на включение.
У адресных светодиодных лент есть начало и конец, что нужно учитывать при подключении. На многих лентах для удобства имеются стрелки, указывающие направление от начала к концу.
Где применяется адресная светодиодная лента
Спектр применения адресных светодиодных лент также широк, как и у обычных RGB лент. Их применяют для декоративной подсветки различных объектов, салонов автомобилей, для декорирования интерьера и особенно активно применяют при оформлении рекламных вывесок. Благодаря возможности управления каждым светодиодом по отдельности с помощью адресных светодиодных лент можно составлять целые ленты для демонстрации текста или даже огромные панели для полноценного показа цветных изображений.
На основе адресных светодиодных лент собирается большинство уличных телевизионных панелей для показа видеорекламы.
Какие бывают адресные светодиодные ленты
Для управления светодиодами адресных светодиодных лент могут применять чипы WS2811 и WS2812B. Чип WS2811 изготавливается в корпусе DIP-8 или SOP-8, и монтируется непосредственно на светодиодную ленту. Если светодиодная лента рассчитана на напряжение 5В, то такая интегральная микросхема устанавливается рядом с каждым RGB светодиодом. При использовании питания 12В такой чип устанавливается один на три светодиода.
Более современный чип WS2812B настолько маленький, что его размещают непосредственно в корпусе RGB светодиода. Такие светодиоды на ленте размещаются гораздо плотнее и для питания применяется источник 5 В.
В адресных (пиксельных) светодиодных лентах светодиоды подключаются параллельно, при питании от 5В, а вот данные от драйвера к драйверу передаются последовательно. В этом есть одно большое неудобство, если один из ШИМ-регуляторов выйдет из строя, все следующие после него светодиоды перестанут работать. Для решения данной проблемы была выпущена следующая серия чипов WS2813, которые позволяют использовать четвертую дублирующую дорожку для передачи данных. С чипами WS2813 все исправные светодиоды будут работать, даже если в цепи некоторые выйдут из строя.
Как подключается адресная светодиодная лента
Для подключения современной адресной светодиодной ленты требуется три контакта, два из которых относятся к питанию, третий управляющий. Контакты питания, подписанные как GND, +5V или +12V в зависимости от модификации, подключаются к источнику питания. Третий контакт DIN предназначен для передачи контроллерам управляющих данных (digital input), он подключается к управляющему контроллеру, в качестве которого очень часто выступает Arduino. Для передачи данных контакты GND адресной светодиодной ленты и управляющего контроллера должны быть соединены.
ШИМ-драйверы любую помеху по цепи питания могут принять за управляющий сигнал, и чтобы во время работы ничего не мешало правильному поступлению сигнала по управляющему каналу, в цепь питания светодиодной ленты и Arduino устанавливают электролитические конденсаторы большой емкости. Например, если все запитано напряжением 5В, то на цепь питания светодиодной ленты нужно установить конденсатор 6.3В 1000 мкФ, на цепь питания Arduino 6.3В 470 мкФ. Контакт DIN подключается к Arduino через сопротивление от 200 Ом до 500 Ом.
ШИМ-драйверы, устанавливаемые на адресную светодиодную ленту, 8-битные, а это значит, что на каждый цвет можно устанавливать 256 различных градаций яркости. На один трехцветный светодиод для управления понадобится передать драйверу 3 байта информации, что позволит получить 16,5 млн оттенков.
Управление работой адресной светодиодной ленты
Адресная светодиодная лента при простом подключении питания не будет каким-либо образом реагировать на появление питания. Для включения ей требуется поступление управляющего кода на контакт DIN. Вполне возможно, что случайные или намеренный касания руками этого контакта могут привести к появлению помех, что воспримется драйвером как сигнал и какой-то из светодиодов начнет светиться.
При правильном подключении на управляющий вход светодиодной ленты поступает цифровой сигнал по 3 байта на каждый светодиод. 1 бит информации передается за 1.25 мкс, весь пакет данных для одного светодиода будет передан за 30 мкс. Первый ШИМ-драйвер забирает первый пришедший пакет из 3 байт и передает следующие данные дальше. После отправки первого пакета делается пауза 50 мкс, что дает понять следующему драйверу о необходимости принимать данные. Так происходит передача данных всем следующим светодиодам до момента, пока пауза не превысит 50 мкс. Более длительная пауза будет говорить о том, что цикл будет повторяться заново с отправкой новых данных.
При использовании Arduino предлагается использовать готовые библиотеки, с помощью которых наиболее просто написать программы для управления адресными светодиодными лентами. К таким относятся FastLED и Adafruit NeoPixel.
Мощность адресной светодиодной ленты
Мощность адресной цветной светодиодной ленты зависит от плотности размещения светодиодов на ленте и от длины ленты. Драйверы, которые управляют светодиодами, потребляют настолько мало, что при расчетах их можно не учитывать.
Каждый цветной светодиод на ленте потребляет в среднем около 60 мА, это примерно 20 мА на каждый цвет. Зная количество светодиодов, размещенных на одном метре ленты, можно легко подсчитать общую мощность подключенной ленты.
В светодиодной ленте на 5В все светодиоды подключены параллельно. Если взять для примера один метр адресной светодиодной ленты с плотностью светодиодов 60 штук на метр, то общий потребляемый ток такой ленты составит 3.6А. Это обязательно нужно учитывать при выборе блока питания.
Достоинства и недостатки адресных светодиодных лент
Основные достоинства и недостатки адресной светодиодной ленты такие же, как и у обычных LED лент. Но есть некоторые особенности, которые являются их отличительной чертой.
Достоинства пиксельных LED лент:
множество вариантов использования;
высокая яркость и низкое энергопотребление;
возможность передачи любого цвета;
возможность управления каждым светодиодом по отдельности.
Недостатки пиксельных LED лент:
невозможность использования при отрицательных температурах, появляются сбои в работе драйвера;
невозможно включить светодиодную ленту без управляющих сигналов;
требуются мощные блоки питания.
✅ Адресная светодиодная лента – это RGB светодиодная лента, в которой можно по отдельности управлять любым светодиодом, так как каждый светодиод имеет свой управляющий контроллер и уникальный адрес в цепочке светодиодов.
✅ Адресная светодиодная лента отличается от обычной RGB LED ленты способом подключения и управления, а также возможностями, так как в адресной светодиодной ленте можно управлять каждым светодиодом в отдельности.
✅ Адресные светодиодные ленты применяются при декоративном оформлении помещений, для декоративной подсветки объектов, а также с их помощью можно составить целые панели для отображения цветных изображений или даже текста, в том числе бегущей строки.
Виды светодиодных лент и варианты их подключения
Светодиодную ленту необходимо выбирать на основе исходных данных – где и как она будет использоваться. И при этом нужно разбираться в характеристиках LED лент.
LED лента на 12В
Светодиодная лента на 12 В одна из наиболее популярных и широко применяемых лент в рекламных баннерах и оформлении интерьера.
Светодиодная лента на 24В
Светодиодные ленты на 24 вольта используются с таким же успехом, как и на 12 вольт. Но есть у них один небольшой плюс, благодаря которому выбор может пасть именно на них.
RGB LED лента
Цветные RGB светодиодные ленты имеют большое преимущество в сравнении со стандартными LED лентами, так как могут менять цвет на любой, который задаст RGB контроллер. Это стало возможно за счет установки на такие ленты RGB светодиодов.
Что такое адресная светодиодная лента и как она работает
В адресной светодиодной ленте можно задавать свечение каждого светодиода. Это позволяет делать сложные алгоритмы подсветки и дисплеи. Как работает адресная светодиодная лента, читайте в статье.
В продаже имеется большое разнообразие светодиодных лент освещения и подсветки. С их помощью можно создавать различные световые эффекты. Но у них имеется существенный недостаток — вся поверхность ленты может светиться только одним цветом. И это относится ко всем типам RGB-лент. Выбор цвета и яркость осуществляет контроллер по заданному алгоритму или вручную. То есть реализовать эффекты типа бегущего огня, светомузыки или «эквалайзера» не получится. Для создания таких эффектов используют адресную светодиодную ленту. Как работает данный тип лент, мы расскажем далее.
Устройство и назначение
Адресная светодиодная лента – это лента с RGB-светодиодами со встроенными чипами, для индивидуального управления параметрами свечения, что вы видите на фото ниже.
А на следующей иллюстрации вы видите, как светит обычная RGB-лента.
Если в RGB-ленте контроллер управлял цветом всей линии, которая к нему подключена, то главное отличие адресных лент это то, что цвет и интенсивность свечения каждого из светодиодов в ней настраивается индивидуально (отдельно для каждого).
Где используется такой функционал? На самом деле сферы применения практически бесконечны:
Так как адресные ленты позволяют создать любые световые эффекты и управлять каждым светодиодом отдельно, их иногда называют «умными».
Принцип работы
В простой RGB-ленте обычно устанавливаются RGB-светодиоды типа 5050, которые состоят фактически из трёх кристаллов (красного, зелёного и синего) расположенных в одном корпусе.
В адресной ленте также используются светодиоды в корпусе 5050, но отличающимся тем, что у них 4, а не 6 выводов. В самом же корпусе расположены светоизлучающие кристаллы и микрочип, управляющий их свечением, на иллюстрации на него указывает красная стрелка.
По питанию все светодиоды в ленте соединены параллельно, а линии управления соединяются последовательно. Распиновка адресной ленты следующая: контакты +5V и GND отвечают за питание, контакт DO – выход управляющего сигнала, а DI – вход.
Система управления, или просто контроллер, подаёт цифровые сигналы, каждый из которых содержит команду с данными о яркости каждого из цветов (красного, синего и зеленого), таким образом формируется нужны тон и яркость свечения. Подобно поезду, данные передаются через каждый из сегментов ленты от предыдущего к следующему, то есть последовательно.
Наиболее распространены две модели с разными контроллерами, это ws2812b и ws2811. Главное их отличие в том, что изделия с чипами ws2811 питаются от 12 Вольт, а сам чип находится не внутри светодиода, а отдельно и управляет сегментом из трёх светодиодов. Так в моделях с ws2811 возможно управление не каждым светодиодом, а каждым сегментом из 3 светодиодов сразу, что несколько ограничивает применение.
Принцип управления не слишком сложный:
При создании уникальных эффектов используют не готовые контроллеры, а различные микроконтроллеры. К тому же в сети много проектов под управлением Arduino (микроконтроллеры семейства AVR). Схема подключения к ней элементарна, на примере с контроллерами WS2812b изображена ниже.
Но желательно подавать сигал управления через резистор номиналом в 200-400 Ом, для защиты пина Ардуино.
Устройство представляет программируемый микроконтроллер семейства AVR, с уже разведенной платой, питанием и схемой для программирования через USB. С помощью записи в него различных программ можно получить не ограниченное количество цветовых сочетаний и чередований. Что позволяет создать неограниченное количество вариантов для подсветки. Широкое распространение ограничивается относительно высокой стоимостью в отличие от обычных диодов.
Сфера применения
Сейчас стоимость этих лент уменьшается, а популярность растет. С востребованностью расширяется и сфера применения. Их используют для создания различных цветовых эффектов типа волна, бегущий огонь, различных подсветок для телевизора, для компьютера, для подсветки материнской платы, оформления рюкзака и т.п.
Возможность написания программ самостоятельно позволяет получить дополнительные возможности перелива цвета, его мерцание или моргания. Можно использовать для оформления на окна или для подсветки лестницы. Для большей зрелищности совмещают режимы подсветки с цветомузыкой.
Или создать неповторимый вид своего дома, закрепив ее по периметру фасада. Промышленность выпускает ленты не только для использования в помещениях, но и для улицы. Для этого подойдут изделия со степенью защиты IP65-IP68. Часто светодиодные ленты применяют для создания цветовой подсветки и в автомобиле.
Способы подключения адресной ленты
В отличие от RGB LED, простая подача напряжения на адресную ленту ни к чему не приведет. Для проверки работоспособности необходимо специальное программируемое устройство.
Однако, если просто дотронуться рукой до информационного контакта (DI), загорятся несколько первых модулей. Драйверы воспримут наведенную помеху, как сигнал управления.
Полностью проверить без Ардуино или без контроллера невозможно. Для удобства подключения адресная светодиодная лента имеет обозначение начала и конца. Стрелками указано направление сигнала. Менять местами начало и конец нельзя. Полоса состоит из 60 модулей. Небольшой отрезок (до 5 светодиодов) можно запитать и от самой платы ардуино, но для подключения полосы максимальной длины, применяют дополнительный источник питания.
На рисунке снизу показана схема подключения блока управления к ленте с дополнительным блоком питания.
Как отмечалось выше, для создания необходимого светового эффекта, применяется Ардуино. А также нужна специальная программа, называемая в народе «скетч». Ее не сложно написать своими руками, но можно воспользоваться уже имеющимися, например, воспользоваться проектами блоггера Алекса Гайвера.
Можно подобрать необходимый скетч в интернете. Для этого можно скопировать QR-код, нанесенный на ленте и по нему подобрать необходимый протокол.
Или воспользоваться библиотеками. Например, FastLED и Adafruit NeoPixel, внутри библиотек имеются готовые скетчи. На их основе можно создать свои неповторимые варианты. Остается лишь подключить Ардуино к компьютеру и загрузить в память скетч. После чего можно монтировать и включать систему подсветки.
Заключение
Адресная светодиодная лента выпускается в нескольких вариантах, как в виде обычной ленты, так и в виде жесткий модулей в форме полосы или круга. Однако приобрести можно не только разные адресные светодиодные ленты, но и Ардуино различных модификаций. С их помощью несложно создать эффект бегущего огня, используя принцип сдвигового регистра.
На «алиэкспресс» можно приобрести светодиоды другого вида, с питанием на 12 Вольт. В них используются контроллеры WS2815 или WS2813. Если вместо ардуино использовать контроллер ESP8266, управление можно осуществлять по Wi-Fi протоколу. Принцип работы и схема подключения дана в прилагаемой инструкции.
Что такое адресная светодиодная лента
Адресные светодиоды входят в состав адресной ленты – это основное ее отличие от обычной. Каждый светодиодный элемент подключен к цепи параллельно, но получает команду на включение или выключение в индивидуальном порядке. Так образуется один из 1,500,000 возможных оттенков. Каждый такой светодиод имеет свой собственный уникальный адрес, то есть месторасположение.
Драйвер управляет им с помощью специальных команд. Каждый из этих элементов имеет собственный микрочип, который обладает тремя выходами – выход и вход для данных, выбор режима работы. В статье разобраны вопросы устройства, строения и использования адресной светодиодной ленты. В качестве дополнения, в статье размещено два ролика и одна подробная научная статья.
Технические характеристики
Адресная светодиодная лента состоит из RGB-светодиодов в SMD корпусе 5050 и микрочипов ШИМ-драйверов. В настоящее время наиболее популярными являются адресные LED-ленты с использованием чипов WS2811 и WS2812B. Модификация WS2811 представляет собой интегральную микросхему (ИМС) в корпусе DIP-8 (9,2х6,4 мм) или SOP-8 (5,1х4,0 мм). Данный 3-канальный драйвер имеет следующую конфигурацию выводов:
Адресная светодиодная лента – каждый светодиод получает питание от общего источника, но включается по индивидуальной команде.
В адресной ленте с использованием чипа WS2811 и питанием 5 вольт микросхема драйвера располагается в непосредственной близости перед каждым RGB-светодиодом SMD 5050, рядом с которым также установлены токоограничивающие резисторы и конденсатор, защищающий от помех. Но на сегодняшний момент такие модели устарели и встречаются крайне редко. Сегодня в продаже имеются адресные светодиодные ленты на чипах WS2811 только с питанием от +12 В. В этом случае чип WS2811 управляет не одним светодиодом, а группой из 3 штук.
Не успела ИМС WS2811 обрести популярность, как её место заняла более совершенная WS2812B. Данный тип ШИМ-драйвера намного компактнее и размещается непосредственно в корпусе светодиода SMD 5050. Если присмотреться, то под прозрачным люминофором можно увидеть миниатюрный чёрный прямоугольник с отходящими позолоченными проводниками.
Подобная унификация позволила значительно упростить сборку адресных светодиодных лент и модулей, а сам WS2812B имеет лишь 4 вывода:
Сфера применения
Относительно высокая стоимость светодиодов и лент, собранных на чипах WS2811 и WS2812B, ограничивает их область применения в сравнении с обычными LED-лентами. Главным образом их используют для решения таких задач, с которыми обычной светодиодной ленте не справиться:
Интерес к адресной светодиодной ленте среди радиолюбителей вызван тем, что на её основе можно собрать подсветку, которая будет изменять цвет и яркость по заданному алгоритму.
Как это работает
Адресная лента WS2812B поделена на сегменты, в каждом из которых расположен светодиод и конденсатор (для повышения помехоустойчивости). Относительно напряжения питания все они между собой подключены параллельно, то есть +5 В будет присутствовать на каждом сегменте. А вот передача данных осуществляется последовательно: от предыдущего сегмента к последующему. Поэтому при выходе из строя одного из светодиодов цепи все следующие сегменты перестанут светиться. Управление готовыми устройствами и модулями на базе WS2812.
У каждой адресной ленты есть начало и конец, которые нельзя менять местами во время сборки схемы. Чтобы не запутаться, производители используют условные обозначения, например, стрелки, указывающие направление сигнала. Подключение адресной светодиодной ленты WS2812B к Arduino производится по трём проводам, как показано на рисунке.Контакты питания +5V и GND соединяют с соответствующими выводами на плате Arduino.
Если подсоединяемый отрезок насчитывает более 13-ти светодиодов, то необходимо использовать выносной блок питания. При этом общий провод (GND) Arduino и «минус» блока питания должны быть соединены между собой. Контакт DIN (digital input) предназначен для приёма данных от контроллера и электрически соединяется с любым из его цифровых портов. С другой стороны адресной ленты (и каждого сегмента тоже) размещено 3 контакта: +5V, DO (digital output) и GND, к которым можно подключить ещё несколько отрезков разной длины.
Далее следует пауза длиною до 50 мкс, означающая, что второй по счёту драйвер должен принять следующие 3 байта. И так далее. Длительность паузы больше 50 мкс означает конец передачи и повторение цикла. Для работы с адресными лентами и модулями проще всего использовать библиотеки FastLED и Adafruit NeoPixel. Внутри каждой библиотеки есть готовые скетчи, на основе которых несложно научиться самостоятельно создавать новые световые эффекты. Чтобы скетч заработал с первого раза, необходимо в заголовке правильно указать количество светодиодов в ленте (NUM_LEDS) и номер порта для передачи данных (PIN).
Адресные ленты стоят дороже обычных лент, и применяются обычно там, где простые ленты по какой-то причине не применимы: полноцветные модульные сборки, декоративная подсветка с управлением «soft light», наружная реклама и т. д. Особенность таких сборок в том, что они способны изменять и цвет и яркость отдельных своих сегментов по более сложному алгоритму, нежели простые LED-ленты, даже если эти LED-ленты оснащены умными драйверами. ШИМ-сигнал управления подается со специального запрограммированного контроллера на вход ленты, и передается последовательно на вход одного чипа (digital input – DI), выходит из него (digital output – DO), затем проходит через второй чип, и т. д. Управление легко осуществить при помощи программы на ардуино.
Протокол
Теперь, когда мы разобрались, как подключить нашу ленту к Arduino, нам надо понять, как ею управлять, для этого в даташите есть описание протокола, который мы сейчас и рассмотрим. Каждый светодиод WS2812B имеет один вход (DIN) и один выход (DO). Выход каждого светодиода подключается ко входу следующего. Подавать сигналы же надо на вход самого первого светодиода, таким образом, он запустит цепь, и данные будут поступать от первого ко второму, от второго к третьему и т. д. Команды светодиодам передаются пачками по 24 бита (3 байта, один байт на каждый цвет, первым передается байт для зеленого, потом для красного, и заканчивает байт для синего светодиода.
Порядок бит – от старшего к младшему). Перед каждой пачкой идет пауза в 50 мкс. Пауза больше 100 мкс воспринимается как окончание передачи. Все биты, будь то 0 или 1, имеют фиксированное время 1.25 мкс. Бит 1 кодируется импульсом в 0.8 мкс, после чего идет пауза в 0.45 мкс. Бит 0 кодируется импульсом в 0.4 мкс, после чего идет пауза в 0.85 мкс. Собственно, наглядная диаграмма на фото ниже. Так же допускаются небольшие погрешности в 0-150 нс на каждый фронт. Ну и следует учесть, что подобное необходимо повторить для каждого светодиода на ленте, после чего сделать паузу минимум в 100 мкс. Потом можно повторить передачу.
Глядя на все эти цифры, становится ясно, что сделать все это, используя стандартные функции digitalWrite, delay и тому подобные – попросту невозможно, ввиду их долгой работы и неточности. Реализовать подобный протокол можно только использовав специальные библиотеки вроде CyberLib или написав собственную на чистом Си или, того хуже для нынешнего программиста, на Ассемблере. Но не все так плохо, как кажется. Светодиоды WS2812B довольно таки популярны в Arduino сообществе, а это значит, что нам не придётся вдаваться в такие сложности, и достаточно выбрать одно из понравившихся решений.
Библиотеки
Поискав в интернете, вы найдете, как минимум, две большие библиотеки для работы со светодиодами WS2812B. Под большими библиотеками я подразумеваю не количество функций и возможностей, хотя и это то же, а количество людей, участвовавших в их разработке. Конечно, поискав, еще можно найти и другие библиотеки, разработанные отдельно взятыми ардуинщиками, но работающими не на всех микроконтроллерах Arduino и с большим количеством багов.
Теперь давайте напишем наш излюбленный пример Blink, используя обе эти библиотеки, и затем сравним их.
Заключение
Лента основана на светодиодах WS2812B в корпусе LED 5050, куда в корпус производители поместили не только три встроенных светодиода (Красный, Зеленый, Синий), но и управляемый ШИМ драйвер, управляющий их яркостью. Благодаря этому мы можем получить произвольный цвет, изменяя яркость встроенных светодиодов, а так же управлять отдельно взятым пикселем на ленте. Собственно, три встроенных разноцветных светодиода вместе с ШИМ драйвером и образуют светодиод WS2812B.
В статье описано строение и монтаж адресной ленты. Более подробная информация на данную тему содержится Практикум по адресным лентам. В нашей группе ВК можно задавать вопросы и получать на них подробные ответы от профессиональных электронщиков. Чтобы подписаться на группу, вам необходимо будет перейти по следующей ссылке: https://vk.com/electroinfonet.
В завершение статьи хочу выразить благодарность источникам, откуда мы черпали информацию: