发布时间: 2026-05-25
运用 UNO去操控舵机,这在机器人制作以及智能小车项目里属于极为常见的入门方面的操作行为。众多初学者会碰到同一个问题,那就是在买回舵机之后,面对着那些密密麻麻众多呈现在眼前的引脚,却不清楚究竟该以怎样正确的方式去进行接线,又或者是在写好了程序之后,却发觉舵机完全没有发生任何表示动的情形。
本文章会以极为常见的SG90舵机当作例子,手把手地去教你达成从硬件连接直至代码实现的整个流程。不管你是第1回接触该舵机,又或是力求掌握更加精准的角度控制,这份教程都能够帮你一次性把问题处理掉。
UNO控制舵机,你只需要三根线。
普通一般的案例呈现:有一位网友头一回使用去操控舵机。可谁知这个情形里,导致舵机所处状况仅仅只在不停抖动,然而就是不向着预期方向转动。随后经过一番细致检查,发现是供电这方面出现不足的状况。具体缘由是,他把舵机带有的红色电源线直接连到了的3.3V引脚上。要知道SG90舵机在进行转动这个动作的时候,是需要大概5V的电压以及几百毫安的电流才能够正常运转的,那么3.3V这样的电压根本就没有办法达成驱动舵机正常转动的效果。
标准接线如下:
那根呈现为棕色且带有GND标识也就是负极的线,要连接到板上具备GND标识的引脚。
红色的线,也就是VCC,即正极,要连接到的5V引脚。
橙色线也就是信号线,要接到对应的上的数字引脚,像9号引脚这种。
留意,要是你运用的是大扭矩舵机,像这种,其扭矩超过10kg·cm,那它需更大电流。在此种情况下不能够直接连接的5V引脚,借助外接电源,比如5V/2A的适配器来给舵机供电,不然的话会把主板烧坏。
官方给出了现成的舵机控制库,你不用自己应对PWM信号的具体细节。
将 IDE开启,点击工具,接着点击管理库,去搜索Servo,寻找到由官方所维护的库,随后进行安装。
#
Servo ; // 创建一个舵机对象
void setup() {
.(9); // 将舵机信号线连接到9号引脚
}
void loop() {
.write(0); // 转到0度
delay(1000); // 等待1秒
.write(90); // 转到90度
delay(1000); // 等待1秒
.write(180); // 转到180度
delay(1000); // 等待1秒
}
常见问题: 上传代码后,舵机没有反应。
进行接线的仔细审视,要保证信号线所作的连接,是代码里所明确规定的引脚,此引脚在这一情形下为9号引脚。
查看供电情况,留意板上的电源指示灯有无点亮。查看舵机,看其是否发出微弱的嗡嗡声。要是有嗡嗡声但舵机不动,那就表明供电不足这一状况,这种情况下就需要外接电源了。
检查那个端口,要在用于集成开发环境的软件里,去确认已然选择了正确的串行通信端口,也就是COM口。
舵机借助接收PWM(脉冲宽度调制)信号,以此来明确旋转角度。尽管你并非需要深入探究信号细节,然而掌握以下两点,将会极大地削减调试时间:
标准舵机,像SG90这种,其角度范围是从0°至180° ,脉宽1ms的时候对应0° ,脉宽1.5ms时则对应90° ,脉宽2ms时对应180°。
![]()
那种没有既定角度限制,而是借助不一样脉宽来操控旋转方向以及速度的连续旋转舵机,要是使用其的话,当.write(90)时会使得舵机停下,而.write(0)和.write(180)分别对正反转予以控制。
要是你察觉到舵机转动的角度并非精准合适儿,比如说经由调用.write(90)呢之后实际所转到的却是95°,那么能够运用.()函数来开展微调操作哦。
.(1500); // 对应90度的标准脉宽
调整此数值,此数值通常处于1000至2000的范围伟创动力舵机,借此你能够校准每一个位置。
1. 进行最为简单的测试,仅仅连接一个舵机,接着运行由本文所提供的示例代码,进而确认接线以及代码均是正确的。
2. 留心舵机的类型,在进行购买这个行为的时候,要去确定究竟是“标准角度舵机”,还是“连续旋转舵机”伟创动力,因为这两者的控制逻辑是全然不一样的。
3. 第一优先级为供电:要是舵机出现抖动情况,或者不转动,又或者呈现出异常发热的状况,那么请去检查供电是不是充足。
4. 采用外接电源,在同时操控两个以及超过两个的舵机之际,强烈地建议运用外部电源来供电,以此避免致使主板遭受损坏。
概述: UNO操控舵机 ,实际上那便是恰当连接线路 ,外加调用官方所提供的库。只要牢记棕色连接GND ,红色连接5V ,橙色连接数字引脚 ,随后运行上面所提及的代码 ,你的舵机就能够立刻开始运转。从这个起始点着手 ,你能够逐渐拓展至多舵机组成的机器人手臂或者智能小车项目。



