Arduino控制舵机

作者: iotboy | 来源:发表于2017-01-07 22:02 被阅读694次

    一、使用工具

    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.奥松机器人官网

    相关文章

      网友评论

      本文标题:Arduino控制舵机

      本文链接:https://www.haomeiwen.com/subject/xnnfbttx.html