news 2026/9/24 17:28:12

零基础学ESP32:舵机控制——让设备精准转动到指定角度!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础学ESP32:舵机控制——让设备精准转动到指定角度!

前面我们学了控制LED亮灭、控制继电器开关、让蜂鸣器唱歌——但这些都只是"开"和"关"两种状态。今天要学一个能精准控制角度的设备:舵机

航模飞机的机翼控制、小车车轮的转向、家用电器的开关、机器人关节的转动……这些需要"转到某个精确角度"的场景,背后都是舵机在工作。

今天这节课,我们就用ESP32 + MG90S舵机,实现0°、90°、180°的精准角度控制!

第一步:找到课程,看看成品效果

打开逗脑IDE,点击顶部“文档”,在“课程” → “ESP32 + MicroPython”分类下,找到舵机这节课。

打开课件,你会看到本节课的最终效果:舵机的摆臂在程序控制下,精准地转动到0°、90°、180°,再转回来,动作干脆利落。

第二步:舵机是什么?

用大白话说:舵机就是能够转动指定角度的设备。

你给它一个指令"转到90度",它就精准地转到90度;你说"转到180度",它就转到180度。不像普通电机只会一直转,舵机是可以控制角度的。

三根线:

线色功能说明
黑褐色GND电源地
红色VCC电源正极(5V)
橙色信号线接收控制信号

第三步:舵机能做什么?

舵机的应用场景非常广泛:

应用场景用途
航模飞机控制机翼、尾舵的偏转角度
智能小车控制前轮转向
机器人关节控制机械臂、机械腿的角度
家用电器控制开关、阀门
智能窗帘控制窗帘开合角度
摄像头云台控制摄像头上下左右转动
自动门锁控制锁芯旋转开锁

第四步:怎么控制它?——PWM信号

ESP32该发送什么样的数据给舵机的信号线呢?

答案:PWM(脉冲宽度调制)信号。

舵机通过识别PWM信号的脉冲宽度来判断应该转到什么角度:

脉冲宽度对应角度
0.5ms
1.5ms90°
2.5ms180°

在MicroPython中,我们用duty_u16()来设置脉冲宽度。经过计算和实际验证,MG90S舵机的控制参数如下:

角度duty_u16值
duty_u16(1638)
90°duty_u16(4915)
180°duty_u16(8192)

📌 关键参数:PWM频率设为50Hz(周期20ms),这是舵机的标准控制频率。

第五步:动手接线

舵机线连接ESP32说明
黑褐色(GND)GND电源地
红色(VCC)3.3V电源正极
橙色(信号线)GPIO2PWM信号输出

第六步:代码——转到指定角度

frommachineimportPin,PWMimporttime# 创建PWM对象,连接到GPIO2p2=PWM(Pin(2))# 设置PWM频率为50Hz(舵机标准频率)p2.freq(50)# 转到0度p2.duty_u16(1638)time.sleep(1)# 转到90度p2.duty_u16(4915)time.sleep(1)# 转到180度p2.duty_u16(8192)time.sleep(1)

代码解读:

代码作用
PWM(Pin(2))创建PWM对象,连接到GPIO2
p2.freq(50)设置频率为50Hz(舵机标准)
p2.duty_u16(1638)转到0°
p2.duty_u16(4915)转到90°
p2.duty_u16(8192)转到180°

📌 版本要求:必须使用MicroPython 1.19 及以上版本!1.18版本不会有反应。具体升级方法参考"环境搭建"课程。

第七步:保存运行,看舵机转动!

保存代码到开发板,命名 :servo.py

点击运行按钮,观察舵机:

  1. 先转到(摆臂指向最左边)
  2. 等待1秒
  3. 转到90°(摆臂指向正前方)
  4. 等待1秒
  5. 转到180°(摆臂指向最右边)

进阶玩法:让舵机来回摆动

学会了基本的角度控制,可以让舵机来回摆动,做出更生动的效果:

frommachineimportPin,PWMimporttime p2=PWM(Pin(2))p2.freq(50)whileTrue:# 从0°到180°fordutyinrange(1638,8192,100):p2.duty_u16(duty)time.sleep_ms(20)# 从180°到0°fordutyinrange(8192,1638,-100):p2.duty_u16(duty)time.sleep_ms(20)

效果:舵机像雷达一样,从0°平滑扫到180°,再从180°扫回0°,循环往复。

舵机 + 其他模块 = 更多可能

组合效果
舵机 + 超声波智能小车自动避障
舵机 + 人体感应人靠近自动开门
舵机 + 摇杆用摇杆实时控制舵机角度
舵机 + WiFi远程控制舵机转动
舵机 + 光敏追光太阳能板

全程回顾

步骤操作效果
找到课程文档→课程→ESP32+MicroPython→舵机了解舵机原理
认识硬件3根线:GND、VCC、信号线知道怎么接线
理解PWM脉冲宽度决定角度理解控制原理
动手接线GND→GND, VCC→5V, 信号线→GPIO2硬件就位
打开代码点击"打开"按钮代码进入编辑器
保存运行Ctrl+S → 选择ESP32 → 运行舵机精准转动!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 17:27:02

【股票交易】第 47 章 图表的基本语言

回到目录文章目录47.1 价格图表:同一段交易历史的不同表达线形图 :先观察整体变化柱状图与 K 线图:增加周期内部的信息线性坐标与对数坐标:金额变化和比例变化47.2 K 线:四个价格能够告诉我们什么一根 K 线的构成阳线不…

作者头像 李华
网站建设 2026/9/24 17:26:17

Codex修Bug总翻车?先检查你的任务描述里有没有这3个坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 17:25:29

如何安装 RevokeMsgPatcher:微信QQ防撤回补丁 5 分钟上手

如何安装 RevokeMsgPatcher:微信QQ防撤回补丁 5 分钟上手 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode…

作者头像 李华
网站建设 2026/9/24 17:24:54

开源项目推荐:Mew

开源项目推荐:Mew 【免费下载链接】mew Package Manager Translator 项目地址: https://gitcode.com/gh_mirrors/me/mew 项目基础介绍和主要编程语言 Mew 是一个由 FOSSASIA 组织开发的开源项目,主要用于实现跨不同 Linux 发行版的包管理器命令翻…

作者头像 李华
网站建设 2026/9/24 17:24:23

GPU训练脚本迁移昇腾NPU只需5步简单修改:TorchNPU模型迁移实战指南

GPU训练脚本迁移昇腾NPU只需5步简单修改:TorchNPU模型迁移实战指南 【免费下载链接】pytorch 作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU&#xff0c…

作者头像 李华