#include <Adafruit_NeoPixel.h>
#define LED_PIN 2
#define LED_COUNT 14
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
int RGB = 0;
int RGB_r = 255;
int RGB_g = 255;
int RGB_b = 255;
int RGB_l = 0;
int i = 0;
int counter = 0;
void setup() {
strip.begin();
strip.show();
}
void loop() {
for ( i = 0; i < 14; i++) {
RGB += (1530/14) ;
if (RGB > 1530){ RGB -= 1524;}
if (RGB < 0){ RGB = 0;}
rainbowcolor();
strip.setPixelColor(i, RGB_r, RGB_g, RGB_b);
}
strip.show(); // 更新燈帶顯示
delay(10);
}
void rainbowcolor() {
if (RGB <= 255) {RGB_r = RGB ; RGB_g = 0 ; RGB_b = 255;}
if (RGB > 255 && RGB <= 510) {RGB_r = 255 ; RGB_g = 0 ; RGB_b = 510-RGB;}
if (RGB > 510 && RGB <= 765) {RGB_r = 255 ; RGB_g = RGB-510 ; RGB_b = 0;}
if (RGB > 765 && RGB <= 1020) {RGB_r = 1020-RGB ; RGB_g = 255 ; RGB_b = 0;}
if (RGB > 1020 && RGB <= 1275) {RGB_r = 0 ; RGB_g = 255 ; RGB_b = RGB-1020;}
if (RGB > 1275 && RGB <= 1530) {RGB_r = 0 ; RGB_g = 1530-RGB ; RGB_b = 255;}
}