码迷,mamicode.com
首页 > 其他好文 > 详细

Arduino-舵机控制Servo

时间:2017-03-29 18:55:08      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:begin   examples   color   div   知识   mode   c语言   功能   strong   

以前没有接触过硬件,因为把弄APM2.5不得不去接触arduino板。Arduino是块极易上手的控板,不像单片机,你要花费大量的时间去学习预备知识,它只要你稍微懂点C语言既能上手。对于我这种业余爱好者,不二之选。手头有几个舵机,首次接触arduino就是用它来操作舵机。Arduino有个底层库(Servo类),包含驱动舵机的基本功能:

attach()//连接舵机
write()//角度控制
writeMicroseconds()//参数为pwm值,1000:逆时针旋转180度,1500:到达中点,2000:顺时针旋转180度
read()//读上一次舵机转动角度
attached()//
detach()//断开舵机连接

 

实例:
器材:arduino板、舵机、杜邦线若干 
程序可以在IDE>File>Examples>Servo>Sweep中找到
这里介绍不调用Servo库,写的Servo.write()函数,有些问题,串口输入的值与伺服转动的角度不相同。郁闷中!!!
int value;
int pulsewidth;
int pin=9;
void servowrite(int pin,int value)
{
  digitalWrite(pin,HIGH);
  value=map(value,0,180,700,2300);//舵机的PWM值在700~2300间,这是粗略的PWM数值转换
  digitalWrite(pin,LOW);
}
void setup()
{
 Serial.begin(9600);
 pinMode(pin,OUTPUT);
}
void loop()
{
  if(Serial.available()>0)
  {
    int val=Serial.read();
    value=val-0;//转换为数字
    value=map(value,0,9,0,180);
    Serial.print("moving servo to");
    Serial.print(value);
    servowrite(pin,value);
   }
    
}

 

Arduino-舵机控制Servo

标签:begin   examples   color   div   知识   mode   c语言   功能   strong   

原文地址:http://www.cnblogs.com/gaosheng-221/p/6641072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!