使用arduino环境,esp8266-01s 使用三个按键控制一个led亮灭,第一个按键按下,LED亮,第一个按键松开,led灭;第二个按键按下,LED亮,第二个按键松开,led灭;第三个按键按下,LED亮,第三个按键松开,led灭,
时间: 2024-03-08 16:50:30 浏览: 39
好的,这个问题需要在前面的代码基础上进行修改。我们需要使用变量来存储LED的状态,并且只有在按下按键的时候才改变LED的状态。以下是修改后的代码示例:
```C++
int ledPin = 4;
int button1 = 0;
int button2 = 2;
int button3 = 3;
bool ledState = false;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(button1, INPUT_PULLUP);
pinMode(button2, INPUT_PULLUP);
pinMode(button3, INPUT_PULLUP);
}
void loop() {
if (digitalRead(button1) == LOW) {
ledState = true;
} else if (digitalRead(button2) == LOW) {
ledState = false;
} else if (digitalRead(button3) == LOW) {
ledState = !ledState;
}
digitalWrite(ledPin, ledState);
}
```
在这个示例中,我们创建了一个名为`ledState`的变量来存储LED的状态,初始值为`false`。在每次循环中,我们检查按键1、按键2和按键3是否被按下,如果是,我们改变`ledState`的值。最后,我们根据`ledState`的值来控制LED的亮灭状态。
注意,这里使用了布尔类型的变量,即`true`和`false`。`true`表示LED应该亮起,`false`表示LED应该熄灭。在`digitalWrite()`函数中,我们直接将`ledState`的值传递给LED引脚。如果`ledState`是`true`,LED引脚将设置为高电平,LED亮起;如果`ledState`是`false`,LED引脚将设置为低电平,LED熄灭。
阅读全文