esp32流水灯代码arduino依次亮起熄灭八盏灯
时间: 2024-09-19 18:00:33 浏览: 15
ESP32开发板上的流水灯通常使用I/O口控制LED灯,Arduino Uno或者Arduino IDE可以编写这样的程序。这里是一个基本示例,假设我们有8个并联的LED灯连接到GPIO脚上:
```cpp
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
#define LED_COUNT 8 // 灯的数量
#define LED_PIN 2 // GPIO pin连接LED
Adafruit_NeoPixel pixels(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // 创建一个NeoPixel对象
void setup() {
pixels.begin(); // 初始化像素串
for (int i = 0; i < LED_COUNT; i++) {
pixels.setBrightness(255 / LED_COUNT); // 设置亮度,从最亮开始逐级降低
pixels.show(); // 显示当前状态
}
}
void loop() {
for (int i = 0; i <= LED_COUNT - 1; i++) { // 依次点亮每一盏灯
pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // 设置颜色,这里是红色
pixels.show();
delay(100); // 等待一段时间再熄灭
}
for (int i = LED_COUNT - 1; i >= 0; i--) { // 依次熄灭每一盏灯
pixels.setPixelColor(i, 0); // 设定颜色为黑色,代表熄灭
pixels.show();
delay(100);
}
}
```