#include <Adafruit_NeoPixel.h>
// 定义连接 NeoPixel 环的引脚和 LED 数量
#define PIN 8 // 连接 NeoPixel 环的数据引脚
#define NUMPIXELS 16 // LED 数量
// 创建 NeoPixel 对象
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin(); // 初始化 NeoPixel 库
strip.show(); // 初始化所有 LED 为 OFF
}
void loop() {
// 依次点亮每个 LED
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 255-i*10)); // 点亮红色 LED
strip.show(); // 更新显示
delay(100); // 延时 100 毫秒
strip.setPixelColor(i, strip.Color(0, 0, 255-i*10)); // 熄灭当前 LED
strip.show(); // 更新显示
}
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, strip.Color(255-i*10, 0, 0)); // 点亮红色 LED
strip.show(); // 更新显示
delay(100); // 延时 100 毫秒
strip.setPixelColor(i, strip.Color(255-i*10, 0, 0)); // 熄灭当前 LED
strip.show(); // 更新显示
}
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, strip.Color(255-i*10, 255-i*10, 0)); // 点亮红色 LED
strip.show(); // 更新显示
delay(100); // 延时 100 毫秒
strip.setPixelColor(i, strip.Color(255-i*10, 255-i*10, 0)); // 熄灭当前 LED
strip.show(); // 更新显示
}
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, strip.Color(255-i*10, 0, 255-i*10)); // 点亮红色 LED
strip.show(); // 更新显示
delay(100); // 延时 100 毫秒
strip.setPixelColor(i, strip.Color(255-i*10, 0, 255-i*10)); // 熄灭当前 LED
strip.show(); // 更新显示
}
// 反向依次点亮 LED
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, strip.Color(0, 255-i*10, 255-i*10)); // 点亮绿色 LED
strip.show(); // 更新显示
delay(100); // 延时 100 毫秒
strip.setPixelColor(i, strip.Color(0, 255-i*10, 255-i*10)); // 熄灭当前 LED
strip.show(); // 更新显示
}
}