用Arduino做流水呼吸灯代码
时间: 2024-10-10 14:16:11 浏览: 97
在Arduino上实现流水灯效果,通常称为LED流水灯,可以使用数字信号处理来控制一组并联的LED灯串,使其像水流动一样逐点亮灭。以下是一个基本的示例代码:
```cpp
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
// 定义LED灯的数量和连接到pin
const int LED_COUNT = 8; // 灯的数量
const int LED_PIN = 6; // 连接LED的数字引脚
const int LED_BRIGHTNESS = 50; // 灯的亮度 (0-255)
// 初始化NeoPixel灯
Adafruit_NeoPixel pixels(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // 使用GRB颜色模式
pixels.begin();
void setup() {
pixels.setBrightness(LED_BRIGHTNESS);
for(int i = 0; i < LED_COUNT; i++) {
pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // 设置所有LED初始为熄灭状态
}
}
void loop() {
for(int i = 0; i < LED_COUNT; i++) { // 从头开始遍历
if(i == LED_COUNT - 1) { // 当前LED是最后一个
pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // 将最后一个LED点亮红色
} else {
pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // 其他LED关闭
}
pixels.show(); // 更新显示
delay(100); // 暂停一段时间,模拟水流效果
pixels.move(i, 0); // 流水效果,将当前LED移到第一个位置
pixels.show();
}
}
阅读全文