Arduino控制舵机

Arduino控制舵机

一、使用工具

1、Arduino UNO



2、RB-15PG舵机


二、参数(数据来自奥松机器人官网)

1.重量:9g

2.尺寸:22.3 mmx 11.8mm x 26.3mm

3.无负载操作速度:0.12秒/60度(4.8V);0.1秒/60度(6.0V)

4.堵转扭矩:1.3kg·cm(4.8V);1.5kg·cm(6.0V)

5.使用温度:-30~+60摄氏度

6.死区设定:4微秒

7.工作电压:4.8V~6V

8.附件:三种功能舵角、固定螺钉。

注:舵机型号可根据自身条件和需要自行选择。

三、连线

舵机棕色为接地线,红色为电源正极线,橙色为信号线,分别对应arduino单片机的GND、VCC、引脚9。然后通过专用数据线将arduino与电脑连接在一起打开Arduino IDE开始编程

四、编程

1、程序功能

程序可以实现通过串口控制舵机旋转角度

2、代码

#include<Servo.h>//引入舵机控制库文件

Servo myservo;//实例化一个舵机对象来控制舵机

void setup(){

myservo.attach(9);//声明舵机控制接口为引脚9

Serial.begin(9600);//连接到串行端口,波特率为9600

Serial.println("seral_simple ready" ) ;//串口输出提示内容

}

void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数

{

int val=Serial.read();//读取串行端口的值

if(val>='0'&&val<='18')

{

val=val-'0';//将特征量转化为数值变量

val=val*10;//角度设置为10的倍数

Serial.print("moving servo to ");//舵机旋转角度输入0-18任意一个数

Serial.print(val,DEC);//以十进制形式输出舵机旋转角度

Serial.println();//实现换行功能

myservo.write(val);//控制舵机旋转输入的角度

}

}

五、拓展

1、功能:控制舵机实现从0到180度再从180~0旋转

2、代码:

#include<Servo.h>

Servo myservo;

int pos = 0; //舵机初始角度

void setup()

{

myservo.attach(9);

}

void loop()

{

for(pos = 0; pos < 180; pos += 1) //角度从0到180度

{

myservo.write(pos); // 舵机旋转角度为pos

delay(15); //延时15ms

}

for(pos = 180; pos>=1; pos-=1) //

}

myservo.write(pos); //

delay(15); //

}

}

六、用途

1、航模中会经常使用;

2、智能小车、机械臂等这样比较小功率的场合使用;

3、工业上也有用,大型的液压舵机就是一种。

参考来源:

1.Arduino官方网站

2.Arduino中文社区

3.奥松机器人官网

编辑于 2017-03-25 11:17