请为Arduino UNO编写一个程序,该程序能用一个开关控制三个LED灯亮灭,也就是按一下开关第一个LED灯点亮,再按一下开关第二个LED灯点亮(第一个LED不熄灭,仍然继续保持点亮状态),继续按一下开关第三个LED灯点亮(第一个和第二个LED不熄灭,仍然继续保持点亮状态),继续按一下开关三个LED灯均熄灭,按照此规律可循环往复。第一个LED灯接在第3管脚处,第二个LED灯接在第4管脚处,第三个LED灯接在第5管脚处,开关接在第2管脚处。
时间: 2023-04-10 21:00:30 浏览: 1022
点亮一个LED灯程序
以下是为Arduino UNO编写的程序,可以用一个开关控制三个LED灯亮灭:
int led1 = 3; // 第一个LED灯接在第3管脚处
int led2 = 4; // 第二个LED灯接在第4管脚处
int led3 = 5; // 第三个LED灯接在第5管脚处
int button = 2; // 开关接在第2管脚处
int state = 0; // 开关状态
void setup() {
pinMode(led1, OUTPUT); // 将第一个LED灯的管脚设置为输出模式
pinMode(led2, OUTPUT); // 将第二个LED灯的管脚设置为输出模式
pinMode(led3, OUTPUT); // 将第三个LED灯的管脚设置为输出模式
pinMode(button, INPUT); // 将开关的管脚设置为输入模式
}
void loop() {
if (digitalRead(button) == HIGH) { // 如果开关被按下
state++; // 状态加1
if (state == 4) { // 如果状态为4,即三个LED灯都点亮了,将状态重置为0
state = 0;
}
}
if (state == 1 || state == 3) { // 如果状态为1或3,第一个LED灯点亮
digitalWrite(led1, HIGH);
} else {
digitalWrite(led1, LOW);
}
if (state == 2 || state == 3) { // 如果状态为2或3,第二个LED灯点亮
digitalWrite(led2, HIGH);
} else {
digitalWrite(led2, LOW);
}
if (state == 3) { // 如果状态为3,第三个LED灯点亮
digitalWrite(led3, HIGH);
} else {
digitalWrite(led3, LOW);
}
}
阅读全文