采用继电器配合esp32远程控制电灯的方法,继电器也可以改成多路继电器,这样单个esp32可以控制多个电器原件
以下是esp32的io引脚,本文采用IO26作为信号输入
将继电器模块连接到esp32,如下图所示
本例子中用的是一个继电器模块
以下是实物的接线图,图中没有用AC接灯泡而是直接连接esp32的3.3v,仅做参考
创建一个web网页的代码部分
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";
WebServer server(80);
int relayPin = 26; // 设置继电器输出引脚
void setup() {
Serial.begin(115200);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // 初始关闭继电器
// 连接WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi…");
}
Serial.println("WiFi connected!");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// 网页请求
server.on("/", handleRoot);
server.on("/on", handleOn);
server.on("/off", handleOff);
server.begin();
Serial.println("Server started");
}
void loop() {
server.handleClient(); // 处理客户端请求
}
void handleRoot() {
server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><a href=\"/on\"><button>ON</button></a> <a href=\"/off\"><button>OFF</button></a></body></html>");
}
void handleOn() {
digitalWrite(relayPin, LOW); // 打开继电器
server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><h1>Relay is ON</h1></body></html>");
}
void handleOff() {
digitalWrite(relayPin, HIGH); // 关闭继电器
server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><h1>Relay is OFF</h1></body></html>");
}
将代码烧录进去esp32板上,在arduino上打开串口,查看web网页的ip,在浏览器上打开对应的ip地址
web网页下的继电器控制
打开关闭就能控制继电器的开关啦
————————————————
版权声明:本文为CSDN博主「我是黑杰克」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_49079751/article/details/129855543