基于 Arduino的WS2812b单色循环流水灯代码
时间: 2023-08-16 08:07:07 浏览: 383
WS2812流水灯
4星 · 用户满意度95%
好的,以下是基于Arduino的WS2812b单色循环流水灯代码示例:
```c++
#include <Adafruit_NeoPixel.h>
#define PIN 6 //定义用于控制WS2812的引脚
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // 显示所有像素为黑色
}
void loop() {
// 扫描
for(int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, 255, 0, 0); // 将每个像素设置为红色
strip.show(); // 显示所有像素
delay(50); // 等待50毫秒
}
// 反向扫描
for(int i = strip.numPixels() - 1; i >= 0; i--) {
strip.setPixelColor(i, 0, 0, 0); // 关闭当前像素
strip.show(); // 显示所有像素
delay(50); // 等待50毫秒
}
}
```
该代码中使用了Adafruit_NeoPixel库来控制WS2812b LED灯带。在setup()函数中,初始化了灯带,并将所有像素设置为黑色。在loop()函数中,使用for循环控制灯带的扫描和反向扫描,并使用setPixelColor()函数将每个像素设置为红色或关闭当前像素。最后使用show()函数来显示所有像素。delay()函数用于控制灯带扫描速度。
阅读全文