Адресная rgb что это

Arduino и адресная светодиодная лента

Описание

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

Адресная rgb что это. strips 3. Адресная rgb что это фото. Адресная rgb что это-strips 3. картинка Адресная rgb что это. картинка strips 3

В наборе GyverKIT есть 1 метр адресной светодиодной ленты WS2812b. При желании ленту можно докупить в том же магазине, где продаётся набор – Giant4.

Подключение

Адресная rgb что это. ws2812 2. Адресная rgb что это фото. Адресная rgb что это-ws2812 2. картинка Адресная rgb что это. картинка ws2812 2

В рассмотренных выше схемах Arduino питается от USB. Для работы от адаптера можно подключить питание с него на пин 5V платы:

Адресная rgb что это. ws2812 1. Адресная rgb что это фото. Адресная rgb что это-ws2812 1. картинка Адресная rgb что это. картинка ws2812 1

При наличии на ленте штекера можно подключать управление и питание следующим образом:

Адресная rgb что это. ws2812conn. Адресная rgb что это фото. Адресная rgb что это-ws2812conn. картинка Адресная rgb что это. картинка ws2812conn

Примечание:

Адресная rgb что это. strip dop. Адресная rgb что это фото. Адресная rgb что это-strip dop. картинка Адресная rgb что это. картинка strip dop

При работе с Wemos есть особенность: у него логический уровень 3.3V, чего не всегда хватает для передачи сигнала на ленту. При возникновении “артефактов” в эффектах можно подключить питание по следующей схеме: питать Wemos через диод (есть в наборе GyverKIT):

Адресная rgb что это. wemosStrip. Адресная rgb что это фото. Адресная rgb что это-wemosStrip. картинка Адресная rgb что это. картинка wemosStrip

Библиотеки

Самой функциональной и известной библиотекой является 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 до количества светодиодов:

И таких эффектов можно придумать очень много! Займёмся этим уже в блоке проектов

Источник

Как работает адресная светодиодная лента?

Адресная rgb что это. image loader. Адресная rgb что это фото. Адресная rgb что это-image loader. картинка Адресная rgb что это. картинка image loader
Наверное этот вопрос «как работает» очень многим покажется глупым. Ответ почти очевиден: адресная светодиодная лента состоит из множества последовательно соединенных «умных светодиодов». Это можно увидеть просто рассматривая устройство ленты. Видны отдельные микросхемы, припаянные к гибкому шлейфу, видны соединения: микросхемы соединены последовательно всего тремя проводами, при этом два из них это питание и земля. Только один провод передает данные о цвете пикселей. Как же это? Что такое «умный светодиод»?

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

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

Бит ноль передается, как короткий положительный импульс и пауза, которая примерно в два раза шире импульса. Бит единица передается как широкий положительный импульс и короткая пауза:

Адресная rgb что это. image loader. Адресная rgb что это фото. Адресная rgb что это-image loader. картинка Адресная rgb что это. картинка image loader

При отсутствии передачи более 50 микросекунд лента переходит в исходное состояние, готова принимать пиксели начиная с первого.

Каждые 24 бита в последовательности — это 3 байта для трех цветов RGB. Причем на самом деле последовательность будет G-R-B. Старший бит G7 идет первым.

Последовательность из первых 24х бит представляет из себя один пиксель, который получит самый первый светодиод в ленте. Пока первый светодиод не насытится он не передает данные дальше к следующему светодиоду. После того, как первый светодиод получит свою порцию из 24х бит RGB он открывает передачу следующему. Примитивно можно последовательность светодиодов представить, как каскад из кувшинов, последовательно наполняемых водой:

Адресная rgb что это. image loader. Адресная rgb что это фото. Адресная rgb что это-image loader. картинка Адресная rgb что это. картинка image loader

Заполнится первый, потом второй, потом третий и так все по очереди.

Таким образом, я считаю, что с протоколом передачи разобрались.

Можно ли попробовать самому спроектировать такой «умный светодиод»? Практического смысла в этом конечно мало, но для самообразования и расширения кругозора — задача интересная. Попробуем описать логику чипа на языке проектирования аппраратуры Verilog HDL. Конечно, это будет не настоящий дизайн микросхемы, будут ограничения. Одно из самых важных ограничений — мне для моей микросхемы будет нужен внешний тактовый генератор. В настоящем умном светодиоде такой генератор тоже есть, но он встроен уже в чип.

Модуль на Verilog начнем вот так:

Здесь думаю все понятно: тактовая частота clk, входной и выходной сигналы «умного светодиода» in и out, ну и, конечно, выходные сигналы r, g, b через которые я буду управлять реальными внешними светодиодами красным, зеленым и синим.

Входной сигнал я буду захватывать в двухбитный сдвиговый регистр и по текущему состоянию в этих захваченных битах смогу определить начало положительного фронта сигнала in:

