Arduino灯带ws2812代码一个灯追另外一个灯
时间: 2024-03-01 08:51:58 浏览: 214
以下是控制WS2812灯带实现一个灯追另一个灯的Arduino代码示例:
```
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUM_LEDS 30
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // 初始化所有LED灯为黑色
}
void loop() {
// 设置第一个灯为红色
strip.setPixelColor(0, strip.Color(255, 0, 0));
strip.show();
// 依次将第二个灯到最后一个灯设置为红色,形成灯追效果
for (int i = 1; i < NUM_LEDS; i++) {
strip.setPixelColor(i-1, strip.Color(0, 0, 0)); // 将前一个灯设置为黑色
strip.setPixelColor(i, strip.Color(255, 0, 0)); // 将当前灯设置为红色
strip.show();
delay(50); // 等待50毫秒,控制灯追速度
}
}
```
这个示例代码同样使用了 Adafruit_NeoPixel 库,需要先安装该库才能运行。该代码可以让 WS2812 灯带实现一个灯追另一个灯的效果。你可以根据需要修改代码来控制灯带的颜色和灯追的速度。
阅读全文