使用arduino和esp32来控制小水泵抽水的代码
时间: 2024-05-01 10:23:08 浏览: 229
下面是一个使用Arduino和ESP32控制小水泵抽水的代码示例:
```c++
// 引入必要的库
#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>
// 创建Web服务器实例
WebServer server(80);
// 设置网络参数
const char* ssid = "YourSSID";
const char* password = "YourPassword";
// 设置GPIO引脚
const int pumpPin = 2;
void setup() {
// 初始化串口
Serial.begin(115200);
// 初始化GPIO引脚
pinMode(pumpPin, OUTPUT);
digitalWrite(pumpPin, LOW);
// 连接WiFi网络
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
// 输出连接成功信息
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
// 绑定Web请求处理函数
server.on("/", handleRoot);
server.on("/on", handlePumpOn);
server.on("/off", handlePumpOff);
// 启动Web服务器
server.begin();
}
void loop() {
// 处理Web请求
server.handleClient();
}
// 处理根目录请求
void handleRoot() {
server.send(200, "text/html", "<html><body><h1>Hello, world!</h1></body></html>");
}
// 处理开启水泵请求
void handlePumpOn() {
digitalWrite(pumpPin, HIGH);
server.send(200, "text/html", "<html><body><h1>Pump is on</h1></body></html>");
}
// 处理关闭水泵请求
void handlePumpOff() {
digitalWrite(pumpPin, LOW);
server.send(200, "text/html", "<html><body><h1>Pump is off</h1></body></html>");
}
```
这个代码示例创建了一个Web服务器实例,并绑定了三个请求处理函数,分别用于处理根目录请求、开启水泵请求和关闭水泵请求。在`setup()`函数中,我们初始化了串口、GPIO引脚和WiFi网络,并启动了Web服务器。在`loop()`函数中,我们调用了`server.handleClient()`函数来处理Web请求。当收到开启水泵请求时,调用`digitalWrite(pumpPin, HIGH)`函数将GPIO引脚电平设置为高电平,进而开启水泵;当收到关闭水泵请求时,调用`digitalWrite(pumpPin, LOW)`函数将GPIO引脚电平设置为低电平,进而关闭水泵。
阅读全文