Кроме этого, важно определить состояние сброса ленты, когда управляющий контроллер выдерживает паузу перед началом новой передачи:

Дальше, от положительного фронта in_pos_edge нужно выдержать некоторую паузу, чтобы получить момент фиксации нового бита:

Количество уже принятых бит в чипе считаем так:

Здесь вводится еще важный сигнал pass, который как раз и определяет перенаправление входного потока на выход. После принятия 24х бит пикселя сигнал pass устанавливается в единицу:

На выход out мультиплексируются входные данные, когда сигнал pass_final в единице.

Ну и, конечно, нужен сдвиговый регистр, где накапливаются принятые 24 бита пикселя:

По приему всех 24х бит они переписываются в итоговый так же 24х битный регистр.

Теперь остается дело за малым. Нужно реализовать ШИМ (Широтно Импульсную Модуляцию) сигнала для передачи яркости реальным внешним светодиодам согласно принятым байтам RGB:

Остается маленькая деталь — как это все испытать?

Я взял несколько простых плат с ПЛИС MAX II (это платы серии Марсоход) и прошил их все проектом с вот этим Verilog кодом. На платах уже было 8 светодиодов, но они были все желтые. На каждой из плат я заменил 3 светодиода на R, G, B. Платы соединил последовательно и более того подключил их к настоящей светодиодной ленте. Таким образом, я удлинил настоящую ленту своими самодельными светодиодами.

Получилось вот такое соединение:

Адресная rgb что это. image loader. Адресная rgb что это фото. Адресная rgb что это-image loader. картинка Адресная rgb что это. картинка image loader

В реальности это выглядит вот так:

Адресная rgb что это. v1rmqtb1 pbswak3fy8ewtl0 k0. Адресная rgb что это фото. Адресная rgb что это-v1rmqtb1 pbswak3fy8ewtl0 k0. картинка Адресная rgb что это. картинка v1rmqtb1 pbswak3fy8ewtl0 k0

Теперь, подавая на ленту некоторое изображение я вижу, что мои «умные светодиоды» ведут себе точно так же, как и настоящие из ленты:

Получается, что реализованная мною в ПЛИС логика вполне работоспособна! Я смог в первом приближении сделать нечто похожее на реальный чип «умного светодиода».

Вообще, мне нравятся светодиодные ленты. На их основе каждый может изобрести что-то свое: интеллектуальное освещение, экраны, амбилайт эффекты. Однажды я даже реализовал цветомузыку на светодионой ленте под управлением FPGA. Но это уже другая история.

Источник

Адресная светодиодная лента

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

Содержание

Что такое адресная светодиодная лента?

Адресная светодиодная лента – это гибкая печатная плата, которая заполнена разноцветными адресуемыми поверхностными (SMD) светодиодами. Гибкая печатная плата обычно имеет клейкую подложку, что облегчает быструю и простую установку.

В отличие от стандартной ленты RGB, каждый светодиод имеет свою собственную микросхему, которая позволяет управлять им для индивидуальной реакции (например, изменение цвета, выключение и т. Д.). Пиксельная лента все еще может делать все, что может делать стандартная лента RGB… только больше.

Адресная rgb что это. Adresnaya svetodiodnaya lenta 3. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 3. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 3Типы адресных светодиодных лент.

Адресная светодиодная лента WS2801.

Адресная rgb что это. Adresnaya svetodiodnaya lenta 5567. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 5567. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 5567

Серия чипов WS первой будет WS2801. Это интересный в своем роде драйвер-микросхема для RBGW-светодиодов с поддержкой последовательного интерфейса SPI.

С применением отдельного контроллера нет необходимости занимать несколько выходов микроконтроллера, можно ограничиться лишь одним сигнальным выводом. Микроконтроллер подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.

В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация применяется. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера.

Адресная rgb что это. Adresnaya svetodiodnaya lenta 556. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 556. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 556

У WS2801 было 4 контакта: +5v, GND (минус), DI (Digital input) и CO (тактовая линия). Таких лент сегодня практически уже не найти, на их место пришли WS2811 и WS2812B, более компактные модели с последовательным однолинейным интерфейсом. Теперь за данные отвечает только один контакт, обычно обозначаемый как DI (digital input) и с другой стороны DO (digital output).

Адресная светодиодная лента WS2811 и WS2812.

Адресная rgb что это. Adresnaya svetodiodnaya lenta 233. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 233. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 233

Основные отличия адресной светодиодной ленты ws2811 от ws2812b:

Адресная rgb что это. Adresnaya svetodiodnaya lenta 33. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 33. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 33

Практические способы включения адресной светодиодной ленты, правила подключения, частые ошибки.

минимальный ток Драйвера = 20мА*количество_пикселей.
максимальный ток Драйвера = 60мА*количество_пикселей

