前面我们学了点亮LED、控制电机旋转——这些都是直接控制“小电流”设备。但在实际生活中,很多电器(比如电灯、风扇、电机)需要的是220V高压交流电,ESP32的GPIO引脚(3.3V,最大电流几十毫安)根本没有能力直接驱动它们。
那怎么办?继电器就是来解决这个问题的。
继电器是一种用小电流控制大电流的“自动开关”。
今天这节课,我们就来学习如何用ESP32控制继电器,从而实现对高压电器(比如一盏220V的灯)的开关控制。掌握了这节课,你就掌握了智能家居远程控制的核心技术。
第一步:找到课程,看看成品效果
打开逗脑IDE,点击顶部 “教程”,在 “硬件” → “ESP32 + MicroPython” 分类下,找到继电器控制。
打开课件,你会看到本节课的最终效果——ESP32通过继电器控制RGB彩灯:代码里让灯亮它就亮,让灯灭它就灭。
第二步:什么是继电器?
继电器就是一个由小信号控制的“开关”。
你可以把它想象成一个由ESP32遥控的开关:
- ESP32发出高电平(3.3V)→ 继电器内部线圈通电 → 开关吸合 → 大电流电路导通
- ESP32发出低电平(0V)→ 继电器内部线圈断电 → 开关断开 → 大电流电路断开
关键特性: 继电器输入端和输出端是电气隔离的——ESP32的3.3V控制电路和220V高压电路之间没有物理连接,非常安全。
第三步:继电器的原理(一句话总结)
继电器内部有一个电磁线圈。当线圈通电时,会产生磁力,把开关吸合;当线圈断电时,磁力消失,开关弹开。
“小电流通,大电流合;小电流断,大电流开。”
课件里有一张清晰的原理图:
- 左侧(低压侧):GPIO接线圈,控制继电器吸合或断开
- 右侧(高压侧):COM口接火线输入,NO/NC口接用电器
继电器三个重要端口:
| 端口 | 全称 | 作用 |
|---|---|---|
| COM | Common(公共端) | 连接火线输入 |
| NO | Normally Open(常开) | 继电器吸合时导通,断开时断路 |
| NC | Normally Closed(常闭) | 继电器断开时导通,吸合时断路 |
我们通常用NO端口——继电器吸合时电路导通,断开时电路断开,符合直觉。
第四步:动手接线
接线分两部分:控制线和负载线。
控制线(ESP32 → 继电器模块)
| 序号 | 从 | 到 | 说明 |
|---|---|---|---|
| 1 | ESP32 5V | 继电器 DC+ | 继电器模块供电 |
| 2 | ESP32 GND | 继电器 DC- | 继电器模块供电地 |
| 3 | ESP32 GPIO13 | 继电器 IN | 控制信号(高电平吸合) |
负载线(继电器 ↔ RGB彩灯)
| 序号 | 从 | 到 | 说明 |
|---|---|---|---|
| 4 | ESP32 3.3V | 继电器 COM | 彩灯供电输入 |
| 5 | 继电器 NO | RGB彩灯 V引脚 | 控制彩灯正极通断 |
| 6 | RGB彩灯 G引脚 | ESP32 GND | 绿色通道直接接地 |
工作原理:
3.3V → COM → (吸合时NO与COM导通) → NO → 彩灯V → 彩灯内部LED → 彩灯G → GND
- 继电器吸合:回路完整 → 绿灯亮 ✅
- 继电器断开:回路中断 → 绿灯灭 ❌
第五步:代码——简单到极致
继电器的控制代码极其简单——就是控制一个GPIO引脚输出高电平或低电平。
from machine import Pin
# 定义控制继电器的引脚(GPIO13)
p13 = Pin(13, Pin.OUT)
# 吸合:让继电器导通(灯亮)
p13.value(1)
# 断开:让继电器断开(灯灭)
# p13.value(0)
代码逻辑极简:
p13.value(1)→ GPIO13输出高电平 → 继电器吸合 → 灯亮p13.value(0)→ GPIO13输出低电平 → 继电器断开 → 灯灭
就这么简单,两行代码就能控制220V的电器!
第六步:保存运行,看效果!
按 Ctrl + S 保存,选择ESP32开发板设备,给文件命名(比如relay.py),点击保存。
点击运行按钮,你会听到继电器“啪”的一声——吸合了!
此时你会看到灯珠亮起。
如果需要让灯熄灭,把 p13.value(1) 改成 p13.value(0),重新运行,继电器会“啪”一声断开,灯熄灭。
继电器的应用——打开智能家居的大门
学会了继电器控制,你就掌握了智能家居最核心的技术:
| 应用场景 | 控制方式 |
|---|---|
| 智能插座 | ESP32 + 继电器,手机远程控制插座通断 |
| 智能照明 | 控制220V电灯的开关 |
| 智能门锁 | 控制电磁锁的吸合和断开 |
| 自动灌溉 | 控制水泵的启停 |
| 智能风扇 | 控制220V风扇的开关 |
| DIY智能家居 | 把家里的普通电器变成“智能电器” |
结合我们之前学的WiFi连接和远程控制:
电脑/手机 → 路由器 → ESP32 → 继电器 → 220V电器
把前几节课的WiFi连接 + 远程控制 + 本节课的继电器组合起来,你就拥有了远程控制家中任何电器的能力!
全程回顾
| 步骤 | 操作 | 效果 |
|---|---|---|
| 找到课程 | 教程→硬件→ESP32+MicroPython→继电器 | 了解继电器原理和效果 |
| 认识继电器 | 学习“小电流控制大电流”的原理 | 理解三个端口(COM/NO/NC)的作用 |
| 低压接线 | VCC→5V, GND→GND, IN→GPIO13 | 控制线就位 |
| 高压接线 | COM接火线输入,NO接灯泡 | 负载线就位(注意安全) |
| 打开代码 | 点击“打开”按钮 | 代码进入编辑器 |
| 保存运行 | Ctrl+S → 选择ESP32 → 运行 | 继电器吸合,灯亮 |
| 断开控制 | 改代码为 p13.value(0) 再运行 | 继电器断开,灯灭 |
如果你对本节课感兴趣,去官网(**www.dounao.cn**)下载逗脑IDE,准备好ESP32和步进电机,跟着课件走一遍。
有任何问题或建议,欢迎在评论区留言告诉我们。