Arduino呼吸灯代码
时间: 2024-10-12 07:03:36 浏览: 50
Arduino呼吸灯代码通常用于制作简单的LED灯动画效果,模拟人的呼吸过程。下面是一个基本的示例,使用的是Arduino Uno板和一个RGB LED:
```cpp
// 导入必要的库
#include <Adafruit_NeoPixel.h>
// 定义LED灯的数量、颜色类型以及连接引脚
#define LED_PIN 6 // 连接到数字6引脚的 NeoPixel strip
#define NUM_LEDS 8 // 8个LED
#define ORDER RGBW
// 创建NeoPixel对象并初始化
Adafruit_NeoPixel strip(NUM_LEDS, LED_PIN, ORDER, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin(); // 初始化LED串
strip.brightness(50); // 设置亮度
}
void loop() {
for (int i = 0; i <= NUM_LEDS; i++) { // 从第一个LED开始到最后一个
int r = map(i, 0, NUM_LEDS, 0, 255); // 根据位置映射红光亮度
int g = map(i, 0, NUM_LEDS, 0, 255); // 同理,对应绿光
int b = 0; // 蓝色保持不变或关闭
if (i == NUM_LEDS / 2) { // 当LED位于中间时,开启蓝光
b = 255;
}
strip.setPixelColor(i, r, g, b);
strip.show(); // 更新LED状态
// 模拟呼吸,延时稍长一些
delay(20);
}
for (int i = NUM_LEDS - 1; i >= 0; i--) { // 从最后一个LED向第一盏反向变化
strip.setPixelColor(i, 0, 0, 0); // 关闭所有LED
strip.show();
delay(20);
}
}
```
这个代码创建了一个简单的呼吸效果,LED从第一个亮起,然后逐渐变暗,接着移动到下一个LED,形成起伏的效果。
阅读全文