#include Adafruit_NeoPixel ring = Adafruit_NeoPixel(16, 4); // (Number of LED = 16, In Pin = 4 void setup() { ring.begin(); ring.setBrightness(32); // Brightness 0 to 255 ring.show(); } void loop() { rainbowCycle(10); // Rainbow effect } // Rainbow effect void rainbowCycle(uint8_t wait) { uint16_t i, j; for (j = 0; j < 256 * 5; j++) { for (i = 0; i < ring.numPixels(); i++) { ring.setPixelColor(i, Wheel(((i * 256 / ring.numPixels()) + j) & 255)); } ring.show(); delay(wait); } } uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if (WheelPos < 85) { return ring.Color(255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos < 170) { WheelPos -= 85; return ring.Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return ring.Color(WheelPos * 3, 255 - WheelPos * 3, 0); }