ESP32-S3 控制 继电器
我帮你把这个 ESP32-S3 控制继电器实验 写成一篇博客文章,结构和前面蜂鸣器那篇类似,但结合继电器的工作原理、接线方式和实验说明,让读者能一看就明白。
ESP32-S3 控制继电器实验
一、实验简介
继电器是一种利用小电流控制大电流的电器开关,常用于设备控制、家电自动化等场景。
本实验将使用 ESP32-S3 控制一个继电器模块,驱动一个 LED 模块,实现定时开关控制,从而掌握继电器的基本使用方法。
二、硬件准备
- ESP32-S3 开发板 × 1
- 继电器模块 × 1
- LED 模块(带限流电阻) × 1
- 杜邦线若干
- USB 数据线 × 1(用于连接电脑)
三、接线说明
1. 控制部分(ESP32-S3 → 继电器模块)
| 继电器引脚 | ESP32-S3 引脚 |
|---|---|
| REL | GPIO45 |
| GND | GND |
| VCC | 3V3 |
2. 负载部分(继电器 → LED 模块)
| 继电器端子 | 接线对象 |
|---|---|
| COM | 3V3 |
| NO | LED D1 |
接线示意图:
ESP32-S3 GPIO45 ----> REL(继电器控制端)
ESP32-S3 3V3 ------> VCC(继电器电源)
ESP32-S3 GND ------> GND
继电器 COM --------> 3V3
继电器 NO ---------> LED D1
LED 另一端 --------> GND
四、代码实现
// 定义继电器控制管脚
#define relay_pin 45
char g_i = 0;
void setup() {
// 设置引脚为输出模式
pinMode(relay_pin, OUTPUT);
}
void loop() {
// 翻转状态
g_i = !g_i;
// 控制继电器吸合或断开
digitalWrite(relay_pin, g_i);
// 延时 1000 毫秒
delay(1000);
}
五、代码解析
-
#define relay_pin 45
定义继电器控制引脚为 GPIO45,方便后续修改和维护。 -
pinMode(relay_pin, OUTPUT)
设置 GPIO45 为输出模式,ESP32-S3 才能输出高低电平信号。 -
g_i = !g_i
每次循环取反,实现开与关的交替。 -
digitalWrite(relay_pin, g_i)
输出高电平时继电器吸合,LED 亮;低电平时继电器断开,LED 灭。 -
delay(1000)
延时 1 秒,每隔一秒切换一次继电器状态。
六、实验现象
将程序下载到 ESP32-S3 后,继电器会间隔 1 秒吸合与断开,同时 LED 模块会对应亮与灭,形成闪烁效果。
七、注意事项
-
继电器模块需要足够的驱动电流,确保 ESP32-S3 的 GPIO 脚可以带动(多数模块内置驱动电路)。
-
COM、NO、NC 是继电器的常见端子:
- COM(公共端)
- NO(常开端,吸合时接通)
- NC(常闭端,吸合时断开)
-
控制高功率设备时需注意用电安全,本实验仅使用低压 LED 模块。
八、总结
本实验演示了如何用 ESP32-S3 控制继电器,从而间接控制外部负载。实际应用中,可以将继电器与传感器、定时器结合,实现家电控制、自动化设备开关等功能。

浙公网安备 33010602011771号