WS2812B点亮多个灯的程序
时间: 2023-09-21 21:07:52 浏览: 44
下面是一个基于Arduino控制器的WS2812B灯带的示例程序,它可以点亮多个WS2812B灯,并设置它们的颜色和亮度:
首先,请确保你已经安装了Adafruit NeoPixel库,然后打开Arduino IDE,在菜单栏中依次选择“文件”->“示例”->“Adafruit NeoPixel”->“strandtest”。
然后,你需要修改以下代码,以使它适用于你的灯带或模块数量和连接方式:
```c++
#include <Adafruit_NeoPixel.h>
#define PIN 6 // 控制引脚
#define NUM_LEDS 8 // 灯数量
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // 关闭所有灯
}
void loop() {
// 点亮所有灯,颜色为红色,亮度为50%
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(127, 0, 0));
}
strip.show(); // 显示所有灯
delay(1000); // 等待1秒钟
// 点亮所有灯,颜色为绿色,亮度为50%
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(0, 127, 0));
}
strip.show(); // 显示所有灯
delay(1000); // 等待1秒钟
// 点亮所有灯,颜色为蓝色,亮度为50%
for(int i=0; i<NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 127));
}
strip.show(); // 显示所有灯
delay(1000); // 等待1秒钟
}
```
这个程序会依次点亮所有灯,并且每隔1秒钟改变颜色。你可以根据需要修改颜色、亮度和延迟时间等参数。