分享

arduino舵机servo库介绍和检查调整舵机的两个方法

 duping812 2020-04-13

servo类函数的用法

attach 连接舵机(自带库仅9/10脚有效)
write 角度控制
writeMicroseconds() 更精准的角度控制(μm级)
read() 读上一次舵机转动角度
attached() 检查舵机及是否连接控制板上
detach() 断开舵机连接,使接口(9/10脚)可做PWM输出

servo类函数语法

attach servo.attach(pin)/ servo.attach(pin, min, max)
servo.write(angle)
servo.writeMicroseconds(μm)
servo.read()
servo.attached()
servo.detach()
  1. 让舵机从0°转到180°再到0°
#include <Servo.h> 
Servo myservo;  			//创建一个舵机控制对象
                     		 // Arduino自带的Servo函数库只可以同时控制两个模拟舵机;
                     		 //且最好使用D9 D10脚;
                     		 //若需要控制多个舵机则需要用pwm功能;
                     		 //使用Servo类最多可以控制8个舵机
int pos = 0;   				// 该变量(pos)用于存储舵机角度位置
/*~~~~~~~~~~~~~~~~~~~~~~~~~~朴实的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~ */
void setup() 
{ 
  myservo.attach(9); 		 // 该舵机由arduino第九脚控制
} 
/*~~~~~~~~~~~~~~~~~~~~~~~~~~朴实的分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ 
void loop() 
{ 
  for(pos = 0; pos < 180; pos += 1)  // 从0°到180°运动 
  {                                 // 每次步进一度,实际会有些偏差属正常现象
    myservo.write(pos);        		// 指定舵机转向的角度
    delay(15);                      // 等待15ms让舵机到达指定位置
  } 
  for(pos = 180; pos>=1; pos-=1)   //从180°到0°运动  
  {                                
    myservo.write(pos);         	// 指定舵机转向的角度 
    delay(15);                      // 等待15ms让舵机到达指定位置 
  } 
  //myservo.write(pos);		//注释主函数的内容,取消注释此内容
  //将pos换为具体的0到180间任意数,上电可直接让舵机转到该位置
}

  1. 用转动滑动电位器调整
#include <Servo.h> 

Servo myservo;  
 //创建一个舵机控制对象  

int potpin = 0; 					 //该变量用于存储用电位器读出的模拟值
int val;    
// 该变量用与存储舵机角度位置  

void setup() 
{ 
  myservo.attach(9);  
// 该舵机由arduino第九脚控制  
} 

void loop() 
{ 
  val = analogRead(potpin);            //读取电位器控制的模拟值 (范围在0-1023) 
  val = map(val, 0, 1023, 0, 179);     //将电位器读取的(0,1023)规划为(0,179)
  myservo.write(val);                  
// 指定舵机转向的角度  
  delay(15);                           
// 等待15ms让舵机到达指定位置   
}

因为在制作一个东西时需要用到舵机,在调整舵机零点的时候犯了糊涂,耽误了不少时间,调整好后索性做一次总结,供大家参考!
参考于[https://www./en/Reference/Servo]
及[(https://www./thread-1038-1-1.html)]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多