首页 > 行业资讯 >减速电机
TECHNICAL SUPPORT

WiFi模块控制舵机:远程控制舵机完整教程

发布时间: 2026-05-10

01用WiFi模块控制舵机,只需三步就能实现远程角度控制

您可曾考虑借助手机或者电脑,以远程方式操控一个机械手臂、或者是智能窗帘以及小型机器人呢?其中关键的方案是这样的:运用拥有GPIO输出能力的WiFi模块,在接收到无线指令之后输出PWM信号的情况下,直接促使舵机转到指定角度之处。本文会完好给予由硬件选型开始、经过接线、再到编程以及故障排除的整个流程,从而让您不用再次去查找,能够独自完成该项功能。

一、核心原理(30秒理解)

PWM信号的周期为20ms,脉宽处于0.5ms至2.5ms之间,舵机借助接收此信号来控制转角,转角范围通常是0°至180°。WiFi模块连接至本地无线网络后,会运行一个微型TCP服务器,监听来自客户端的指令,比如“角度90” ,接着把指令换算成对应的PWM脉宽,输出至信号引脚,舵机便会随即转动到目标位置。

二、硬件准备(全闭环清单)

组件 规格要求 备注
WiFi模块 支持GPIO输出、PWM硬件或软件模拟 常见选择:基于ESP架构的无线微控制器(具备至少1路PWM输出)
舵机 标准SG90或MG995等任意3线舵机(电源、地、信号) 根据负载扭矩选择
电源 5V/2A DC电源(为WiFi模块和舵机供电) 大扭矩舵机需单独供电,避免与模块共用输入
杜邦线 公对母、母对母若干 用于连接模块与舵机
下载器 USB转串口适配器(如CH340) 用于烧录程序到WiFi模块

案例参考:有一位DIY爱好者,在制作智能鱼饵投喂器这个物件的时候,运用了上述组合,达成了借助手机APP进行远程投掷饵料的操作 ,舵机促使杠杆发生动作 ,系统稳定运行长达6个月的时间都没有出现故障。

三、硬件连接(标准化接线)

按照以下对应关系连接(模块引脚名称以实际丝印为准):

模块5V输出 → 舵机红色线(VCC)

模块GND → 舵机棕色/黑色线(GND)

对于模块GPIO编号引脚,比如说其中存在GPIO2这样的编号,它会对应到舵机橙色或者黄色线,也就是信号线

舵机模块作用_舵机控制板_wifi模块控制舵机

留意着,要是舵机于大角度或者带着负载的情形下出现抖动或者重启的状况,那就表明供电是不足的。一定得外接超过5V/3A的稳压电源,而且要把模块的GND跟外接电源的GND进行共地处理。

四、软件编程(可直接复制使用)

下面拿 IDE开发环境当作例子,给出经过验证的完整代码,此代码不依赖任何第三方库,只是运用原生WiFi和PWM函数

#    // 若使用其他WiFi模块请替换对应头文件
// ======== 用户修改区域 ========
const char ssid = "你的WiFi名称";
const char  = "你的WiFi密码";
const int  = 80;          // 监听端口
const int  = 2;              // 信号线所接GPIO编号
// =============================
 ();
int  = 90;               // 当前角度0180
// 将角度(0180)转换为PWM脉宽(5002500微秒)
int (int angle) {
   map(angle, 0, 180, 500, 2500);
}
// 使用精确输出PWM脉冲(适用于所有WiFi模块)
void (int pin, int angle) {
  int  = (angle);
  (pin, HIGH);
  ();
  (pin, LOW);
  (20000  );  // 20ms周期剩余部分
}
void setup() {
  .begin();
  (, );
  (, LOW);
  WiFi.begin(ssid, );
  while (WiFi.() != ) {
    delay(500);
    .print(".");
  }
  .("\nWiFi已连接,IP地址:" + WiFi.().());
  .begin();
  .("服务器已启动,请发送指令:GET /?angle=数字");
}
void loop() {
    = .();
  if (!) ;
    = .('\r');
  .flush();
  // 解析HTTP请求中的 angle 参数,例如 GET /?angle=45
  int  = .("angle=");
  if ( != 1) {
    int  = .(" ", );
      = .( + 6, );
    int  = .toInt();
    if ( >= 0 &&  <= 180) {
       = ;
      (, );
      .print("舵机转动到: ");
      .();
    }
  }
  // 返回简单响应
  .("HTTP/1.1 200 OK");
  .("Type: text/plain");
  .();
  .print("OK: angle=");
  .print();
  delay(10);
  .stop();
}

操作步骤

1. 把 IDE进行安装,给对应WiFi模块的开发板支持添加进去。

2. 把上述代码当中的ssid以及,变更为您路由器所具备的实际信息。

3. 选择正确的端口和开发板类型伟创动力舵机,点击上传。

4. 开启串口监视器之处,其波特率设定为的数值,而后着手记录WiFi模块所获取到的IP地址,此例对应的IP地址为192.168.1.100。

五、远程控制测试(验证功能)

使用任意能连接到同一WiFi网络的设备(手机/电脑):

将浏览器开启,于地址栏当中输入: ,进而使得舵机转向至0度。

舵机控制板_wifi模块控制舵机_舵机模块作用

输入:http://<模块IP>/?angle=90 → 舵机转到中间

给予链接 ,促使舵机转向至最大角度。

常见问题应急处理

现象 原因
舵机完全不转 电源线或地线接触不良 检查连线,用万用表测量模块引脚是否有5V输出
舵机剧烈抖动 PWM周期/脉宽不准 确保使用而非delay;某些模块需改用,但需要调整频率
连接WiFi超时 密码错误或2.4G频段不匹配 确认路由器开启2.4GHz频段,且SSID无特殊字符
控制时好时坏 舵机启动瞬间电流过大 为舵机单独供电(5V/2A)伟创动力,共地即可

六、扩展到实际项目(行动建议)

核心观点重复如下:WiFi模块对舵机进行控制,其本质是这样的逻辑,即从网络指令开始,经由PWM脉宽再到角度位置,任何品牌的模块都依照这同一逻辑。您只要达成了上述最简系统,便能够把它嵌入任意有远程位置控制需求的设备当中。

立即行动建议

1. ,要在面包板之上,运用小型舵机,也就是SG90,去完成那上述提及的测试,而且整个过程,时间不会超过30分钟。

2. 经过确认达到稳定状态后,依靠您最终的项目需求,去挑选大扭矩舵机,进而设计独立供电的电路。

3. 若有同时操控多个舵机之需求,能够运用同一WiFi模块的各异GPIO引脚,或者额外连接舵机驱动板(借助I2C实施控制)。

推进方向:把HTTP控制更替成MQTT协议,(这当中需要增添少许代码),如此一来就能达成没有公网IP的远程操控、定时任务、传感器联动等智能化情景。你已经掌握了最为核心的基础,后续拓展不会再存在技术阻碍。

为所有产品提供动力单元

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

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