SG90舵机接Arduino怎么控角度:三线接线与Servo库扫舵

2026-10-20 20:30:45 33阅读

想做机械臂、摇头摄像机云台或者机器人头部,第一个用上的基本就是舵机。SG90这颗几块钱的微型舵机,是绝大多数人入坑舵机控制的第一课。这篇把它的三根线、怎么上电、怎么精确转到指定角度一次讲明白。

cover sg90

三根线别接反

SG90有三根线。橙色的是信号线,接Arduino带PWM的引脚,比如D9;红色的是电源正极接5V;棕色的是负极接地。接反了轻则不转,重则烧驱动,接线前先对着丝印确认。

body sg90 wiring

single一颗舵机、空载扫一扫,Arduino的5V口带的动。但如果你的舵机带负载、或者一次要带好几个,就要外接5V电源给舵机供电,Arduino只接信号地共地就行,别硬从板子抽电流。

Servo库直接控角度

Arduino自带Servo库,用起来非常简单。先创建一个Servo对象,在setup里用servo.attach(9)把它挂到引脚上,然后在loop里直接servo.write(0)、write(90)、write(180),它就会转到对应角度。

这个库靠的是给舵机发不同脉宽的PWM信号:0度对应大概1毫秒脉宽,90度约1.5毫秒,180度约2毫秒。库帮你把这些都包好了,不用自己算。

扫舵测一测

最简单的验证程序就是让舵机从0度慢慢转到180度再转回来,用delay控制移动速度,串口打印当前角度。跑通之后你会看到舵机来回摆臂,这就说明信号发送正常。

如果舵机只抖不动,多半是供电跟不上或者信号线没接对PWM脚。如果一动不动先测测电源电压,低于4.8V舵机往往带不动。

进阶:加旋钮控制

想在单个角度手动定位,可以再接一颗电位器到A0,把模拟值映射到0到180度再去write,你就得到一个"手拧旋钮、舵机跟转"的控制器。这套是机械臂关节控制的雏形。

要注意舵机转角范围一般是0到180度,超过极限硬顶会咔咔响甚至烧齿轮。加限位、留余量,是做久了才会注意的细节。

小结

SG90便宜、够轻、响应够快,适合一切"只需要摆个角度"的场景。把三线接线、Servo库、供电和脉冲原理这四点吃透,舵机这块就算入门了。想提升就换金属齿轮的MG996R,接线和代码完全一样。


作者:机械臂装配侠
链接:https://www.aiddithome.com/p/ec23b55ad256a.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
5条评论
线比代码多
1楼 · 2026-10-20 20:34:07

给摄像头做个摇头云台去,收藏

深圳打工人Alan
2楼 · 2026-10-20 20:34:05

扫舵那段跑通超有成就感,慢慢也会调角度了

拆开看看再说
3楼 · 2026-10-20 20:34:04

多带几颗真的要从板外取电,这条提醒太实在了

修啥都行二哥
4楼 · 2026-10-20 20:34:03

第一颗舵机就是SG90,三线接反烧了我一颗,血的教训

锡点
5楼 · 2026-10-20 20:31:55

机械臂入门就得从它开始