Еще один простой, можно сказать базовый скетч, который управляет светдодиодами WS2812b или лентой из этих светодиодов, плавно меняя их цвет. Используется библиотека Adafruit_NeoPixel.h
#include <Adafruit_NeoPixel.h>#ifdef __AVR__ #include <avr/power.h>#endif #define PIN 6 //пин#define LIGHTS 30 //количество светодиодов Adafruit_NeoPixel strip = Adafruit_NeoPixel(LIGHTS, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show();} void loop() { colorWheel(250);//скорость смены цвета} void setStripColor(uint32_t c) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); }} void colorWheel(uint8_t wait) { for (int j=0; j < 256; j++) { setStripColor(wheel(j)); strip.show(); delay(wait); }} uint32_t wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}