ESP8266,arduino编程,用舵机控制车库门的开关,按下开门按钮车库门打开,按下关门按钮车库门关闭,设备端使用1602显示屏显示相关信息代码
时间: 2024-05-02 15:17:13 浏览: 15
下面是基于ESP8266和Arduino的车库门控制代码,使用舵机控制车库门的开关,同时显示相关信息在1602显示屏上:
```C++
#include <SoftwareSerial.h>
#include <Servo.h>
#include <LiquidCrystal.h>
#define OPEN_BUTTON 2 // 开门按钮连接到GPIO 2
#define CLOSE_BUTTON 3 // 关门按钮连接到GPIO 3
#define SERVO_PIN 4 // 舵机连接到GPIO 4
Servo garageDoor;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
bool doorState = false;
void setup() {
pinMode(OPEN_BUTTON, INPUT_PULLUP);
pinMode(CLOSE_BUTTON, INPUT_PULLUP);
garageDoor.attach(SERVO_PIN);
garageDoor.write(0); // 关闭门
lcd.begin(16, 2);
lcd.print("Garage Door");
}
void loop() {
if (digitalRead(OPEN_BUTTON) == LOW) { // 按下开门按钮
lcd.setCursor(0, 1);
lcd.print("Opening Door ");
garageDoor.write(90); // 开门
doorState = true;
} else if (digitalRead(CLOSE_BUTTON) == LOW) { // 按下关门按钮
lcd.setCursor(0, 1);
lcd.print("Closing Door ");
garageDoor.write(0); // 关门
doorState = false;
} else {
if (doorState) {
lcd.setCursor(0, 1);
lcd.print("Door Open ");
} else {
lcd.setCursor(0, 1);
lcd.print("Door Closed ");
}
}
}
```
在这个代码中,我们首先包含了所需的库文件,然后定义了开门按钮、关门按钮和舵机的引脚。接下来,在setup()函数中,我们设置了按钮引脚为输入,并使用软件串口将舵机连接到GPIO 4上。然后,我们初始化LCD并在第一行显示Garage Door。
在loop()函数中,我们检测开门按钮和关门按钮是否被按下。如果按下开门按钮,我们将显示Opening Door并将舵机旋转到90度以打开门。如果按下关门按钮,我们将显示Closing Door并将舵机旋转到0度以关闭门。最后,如果没有按钮被按下,我们检查门的状态并在LCD上显示Door Open或Door Closed。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)