【Arduino】控制舵机

红:+5V,棕:GND,黄:信号
基于单片机的舵机控制方法具有简单,精度高,成本低,体积小的特点。在机器人机电控制系统中,舵机的控制效果是性能的重要影响因素。舵机可以在微电机系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
这里写图片描述
舵机的实例代码:

#include <Servo.h>  
Servo myservo;                 
int pos ;  
int val;
void setup() 
{ 
  Serial.begin(9600);
  myservo.attach(9);  
  Serial.println("servo=o_seral_simple ready");
} 

void loop() 
{ 
  if(Serial.available())
  {
     val=Serial.read();
     if(val!=-1)
     {
       //选择舵机的旋转方向
       switch(val)
       {
         case '2'://逆时针转60度
           Serial.println(val);
           for(pos = 90; pos <= 150; pos += 1) 
          {                                  
            myservo.write(pos);              
            delay(200);            //控制舵机转速 
          } 
          break;
         case '4'://顺时针转60度
           Serial.println(val);
           for(pos = 150; pos>=90; pos-=1)     
          {                                
            myservo.write(pos);              
            delay(200);                       
          } 
          break;
         case '6'://顺时针转40度
         Serial.println(val);
          for(pos = 90; pos>=50; pos-=1)     
          {                                
            myservo.write(pos);              
            delay(200);                      
          } 
          break;
         case '8'://逆时针转40度.
           Serial.println(val);
           for(pos = 50; pos<=90; pos+=1)     
          {                                
            myservo.write(pos);               
            delay(200);                      
          } 
          break;           
       }
     }
  }
} 

昨天本人调了一天的舵机发现舵机是360度的,一纸荒唐言,一把辛酸泪。。大家一定要确定自己的舵机的型号,再调式代码,不然。。。。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值