Arduino灯带ws2812代码隔一个灯亮一个灯珠
时间: 2024-03-01 07:52:08 浏览: 84
以下是控制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() {
// 将所有偶数位置的灯设置为红色
for (int i = 0; i < NUM_LEDS; i += 2) {
strip.setPixelColor(i, strip.Color(255, 0, 0));
}
strip.show();
delay(500); //等待500毫秒
// 将所有偶数位置的灯设置为黑色
for (int i = 0; i < NUM_LEDS; i += 2) {
strip.setPixelColor(i, strip.Color(0, 0, 0));
}
// 将所有奇数位置的灯设置为绿色
for (int i = 1; i < NUM_LEDS; i += 2) {
strip.setPixelColor(i, strip.Color(0, 255, 0));
}
strip.show();
delay(500); //等待500毫秒
// 将所有奇数位置的灯设置为黑色
for (int i = 1; i < NUM_LEDS; i += 2) {
strip.setPixelColor(i, strip.Color(0, 0, 0));
}
}
```
这个示例代码同样使用了 Adafruit_NeoPixel 库,需要先安装该库才能运行。该代码可以让 WS2812 灯带实现隔一个灯亮一个灯珠的效果,偶数位置的灯为红色,奇数位置的灯为绿色。你可以根据需要修改代码来控制灯带的颜色和灯珠的亮灭方式。
阅读全文