独立按键控制流水灯的代码
时间: 2024-09-02 19:00:19 浏览: 47
HAL库编写 STM32F103C8 带按键控制流水灯
5星 · 资源好评率100%
独立按键控制流水灯的代码通常涉及到硬件接口、中断处理以及软件逻辑的结合。这里以一个简单的Arduino Uno示例来说明:
```cpp
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
const int LED_PIN = 6; // 流水灯连接到数字6引脚
const int BUTTON_PIN = 2; // 按键连接到数字2引脚
int ledCount = NEOPIXEL_COUNT; // 假设你的流水灯有8个LED
Adafruit_NeoPixel pixels(ledCount, LED_PIN, NEO_GRB + NEO_KHZ800); // 创建 NeoPixel 类型的实例
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // 设置按钮为上拉输入
pixels.begin(); // 初始化流水灯
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW) { // 如果按钮按下
static int index = 0; // 用于索引LED
if (index >= ledCount) { // 到达最后一个LED,重新从头开始
index = 0;
}
pixels.setPixelColor(index++, pixels.Color(255, 0, 0)); // 改变当前LED颜色(红色)
pixels.show(); // 更新显示
delay(100); // 等待一段时间再切换下一个
}
}
```
在这个例子中,每当按钮被按下时,流水灯会依次改变每个LED的颜色,从第一个变为红色,然后移动到下一个LED。
阅读全文