Умные светодиоды (пиксели) WS2812B и светодиодные ленты на базе этих пикселей довольно популярны и это оправдано по нескольким причинам:
— компактность, пиксель содержит в своем корпусе (размером всего 5х5 мм 3 светодиода и драйвера для них
— простота управления – пиксель управляется посредством простого последовательного интерфейса, который легко реализовать как программно, так и используя аппаратные интерфейсы МК (такие как SPI и UART)
— управление всего по одной линии (не считая проводов питания)
— неограниченное количество включенных последовательно пикселей
— относительно небольшая стоимость (если посчитать стоимость отдельно 3х светодиодов и драйверов к ним выйдет гораздо дороже)
Принцип работы WS2812B — официальная информация из даташита.
Физически в WS2812B имеется 3 излучающих светодиода (красный, синий и зеленый) и ШИМ-драйвера управляющие их яркостью. ШИМ-драйвера 8-ми битные, то есть для каждого из цветов возможны 256 градаций яркости и, соответственно, для того чтобы установить яркости для каждого из 3-х светодиодов нужно передать пикселю 8х3=24 бит (3 байта) информации. Протокол передачи информации светодиоду однолинейный с фиксированной скоростью. Единички и нули информации о яркости кодируются длительностью высокого и низкого уровня сигнала в линии.
Время передачи одного бита составляет 0.8+0.45=1.25 мкС — это довольно быстро. Время передачи всего пакета из 24 бит для одного пикселя WS2812B составляет 24*1.25=30 мкС. Для 1000 штук — 1000*30=30 мС (что, например, позволяет обновлять по одной линии панно 30х30 пикселей с частотой 30 раз в секунду!).
Каждый из пикселей WS2812B имеет 2 вывода питания (VDD, VSS), вход (DIN) и выход (DOUT).
На вход DIN подается информация (24бита) для установки нового цвета. Информация о цвете передается побитно (начиная со старшего бита) последовательно для каждой из составляющей цветов G, R, B.
Пиксели соединяются в цепочку следующим образом:
Запись значений цвета цепочке пикселей происходит следующим способом:
Первые 24 бита поданные на DIN записывает себе во временную память (цвет пока остается неизменным с предыдущего раза) первый пиксель. Последующие биты первый пиксель пропускает через себя и выдает на выход DOUT. Второй пиксель повторяет действия первого (оставляя себе первые дошедшие до него 24 бита) и так по цепочке. Для того, чтобы значения цветов из временной памяти пикселей стали активными должна быть выдержана пауза в передаче (reset code) в течении 50мкС. После этой паузы цикл можно повторять снова.
Общие
Размеры корпуса
5 х 5 мм
Технические
Рабочее напряжение
4-5 В
Номинальный ток
240 мА
Мощность
0.25Вт
Световой поток
18-20 Лм
Угол излучения света
120°
Цвет свечения
RGB
Цветовая температура
RGB
Монтаж
Устанавливается на дополнительный радиатор