Варианты управления адресной светодиодной лентой.

Есть несколько способов управлять адресной светодиодной лентой:

На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления по протоколу SPI.

На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления с помощью UART.

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

Адресная светодиодная лента DMX 512.

Особенность адресных светодиодных лент, использующих управление DMX 512 – параллельная подача сигнала управления на все модули, цифровой сигнал с выхода контроллера подается одновременно на все драйверы.

DMX ленты, производятся с записанными при производстве DMX адресами. По умолчанию, адресация пикселей каждой катушки ленты начинается с 1-го драйвера и 1-го адреса и нумеруется по порядку до последнего пикселя. Если в последствии в одну линию соединяется несколько катушек или отрезков, требуется произвести запись DMX адресов заново.

При записи адресов используется DMX кабель, обозначенный ADR (ADI, ADIN). После выполнения записи, при воспроизведении световых программ, вход ADI драйверов не используется. Если Ваш контроллер не имеет встроенного редактора адресов и не имеет выхода для подключения провода ADI, этот провод должен быть соединен с общим проводом GND, что предотвратит воздействие на него внешних помех и наводок.

Стоит сказать, что адресных светодиодных лент DMX 512 – Драйвер WS2821, гораздо больше преимуществ перед SPI.

Но есть и недостатки.

Как рассчитать количество адресов для ленты DMX 512

• 1 пиксель = 3 канала
DMX (RGBW) • 1 пиксель = 4 канала DMX (RGBW)

Имея разную плотность светодиодов на ленте и разную длину, вы можете умножить все это вместе и получить различные результаты.

Например:

• (8PL30) 30 светодиодов RGB / м ленты x 5 метровой катушки = 150 пикселей (150 пикселей х 3) = 450 каналов
• (8PL60) 60 светодиодов RGB / м ленты x 5 метровой бобины = 300 пикселей (300 пикселей х 3) = 900 каналов
• (8PL144) 144 светодиода RGB / м ленты x 2 метра = 288 пикселей (288 пикселей x 3) = 864 канала
• (8PX30) 30 светодиодов RGBW / м ленты 5 м = 150 пикселей (150 пикселей x 4) ) = 600 каналов
• (8PX60) 60 светодиодов RGBW / м лента x 4-метровая катушка = 240 пикселей (240 пикселей x 4) = 960 каналов

Удобно запомнить:

• 170 пикселей RGB = 510 каналов DMX = 1 вселенная DMX
• 128 пикселей RGBW = 512 каналов DMX = 1 вселенная DMX

Почему светодиоды на конце ленты теплого белого света / розового цвета на конце при движении белого цвета?

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

Адресная rgb что это. Adresnaya svetodiodnaya lenta 2. Адресная rgb что это фото. Адресная rgb что это-Adresnaya svetodiodnaya lenta 2. картинка Адресная rgb что это. картинка Adresnaya svetodiodnaya lenta 2

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

(ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: приведенный выше чертеж не предназначен для точной научной диаграммы. Это простое визуальное представление, чтобы дать вам приблизительное представление о том типе эффекта, который вы иногда можете наблюдать, когда происходит различный процент падения напряжения.)

Какой тип поверхности подойдет для установки адресной светодиодной ленты?

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

Источник

Что такое адресная светодиодная лента

Адресные светодиоды входят в состав адресной ленты – это основное ее отличие от обычной. Каждый светодиодный элемент подключен к цепи параллельно, но получает команду на включение или выключение в индивидуальном порядке. Так образуется один из 1,500,000 возможных оттенков. Каждый такой светодиод имеет свой собственный уникальный адрес, то есть месторасположение.

Драйвер управляет им с помощью специальных команд. Каждый из этих элементов имеет собственный микрочип, который обладает тремя выходами – выход и вход для данных, выбор режима работы. В статье разобраны вопросы устройства, строения и использования адресной светодиодной ленты. В качестве дополнения, в статье размещено два ролика и одна подробная научная статья.

Адресная rgb что это. dsc 2945.mov 20180211 221005.932. Адресная rgb что это фото. Адресная rgb что это-dsc 2945.mov 20180211 221005.932. картинка Адресная rgb что это. картинка dsc 2945.mov 20180211 221005.932

Технические характеристики

Адресная светодиодная лента состоит из 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 штук.

Адресная rgb что это. 152658098819350048. Адресная rgb что это фото. Адресная rgb что это-152658098819350048. картинка Адресная rgb что это. картинка 152658098819350048

Не успела ИМС WS2811 обрести популярность, как её место заняла более совершенная WS2812B. Данный тип ШИМ-драйвера намного компактнее и размещается непосредственно в корпусе светодиода SMD 5050. Если присмотреться, то под прозрачным люминофором можно увидеть миниатюрный чёрный прямоугольник с отходящими позолоченными проводниками.

