使用 Arduino Uno 驱动舵机
目录
实例效果
使用Arduino Uno 驱动一个9克舵机, 实现, 从0度转到90度, 然后,从90度又转回0度, 如此不断往复......
元件说明
技术参数
产品尺寸:323012mm 工作扭矩:1.6kg·cm(4.8V) 使用温度:-30至+60摄氏度 死区设定:5微秒 工作电压:3.5V-6V 插头类型:JR、FUTABA通用 转动角度:180度 结构材质:塑料齿 适用范围:固定翼、直升机kt、滑翔、小型机器人机械手等模型
引脚说明
引脚 / PIN / IO | 颜色 |
---|---|
地线(GND) | 棕色或黑色 |
电源线(VCC) | 红色 |
信号线(PWM) | 橙色或白色 |
Bom表
名称 | 数量 |
---|---|
Arduino Uno | x1 |
9克舵机 | x1 |
跳线(杜邦线) | 若干 |
接线方式
注意 舵机接收的是PWM(Pulse Width Modulation)信号,也就是脉宽调制。而在Arduino Uno开发版上,并不是所有引脚都具备PWM功能,只有引脚旁边带有「~」符号才有,例如引脚3、5、6、9、10、11。然而不同的开发板的PWM引脚定义也是不一样的,具体请查阅对应开发板的资料。
程序代码
图形化编程块
本次图形化编程使用的是Tinkercad 平台
文本编程代码
// 加载 舵机 库
#include <Servo.h>
// 创建一个名为 servo_9 的 舵机实例 (名称可随你喜欢命名)
Servo servo_9;
// 初始化程序,在最开始时运行,只运行一次
void setup()
{
// 使用实例方法 .attach(pin, min, max) 进行配置
// pin: 舵机所连接的引脚号
// min: (可选)脉冲宽度(以微秒为单位),对应于舵机上的最小(0度)角度(默认为544)
// max: (可选)脉冲宽度(以微秒为单位),对应于伺服器上的最大(180度)角度(默认为2400)
// (pin, min, max)
servo_9.attach(9, 500, 2500);
}
// 主体程序,不断循环
void loop()
{
while (1 == 1) {
servo_9.write(0); // 实例 servo_9 的 舵机 转到0度
delay(1000); // 等待 1000 毫秒
servo_9.write(90); // 实例 servo_9 的 舵机 转到90度
delay(1000); // 等待 1000 毫秒
}
}
相关连接
Arduino使用舵机的第一篇,演示接线 使用 Arduino Uno 驱动舵机
串口的简单应用Arduino 串口发送与接收应用小实例