专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

初学Arduino控制舵机

作者:huqin   来源:本站原创   点击数:  更新时间:2014年04月03日   【字体:

抽了点时间在Arduino官方上看了很多资料,官方的资料解析都是英文的,看得有点吃力!其中如下图:


 

 

(PS:我的无线鼠标电池没电了,充电等了半天才能用)

  • Arduino官方: http://www.arduino.cc/
  • Arduino源码: http://code.google.com/p/arduino/
  • Arduino台湾: http://www.arduino.tw/
  • Liquidware : http://www.liquidware.com/

Arduino的软件可以在http://code.google.com/p/arduino/downloads/list这里下载得到。

 

看了很多资料,得到的总结来分享下面的程序代码:

#include <Servo.h>    //这里是头文件,可以在“sketch”-“Import Library”-“servo”调用出来
Servo myservo_1;   //定义一号舵机名{Servo [声明舵机的名字,可以随意,后面需要调用]}

Servo myservo_2;   //定义二号舵机名
void setup()   //这里前面的文章提过了,指的是函数在程序开始时使用,可以初始化变量、接口模式、启用库等
{
  myservo_1.attach(9);   //定义一号舵机接口,连接到Arduino板子上的pin9

  myservo_2.attach(10);   //定义二号舵机接口,连接到Arduino板子上的pin10
  Serial.begin(19200);   //设置波特率为19200,波特率
  Serial.print("Ready");   //板子运行的时候返回“Ready”提示
}
void loop()
{
  static int v=0;
  if (Serial.available())   //判断语句
  {
    char ch = Serial.read();   //读取串口数据
    switch(ch)
    {
      case '0'...'9':
      v = v*10 + ch - '0';   //字符转换成十进制
      break;
      case 'a':   //如果数据后带a,则表示是一号舵机的数据,比如串口发送85a
      myservo_1.write(v); //用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°,“V”得到所输入的值而改变角度,比如85a为85度角

      v = 0;
      break;

      case 'b':   //如果数据后带b,则表示是二号舵机的数据,比如串口发送85a

      myservo_2.write(v);   //用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°,“V”得到所输入的值而改变角度,比如90b为90度角
      v = 0;
      break;

    }
  }
}
 

====================我用的扩展板是Roboduino I/O Expansion v3.0=============================


 

关闭窗口

相关文章