Appearance
ESP32 控制继电器

用 ESP32 的 GPIO4 控制继电器模块吸合 / 断开。仿真里用 LED + 电阻 模拟被控负载:继电器接通时 LED 亮,断开时 LED 灭,周期各 5 秒。可先在 Wokwi 在线仿真,再上真机。
在线仿真
- 打开 https://wokwi.com/
- My projects → New project → 选择 ESP32 → MicroPython
- 将下方
main.py、diagram.json分别粘贴到对应文件 - 点击 Start 运行,观察继电器动作与 LED 亮灭
main.py
python
from machine import Pin
import time
relay = Pin(4, Pin.OUT) # GPIO4 → 继电器 IN
while True:
relay.on() # 吸合,负载通路
time.sleep(5)
relay.off() # 断开,负载开路
time.sleep(5)diagram.json
json
{
"version": 1,
"author": "ESP32 Relay LED Demo",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-relay-module", "id": "relay", "top": 77, "left": 182.4, "attrs": {} },
{ "type": "wokwi-led", "id": "led", "top": -22.8, "left": 435.8, "attrs": { "color": "red" } },
{
"type": "wokwi-resistor",
"id": "r1",
"top": 70.6,
"left": 469.55,
"rotate": 270,
"attrs": { "value": "220" }
},
{ "type": "wokwi-vcc", "id": "vcc1", "top": -66.44, "left": 345.6, "attrs": {} },
{ "type": "wokwi-gnd", "id": "gnd1", "top": -67.2, "left": 373.8, "attrs": {} }
],
"connections": [
[ "relay:VCC", "esp:VIN", "red", [ "v-115.2", "h-201.6", "v177.7" ] ],
[ "relay:GND", "esp:GND.2", "black", [ "h-9.6", "v-115.6", "h-182.4", "v158.6" ] ],
[ "relay:IN", "esp:D4", "gold", [ "v-0.2", "h-81.1" ] ],
[ "relay:NO", "r1:1", "green", [ "h0" ] ],
[ "r1:2", "led:A", "green", [ "h0", "v-27.6" ] ],
[ "led:C", "gnd1:GND", "green", [ "v0", "h-57.2" ] ],
[ "vcc1:VCC", "relay:COM", "red", [ "v0" ] ]
],
"dependencies": {}
}接线说明
控制端(ESP32 ↔ 继电器模块)
| ESP32 | 继电器模块 | 说明 |
|---|---|---|
| VIN / 5V | VCC | 模块供电 |
| GND | GND | 共地 |
| GPIO4 | IN | 控制信号 |
负载端(本例用 LED 模拟市电灯)
用CC 模拟火线、GND 模拟零线、LED 模拟灯泡:
| 仿真接线 | 对应市电 |
|---|---|
| VCC → 继电器 COM | 火线 → COM |
| 继电器 NO → 220Ω → LED 正极 | NO → 灯 |
| LED 负极 → GND | 灯另一端 → 零线 |
吸合时:VCC(火线) → COM → NO → 电阻 → LED → GND(零线),LED 点亮。
真机控灯同此:火线进 COM,NO 接灯,灯另一端接零线。务必断电接线,注意绝缘与安全。低电平触发的模块可能与本例电平逻辑相反,以模块丝印为准。