arduino 一个按钮切换七个流水灯依次打开代码
时间: 2024-06-13 20:06:39 浏览: 119
单按钮控制的8个灯依次逐个点亮流水灯程序.rar-综合文档
以下是Arduino Uno控制板实现一个按钮切换七个流水灯依次打开的代码:
```C++
const int buttonPin = 2; // 按钮引脚
const int ledPins[] = {3, 4, 5, 6, 7, 8, 9}; // LED引脚
int currentLed = 0; // 当前点亮的LED编号
bool buttonState = false; // 按钮状态
bool lastButtonState = false; // 上一次按钮状态
unsigned long lastDebounceTime = 0; // 上一次去抖动的时间
unsigned long debounceDelay = 50; // 去抖动延迟时间
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入模式,启用上拉电阻
for (int i = 0; i < 7; i++) {
pinMode(ledPins[i], OUTPUT); // 设置LED引脚为输出模式
}
}
void loop() {
int reading = digitalRead(buttonPin); // 读取按钮状态
if (reading != lastButtonState) {
lastDebounceTime = millis(); // 更新去抖动时间
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading; // 更新按钮状态
if (buttonState == LOW) { // 如果按钮被按下
digitalWrite(ledPins[currentLed], LOW); // 熄灭当前LED
currentLed = (currentLed + 1) % 7; // 更新当前LED编号
digitalWrite(ledPins[currentLed], HIGH); // 点亮下一个LED
}
}
}
lastButtonState = reading; // 更新上一次按钮状态
}
```
阅读全文