Arduino流水灯代码
时间: 2024-10-13 21:01:19 浏览: 29
Arduino流水灯通常是指使用Arduino单片机控制LED灯按照一定顺序依次点亮,形成流动的效果。这里是一个简单的例子,假设你有8个LED连接到Arduino Uno的数字引脚:
```c++
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
#define NUM_LEDS 8 // 灯的数量
#define LED_PIN 6 // LED串口连接到板载pin 6 (GPIO)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); // 创建 NeoPixel 实例
void setup() {
if (!pixels.begin()) { // 初始化 NeoPixel
Serial.println("Failed to initialize NeoPixel strip!");
return;
}
pixels.setBrightness(50); // 设置亮度
}
void loop() {
for (int i = 0; i < NUM_LEDS; i++) { // 从第一个LED开始
pixels.setPixelColor(i, pixels.Color(i * 255 / NUM_LEDS, 255, 0)); // 设置颜色,这里是绿黄渐变
pixels.show(); // 显示
delay(100); // 暂停一下,让灯光流动效果更明显
}
pixels.clear(); // 清除所有LED
delay(500); // 再次开始下一个循环前稍作延迟
}
```
这个代码会使得LED从第一个依次亮到第8个,再从最后一个返回到第一个,形成类似流水的效果。
阅读全文