Подобная унификация позволила значительно упростить сборку адресных светодиодных лент и модулей, а сам WS2812B имеет лишь 4 вывода:

Сфера применения

Относительно высокая стоимость светодиодов и лент, собранных на чипах WS2811 и WS2812B, ограничивает их область применения в сравнении с обычными LED-лентами. Главным образом их используют для решения таких задач, с которыми обычной светодиодной ленте не справиться:

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

Адресная rgb что это. maxresdefault 6. Адресная rgb что это фото. Адресная rgb что это-maxresdefault 6. картинка Адресная rgb что это. картинка maxresdefault 6

Как это работает

Адресная лента WS2812B поделена на сегменты, в каждом из которых расположен светодиод и конденсатор (для повышения помехоустойчивости). Относительно напряжения питания все они между собой подключены параллельно, то есть +5 В будет присутствовать на каждом сегменте. А вот передача данных осуществляется последовательно: от предыдущего сегмента к последующему. Поэтому при выходе из строя одного из светодиодов цепи все следующие сегменты перестанут светиться. Управление готовыми устройствами и модулями на базе WS2812.

Адресная rgb что это. info. Адресная rgb что это фото. Адресная rgb что это-info. картинка Адресная rgb что это. картинка info

У каждой адресной ленты есть начало и конец, которые нельзя менять местами во время сборки схемы. Чтобы не запутаться, производители используют условные обозначения, например, стрелки, указывающие направление сигнала. Подключение адресной светодиодной ленты WS2812B к Arduino производится по трём проводам, как показано на рисунке.Контакты питания +5V и GND соединяют с соответствующими выводами на плате Arduino.

Если подсоединяемый отрезок насчитывает более 13-ти светодиодов, то необходимо использовать выносной блок питания. При этом общий провод (GND) Arduino и «минус» блока питания должны быть соединены между собой. Контакт DIN (digital input) предназначен для приёма данных от контроллера и электрически соединяется с любым из его цифровых портов. С другой стороны адресной ленты (и каждого сегмента тоже) размещено 3 контакта: +5V, DO (digital output) и GND, к которым можно подключить ещё несколько отрезков разной длины.

Адресная rgb что это. info. Адресная rgb что это фото. Адресная rgb что это-info. картинка Адресная rgb что это. картинка info

Далее следует пауза длиною до 50 мкс, означающая, что второй по счёту драйвер должен принять следующие 3 байта. И так далее. Длительность паузы больше 50 мкс означает конец передачи и повторение цикла. Для работы с адресными лентами и модулями проще всего использовать библиотеки FastLED и Adafruit NeoPixel. Внутри каждой библиотеки есть готовые скетчи, на основе которых несложно научиться самостоятельно создавать новые световые эффекты. Чтобы скетч заработал с первого раза, необходимо в заголовке правильно указать количество светодиодов в ленте (NUM_LEDS) и номер порта для передачи данных (PIN).

Адресные ленты стоят дороже обычных лент, и применяются обычно там, где простые ленты по какой-то причине не применимы: полноцветные модульные сборки, декоративная подсветка с управлением «soft light», наружная реклама и т. д. Особенность таких сборок в том, что они способны изменять и цвет и яркость отдельных своих сегментов по более сложному алгоритму, нежели простые LED-ленты, даже если эти LED-ленты оснащены умными драйверами. ШИМ-сигнал управления подается со специального запрограммированного контроллера на вход ленты, и передается последовательно на вход одного чипа (digital input – DI), выходит из него (digital output – DO), затем проходит через второй чип, и т. д. Управление легко осуществить при помощи программы на ардуино.

Адресная rgb что это. 1. Адресная rgb что это фото. Адресная rgb что это-1. картинка Адресная rgb что это. картинка 1

Протокол

Теперь, когда мы разобрались, как подключить нашу ленту к Arduino, нам надо понять, как ею управлять, для этого в даташите есть описание протокола, который мы сейчас и рассмотрим. Каждый светодиод WS2812B имеет один вход (DIN) и один выход (DO). Выход каждого светодиода подключается ко входу следующего. Подавать сигналы же надо на вход самого первого светодиода, таким образом, он запустит цепь, и данные будут поступать от первого ко второму, от второго к третьему и т. д. Команды светодиодам передаются пачками по 24 бита (3 байта, один байт на каждый цвет, первым передается байт для зеленого, потом для красного, и заканчивает байт для синего светодиода.

Адресная rgb что это. zm 4xu1lpga. Адресная rgb что это фото. Адресная rgb что это-zm 4xu1lpga. картинка Адресная rgb что это. картинка zm 4xu1lpga

Порядок бит – от старшего к младшему). Перед каждой пачкой идет пауза в 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.

В завершение статьи хочу выразить благодарность источникам, откуда мы черпали информацию:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *