Когда мы работаем со светодиодами, мы управляем их состоянием (вкл/выкл), яркостью и цветом. Существуют различные способы такого управления, но наиболее компактным решением представляется применение RGB-светодиодов WS2812 (NeoPixels). Светодиодный модуль WS2812 в миниатюрном корпусе 5 x 5 мм сочетает в себе три сверхярких светодиода (красный, зеленый, синий), а также цепь драйвера WS2811, которой требует один вход данных для изменения состояния, яркости и цвета этих трех светодиодов.

Поскольку используется всего один вход, то требования по времени для работы с WS2811 довольно жесткие. Поэтому в данном случае нужен контроллер реального времени (AVR, Arduino, PIC). К сожалению, микрокомпьютеры на базе Linux или платы вроде Netduino и Basic Stamp не могут обеспечить требуемой точности синхронизации. Поэтому здесь мы рассмотрим управление WS2812 с помощью Arduino Uno.