ws2812b流水灯代码
时间: 2023-07-09 18:47:15 浏览: 102
以下是Arduino示例代码,用于控制WS2812B流水灯:
```
#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(); // 初始化所有灯为黑色
}
void loop() {
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0); // 设置红色
strip.show();
delay(50);
}
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // 设置绿色
strip.show();
delay(50);
}
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 0, 255); // 设置蓝色
strip.show();
delay(50);
}
}
```
此代码使用Adafruit NeoPixel库,需要在Arduino IDE中安装此库才能编译和上传。在此示例代码中,使用PIN 6连接WS2812B LED条,NUM_LEDS为LED数量。在setup()函数中,初始化LED条为黑色。在loop()函数中,使用for循环来逐个设置每个LED的颜色,然后通过strip.show()方法来显示颜色。在每个颜色之间添加一个50毫秒的延迟,以显示流水灯的效果。