Радуга на WS2812b
В первой программе для WS2812b мы попробуем зажечь линейку семью цветами радуги, а оставшийся 8-й светодиод пусть горит белым.
Для работы с адресными модулями используем библиотеку Adafruit_NeoPixel. Установить её можно с помощью менеджера библиотек в Arduino IDE.
#include <Adafruit_NeoPixel.h>
#define PIN 6 // это контакт, к которму подключен DIN
#define NUMPIXELS 8 // количество светодиодов, которыми мы хотим управлять
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// определим массив с цветами радуги, указав RGB компоненты каждого цвета
byte rainbow[8][3] = {{128,0,0},{128,64,0},{128,128,0},{0,128,0},{0,128,128},{0,0,128},{128,0,128},{128,128,128}};
void setup() {
// инициализации модуля Adafruit_NeoPixel
pixels.begin();
// перебираем светодиоды и выводим ка каждый нужный цвет
for(int i=0; i<NUMPIXELS; i++){
pixels.setPixelColor(i, pixels.Color(rainbow[i][0],rainbow[i][1],rainbow[i][2]));
}
// выводим цветовую последовательность на модуль WS2812b
pixels.show();
}
void loop() {
}
Загружаем программу на Ардуино и наблюдаем радугу.

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