发布时间: 2026-04-20
欲借 Uno开发板精确控制舵机之角度从而成就,实现机械臂、智能小车或者自动门?最为直截便当的办法是:给舵机的信号线连至支持PWM的引脚(一般为9号或者10号引脚),并且于 IDE里上传Servo库的示例编码“Sweep”。
不少爱好者头一回运用舵机之际,常常碰到舵机不转动、产生抖动或者旋转角度出现偏差的状况。这些状况百分之九十是起因于接线出差错或者电源不达指标。下面是从全无基础起始成功操控舵机的完整操作指引。
确认舵机类型。市面上最常见的舵机有三根线:
棕色或黑色线:电源负极(GND)
红色的线,它所连接的是电源的正极,这个正极有着特定标识为(VCC,日常正常运作时的电压范围一般是处于4.8V至6.0V之间)。
橙色或黄色线:PWM信号线
舵机主要分为两类:
1. 标准舵机,其旋转角度范围,正常情形下是从0°起始直至180°。它适用于机械臂的关节部位,也适用于转向机构。
2. 源源不断持续旋转的舵机,并非针对特定角度予以控制,仅仅是对转速以及方向加以控制,它恰到好处适用于车轮驱动这一情况。
关键差异在于,要是你的项目要求精准地停留在特定角度,像30°、90°这般,那就得选用标准舵机。倘若仅仅是需要轮子进行转动,那就运用连续旋转舵机。
所需材料:
Uno开发板 ×1
标准180°舵机 ×1(如SG90或MG995)
杜邦线(母对母) ×3
如果舵机尺寸较大,举例来说像MG995这种,那么就一定要使用外接的4.8V到6V电源,比如说电池盒这类,绝对不可以直接从 Uno的5V引脚进行供电,不然的话就会把开发板烧坏。
连接步骤:
1. 电源连接:
![]()
舵机的棕色线也就是GND,它要连接到 Uno的GND引脚。
对于微型舵机像SG90而言,舵机红色线也就是VCC,要连接到 Uno的5V引脚。
亦或,外接电池盒的正极,大型舵机是一定要外接电源的,并且要把外接电源的GND和的GND进行共地。
2. 信号连接:
舵机橙色线也就是信号线,要连接到 Uno的9号引脚,或者是10号引脚,又或者是11号引脚。
对于典型错误案例来说,有这样一种情况,即有一位爱好者,其直接取用供电来驱动两个MG995舵机,随后出现了这样的结果,也就是舵机一旦启动,开发板马上就重启了。究其原因在于,MG995的峰值电流超出了2A,然而的5V引脚最大输出仅仅约为500mA。关于是,要为舵机单独进行供电,并且一定要共地,也就是外接电源的负极要与 GND相连接。
IDE自带了舵机控制库,无需额外安装。
步骤1:打开Sweep示例
在 IDE的菜单栏那里进行选择,选择的内容是:文件,然后是示例,然后依次要找到Servo,找到Sweep。
步骤2:理解核心代码
# // 包含舵机库
Servo ; // 创建舵机对象
int pos = 0; // 存储角度位置
void setup() {
.(9); // 将舵机连接到9号引脚
}
void loop() {
// 舵机从0°转到180°,每次增加1°
for (pos = 0; pos <= 180; pos += 1) {
.write(pos); // 设定角度
delay(15); // 等待舵机转到该位置
}
// 舵机从180°转回0°,每次减少1°
for (pos = 180; pos >= 0; pos = 1) {
.write(pos);
delay(15);
}
}
步骤3:上传并观察
选取恰当的开发板,(其步骤按工具的路径走,先到开发板,能看到其中名为 Uno的选项),以及合适的端口,(这里要通过工具里端口的选项路径去找)。
点按上传按键,达成之后,舵机的轴会转动到0°伟创动力,接着缓缓地摆动至180°,随后再回转,不断重复循环。
若需要舵机转到特定角度(如90°),可使用以下精简代码:
#
Servo ;
void setup() {
.(9);
.write(90); // 直接转到90°
}
void loop() {
// 保持90°不动
}
角度设定规则:
在“.write(angle)”里,“angle”的值所涉及的范围是,对于标准舵机而言,其范围是从0到180。
写入超出范围的值(如200)会导致舵机不动作或损坏限位。
| 问题现象 | 最可能原因 | |
|---|---|---|
| 舵机完全不动伟创动力舵机,发热严重 | 电源线接反或电压过高 | 立即断电,检查棕色(GND)和红色(VCC)是否接反。 |
| 舵机抖动,无法定位 | 电源电流不足 | 使用外接电池供电,并确保共地。 |
| 只向一个方向旋转,不停 | 误用了连续旋转舵机 | 连续舵机只能控制速度,不能控制角度。更换为标准舵机。 |
| 转到某个角度后卡死 | 代码中角度超出机械限位 | 检查代码中的角度值,确保在0~180范围内。 |
| 没有任何反应 | 信号线未连接正确引脚 | 确认.(pin)中的引脚号与硬件连接一致。 |
核心结论:
成功对舵机实施控制存在着三个关键性要点,其一为进行正确的接线,也就是要实现共地,其二是要给予充足的供电,特别要注意不能依靠Uno直接驱动较大的舵机,其三乃是要正确运用Servo库当中的write()函数。
行动建议:
1. 当下即刻着手:依据“第二节”所规定的硬件连接,运用微型舵机(像是SG90这种)径直连接至 Uno的5V引脚从而展开初次试炼,这可是最为妥当的入门途径。
2. 记住共地这条原则:在任何外接电源跟二者之间,都必定要把负极也就是GND连接到一块儿,不然的话信号就没法进行传输。
3. 优先选用9号引脚或者10号引脚,这两个引脚属于 Uno的硬件PWM引脚,能够输出最为稳定的舵机控制信号。
4. 如遇抖动状况,应先对电源展开检查:当舵机出现异常抖动情形时,不要对代码产生怀疑,要运用万用表去测量舵机供电电压是否处于稳定状态。绝大多数的问题都是源自于电源方面。



