一块arduino uno控制两条灯珠数量不同的ws2812b灯带代码
时间: 2023-09-04 15:12:01 浏览: 297
以下是一段简单的Arduino代码,用于控制两条数量不同的WS2812B灯带:
```
#include <Adafruit_NeoPixel.h>
#define LED_PIN_1 6 // 第一条灯带的数字引脚
#define LED_PIN_2 9 // 第二条灯带的数字引脚
#define LED_COUNT_1 30 // 第一条灯带的灯珠数量
#define LED_COUNT_2 60 // 第二条灯带的灯珠数量
Adafruit_NeoPixel strip1(LED_COUNT_1, LED_PIN_1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip2(LED_COUNT_2, LED_PIN_2, NEO_GRB + NEO_KHZ800);
void setup() {
strip1.begin();
strip2.begin();
strip1.show(); // 初始化为全黑
strip2.show();
}
void loop() {
// 控制第一条灯带
for(int i=0; i<LED_COUNT_1; i++) {
strip1.setPixelColor(i, 255, 0, 0); // 设置为红色
}
strip1.show(); // 更新灯带
// 控制第二条灯带
for(int i=0; i<LED_COUNT_2; i++) {
strip2.setPixelColor(i, 0, 255, 0); // 设置为绿色
}
strip2.show(); // 更新灯带
delay(1000); // 等待1秒
}
```
这段代码中,我们使用了Adafruit_NeoPixel库来控制WS2812B灯带。首先,我们定义了两个灯带的数字引脚和灯珠数量。然后,在setup函数中,我们初始化了两个灯带并将它们的所有灯珠设置为全黑。在loop函数中,我们分别控制了两个灯带的所有灯珠,并使用strip.show()函数将更新后的颜色发送到灯带上。最后,我们等待1秒钟以便观察效果。
阅读全文