arduino实现esp8266接两个按钮,一个按钮控制蜂鸣器按一下叫三秒后关闭,一个按钮控制蜂鸣器按下叫松开关闭的代码
时间: 2024-04-09 09:28:07 浏览: 18
下面是一个示例代码,使用Arduino和ESP8266将两个按钮与一个蜂鸣器关联起来,实现不同的功能:
```cpp
#include <ESP8266WiFi.h>
// 定义按钮引脚
const int buttonPin1 = D0;
const int buttonPin2 = D1;
// 定义蜂鸣器引脚
const int buzzerPin = D2;
// 定义按钮状态
int buttonState1 = 0;
int buttonState2 = 0;
// 定义蜂鸣器状态
bool buzzerOn = false;
void setup() {
// 初始化串口通信
Serial.begin(115200);
// 设置按钮引脚为输入模式
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
// 设置蜂鸣器引脚为输出模式
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// 读取按钮状态
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
// 按钮1控制蜂鸣器按一下叫三秒后关闭
if (buttonState1 == HIGH) {
Serial.println("Button 1 pressed");
// 检测蜂鸣器状态,如果已经开启,则关闭
if (buzzerOn) {
digitalWrite(buzzerPin, LOW);
buzzerOn = false;
delay(3000); // 停顿3秒
}
else {
// 打开蜂鸣器并保持3秒
digitalWrite(buzzerPin, HIGH);
buzzerOn = true;
delay(3000); // 蜂鸣器持续时间
}
}
// 按钮2控制蜂鸣器按下叫,松开关闭
if (buttonState2 == HIGH) {
Serial.println("Button 2 pressed");
// 打开蜂鸣器
digitalWrite(buzzerPin, HIGH);
buzzerOn = true;
}
else {
// 关闭蜂鸣器
digitalWrite(buzzerPin, LOW);
buzzerOn = false;
}
}
```
在上面的示例中,我们使用ESP8266的Digital引脚(D0,D1,D2)作为按钮和蜂鸣器的连接引脚。按钮1按下时,检测蜂鸣器状态,如果蜂鸣器已经开启,则关闭;否则,打开蜂鸣器并保持3秒。按钮2按下时,打开蜂鸣器;松开按钮时,关闭蜂鸣器。你可以根据自己的需求进行修改,并将引脚号与你的实际硬件连接进行匹配。