Appearance
ESP32 控制舵机

用 ESP32 的 GPIO4 输出 50Hz PWM,驱动舵机在 0° → 90° → 180° → 90° → 0° 之间循环摆动。可先在 Wokwi 在线仿真,再上真机。
在线仿真
- 打开 https://wokwi.com/
- My projects → New project → 选择 ESP32 → MicroPython
- 将下方
main.py、diagram.json分别粘贴到对应文件 - 点击 Start 运行,观察舵机转动
main.py
python
from machine import PWM, Pin
import time
# 信号脚 GPIO4,舵机标准频率 50Hz
servo = PWM(Pin(4), freq=50)
while True:
servo.duty(25) # 约 0°
time.sleep(1)
servo.duty(75) # 约 90°
time.sleep(1)
servo.duty(125) # 约 180°
time.sleep(1)
servo.duty(75) # 回到 90°
time.sleep(1)
servo.duty(25) # 回到 0°
time.sleep(1)diagram.json
json
{
"version": 1,
"author": "",
"editor": "wokwi",
"parts": [
{ "type": "board-esp32-devkit-c-v4", "id": "esp", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-servo", "id": "servo", "top": 74.8, "left": 201.6, "attrs": {} }
],
"connections": [
[ "servo:V+", "esp:5V", "red", [ "v0.1", "h-230.4", "v67.2" ] ],
[ "servo:GND", "esp:GND.1", "#8f4814", [ "h-220.8", "v28.8" ] ],
[ "servo:PWM", "esp:4", "orange", [ "h0", "v9.8" ] ]
],
"dependencies": {}
}接线说明
常见三线舵机(如 SG90)接线如下:
| ESP32 | 舵机 | 说明 |
|---|---|---|
| 5V | V+ / VCC(红) | 供电 |
| GND | GND(棕/黑) | 共地 |
| GPIO4 | PWM / Signal(橙/黄) | 控制信号 |
仿真可直接用板载 5V。真机若多颗舵机或堵转抖动,建议外接 5V 电源,并与 ESP32 共地。