arduino按钮控制流水灯
时间: 2023-10-02 11:07:03 浏览: 90
这是一个简单的Arduino程序,可以使用按钮控制流水灯:
```
const int buttonPin = 2; // 按钮连接到数字引脚2
const int ledCount = 6; // 流水灯中LED的数量
int ledPins[] = {3, 4, 5, 6, 7, 8}; // LED连接到数字引脚3-8
int buttonState = 0; // 按钮状态
int lastButtonState = 0; // 上一次的按钮状态
int ledIndex = 0; // 当前亮灯的索引
void setup() {
// 配置LED引脚为输出
for (int i = 0; i < ledCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
// 配置按钮引脚为输入
pinMode(buttonPin, INPUT);
}
void loop() {
// 读取按钮状态
buttonState = digitalRead(buttonPin);
// 如果按钮被按下
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
// 切换到下一个LED
ledIndex = (ledIndex + 1) % ledCount;
}
lastButtonState = buttonState;
}
// 关闭所有LED
for (int i = 0; i < ledCount; i++) {
digitalWrite(ledPins[i], LOW);
}
// 打开当前亮灯
digitalWrite(ledPins[ledIndex], HIGH);
// 稍微延迟一下,以便观察变化
delay(100);
}
```
在这个程序中,我们使用 `buttonPin` 定义了按钮连接的数字引脚,使用 `ledCount` 定义了流水灯中LED的数量,使用 `ledPins` 数组定义了LED连接的数字引脚。在 `setup()` 函数中,我们将LED引脚配置为输出,将按钮引脚配置为输入。在 `loop()` 函数中,我们读取按钮状态,如果按钮被按下,我们将切换到下一个LED。然后,我们关闭所有LED,打开当前亮灯,并稍微延迟一下以便观察变化。
阅读全文