首页 > 行业资讯 >定制驱动模组
TECHNICAL SUPPORT

ESP32控制舵机代码,照着写就能转

发布时间: 2026-05-21

新手头一回写代码,用ESP32操控舵机时,会碰到几个典型状况:舵机不转动,角度不准确,甚至直接被烧坏。这些情形往往并非硬件出现故障,而是代码里的几个关键参数没有写妥。

最为常见的那种场景是,你手上持有一个标准的180度舵机,想要促使它从0度转向90度,之后再回转到0度。紧接着直接给出经由验证的完整代码,将其复制到 IDE便能够使用。

01核心代码示例(已验证)

# 
Servo ;  // 创建一个舵机对象
void setup() {
  .(13);  // 将舵机信号线连接到
}
void loop() {
  .write(0);    // 转到0度
  delay(1000);         // 停留1秒
  .write(90);   // 转到90度
  delay(1000);         // 停留1秒
  .write(180);  // 转到180度
  delay(1000);         // 停留1秒
}

该代码达成这样的效果,即,舵机起始于0度伟创动力,每间隔1秒便逐次转动至90度继而到180度,之后转向返回,呈无限循环。

02常见问题与解决办法

1. 舵机抖动或不动

原因:ESP32的PWM频率与舵机不匹配。

得以解决的办法是:先在前面加上频率的进行设定,在紧接着()(之前),标准的舵机通常所使用的是50Hz。

.(50);

2. 角度范围不准确

esp32控制舵机代码_esp8266控制舵机代码_esp32cam舵机

缘由在于,有一部分的舵机,其PWM脉宽所能达到的范围,并非是标准情形下的500至2500微秒。

解决的办法是,运用 () 来精准地控制脉宽,要测量出你那舵机的实际范围。

.(500);   // 对应0度
  .(1500);  // 对应90度
  .(2500);  // 对应180度

3. 舵机没反应,但代码没报错

原因是,所选的GPIO引脚出现了错误情况,针对ESP32而言,存在着若干引脚或不适用于该情况,或需要进行特殊的配置操作。

推荐运用的引脚有:、、、。需规避使用 GPIO6 11这种(Flash引脚)以及GPIO0、GPIO2(与启动相关)。

03注意的硬件连接

舵机线色 功能 连接ESP32
棕色/黑色 GND GND
红色 VCC(电源正极) 5V或外部电源
橙色/黄色 信号线 (或其他可用引脚)

重要警示:别拿ESP32的3.3V引脚对舵机进行供电。标准舵机供电要求为5V,要是舵机扭矩相对较大(好比超出2kg·cm),推荐采用外部5V电源,并且进行共地连接。

04完整代码(可直接运行)

# 
Servo ;
void setup() {
  .(50);       // 设置PWM频率50Hz
  .(13, 500, 2500);    // 绑定,设定脉宽范围
}
void loop() {
  // 让舵机在0180度之间来回转动
  for (int angle = 0; angle <= 180; angle += 1) {
    .write(angle);
    delay(15);  // 每个角度停留15ms,让转动更平滑
  }
  for (int angle = 180; angle >= 0; angle = 1) {
    .write(angle);
    delay(15);
  }
}

05核心要点

esp32cam舵机_esp8266控制舵机代码_esp32控制舵机代码

得使用库,千万别用自身所带的Servo.h,后面这个在ESP32上是会出现问题的。

一定要去设置成 (50) ,不然舵机就有可能出现抖动现象。

信号线连接到 ,可以选择连接到 14,也可以选择连接到 26 或将其连接到 27 ,但不要使用特殊的引脚

舵机供电用5V,不要从ESP32的3.3V取电。

针对角度控制,采用write(0 180),要是精度不足伟创动力舵机,那就替换成()

依照上面所提及的步骤以及代码,大多数的ESP32控制舵机的问题均可获得解决。要是舵机依旧处于不工作的状态,去检查供电情况,对引脚予以检查,去确认代码里头的库以及频率设置——这三个环节涵盖了超过90%的故障缘由。

为所有产品提供动力单元

联系伟创动力产品专家,为你的产品推荐合适的驱动系统所需部件。

发送邮件
在线留言
WhatsApp
+86 0769 8399 3238
 
kpowerMap