采用继电器配合esp32远程控制电灯的方法,继电器也可以改成多路继电器,这样单个esp32可以控制多个电器原件


以下是esp32的io引脚,本文采用IO26作为信号输入

image.png

 将继电器模块连接到esp32,如下图所示

image.png


本例子中用的是一个继电器模块


以下是实物的接线图,图中没有用AC接灯泡而是直接连接esp32的3.3v,仅做参考


image.png


创建一个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地址

image.png



 web网页下的继电器控制


image.png


 打开关闭就能控制继电器的开关啦


image.png


 image.png

————————————————

版权声明:本文为CSDN博主「我是黑杰克」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_49079751/article/details/129855543