Arduino灯带ws2812代码一个红一个绿一个蓝循环结束
时间: 2024-03-01 12:52:49 浏览: 144
基于Arduino和WS2812B灯带的随机呼吸灯
好的,下面是Arduino灯带ws2812代码,实现一个红一个绿一个蓝循环结束的效果:
```
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
// 定义灯带中灯珠的数量
#define LED_COUNT 30
// 创建 NeoPixel 对象
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 初始化灯带
strip.begin();
// 设置灯带初始颜色
strip.setPixelColor(0, strip.Color(255, 0, 0));
strip.setPixelColor(1, strip.Color(0, 255, 0));
strip.setPixelColor(2, strip.Color(0, 0, 255));
// 显示初始颜色
strip.show();
}
void loop() {
// 循环显示红绿蓝颜色
for (int i = 0; i < LED_COUNT; i++) {
// 设置当前灯珠的颜色
if (i % 3 == 0) {
strip.setPixelColor(i, strip.Color(255, 0, 0)); // 红色
} else if (i % 3 == 1) {
strip.setPixelColor(i, strip.Color(0, 255, 0)); // 绿色
} else {
strip.setPixelColor(i, strip.Color(0, 0, 255)); // 蓝色
}
// 显示当前颜色
strip.show();
// 等待一段时间,使颜色变化可见
delay(100);
}
// 循环结束,显示初始颜色
strip.setPixelColor(0, strip.Color(255, 0, 0));
strip.setPixelColor(1, strip.Color(0, 255, 0));
strip.setPixelColor(2, strip.Color(0, 0, 255));
strip.show();
// 等待一段时间,使初始颜色可见
delay(1000);
}
```
希望这段代码能够满足你的需求,如有疑问,欢迎随时提出。
阅读全文