arduino红绿蓝呼吸灯代码
时间: 2024-07-16 10:00:35 浏览: 197
当使用Arduino开发一个红绿蓝(RGB)呼吸灯效果时,你需要控制三个LED灯分别代表红色、绿色和蓝色。以下是一个简单的示例代码,使用了常见的`shiftOut`函数来控制RGB LED,通过逐位改变亮度模拟呼吸灯效果:
```c++
#include <Wire.h>
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
// 定义LED数量和连接到Arduino的引脚
#define NUM_LEDS 3
#define ORDER RGB
#define PIN_DATA 6 // 连接到D9
#define NEOPIXEL_PIN PIN_DATA
// 创建NeoPixel对象
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, NEOPIXEL_PIN, ORDER, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // 初始化LED串
pixels.setBrightness(50); // 设置亮度 (0-255)
delay(1000); // 延迟一下,以便适应呼吸效果
}
void loop() {
// 呼吸灯循环
for (int brightness = 0; brightness <= 255; brightness += 5) { // 从0增加到255,步长为5
for (int i = 0; i < NUM_LEDS; i++) { // 遍历每个LED
pixels.setPixelColor(i, pixels.Color(brightness, brightness, brightness)); // 更新LED颜色
}
pixels.show(); // 显示当前颜色
delay(10); // 延迟一段时间
}
for (int brightness = 255; brightness >= 0; brightness -= 5) { // 从255减少到0,步长为5
for (int i = 0; i < NUM_LEDS; i++) {
pixels.setPixelColor(i, pixels.Color(brightness, brightness, brightness));
}
pixels.show();
delay(10);
}
}
阅读全文