实现用独立按键控制8个流水灯LED依次亮灭
时间: 2023-05-19 08:04:31 浏览: 2387
可以使用 Arduino 来实现这个功能,具体代码如下:
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 8个LED的引脚
int currentLed = 0; // 当前亮的LED
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT); // 将8个引脚设置为输出模式
}
}
void loop() {
if (digitalRead(10) == HIGH) { // 如果第一个按键按下
digitalWrite(ledPins[currentLed], LOW); // 将当前亮的LED熄灭
currentLed = (currentLed + 1) % 8; // 切换到下一个LED
digitalWrite(ledPins[currentLed], HIGH); // 将下一个LED点亮
delay(100); // 延时100毫秒
}
if (digitalRead(11) == HIGH) { // 如果第二个按键按下
digitalWrite(ledPins[currentLed], LOW); // 将当前亮的LED熄灭
currentLed = (currentLed + 7) % 8; // 切换到上一个LED
digitalWrite(ledPins[currentLed], HIGH); // 将上一个LED点亮
delay(100); // 延时100毫秒
}
}
这段代码使用了一个数组来保存8个LED的引脚,然后在 setup 函数中将它们设置为输出模式。在 loop 函数中,我们检测两个按键是否按下,如果第一个按键按下,就将当前亮的LED熄灭,切换到下一个LED,并将它点亮;如果第二个按键按下,就将当前亮的LED熄灭,切换到上一个LED,并将它点亮。每次切换LED之后,我们都会延时100毫秒,以便让LED的亮灭效果更加明显。
阅读全文