arduino之舵机的控制

舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。
arduino之舵机的控制_第1张图片
程序:


#define D5 14
#include   //加载舵机库
Servo myservo;  //定义一个舵机对象
void setup() {
  // put your setup code here, to run once:
  myservo.attach(D5); // 设置IO D5为舵机
  myservo.write(0); 开机设置舵机为 0}

void loop() {
  // put your main code here, to run repeatedly:
  for(int i=0;i<=90;i++){  //控制舵机角度有0度旋转到90度
    myservo.write(i);
    delay(50);
  }
  for(int i=90;i>=0;i--){//控制舵机角度由90度旋转到0度
    myservo.write(i);
    delay(50);
  }
}

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。

1.servo类介绍
servo类下有以下成员函数
attach()//连接舵机
write()//角度控制
writeMicroseconds()//
read()//读上一次舵机转动角度
attached()//
detach()//断开舵机连接

2.舵机原理
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms 之间,但是,事实上脉宽可由0.5ms 到2.5ms 之间,脉宽和舵机的转角0°~180°相对应。有一点值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所不同。

你可能感兴趣的:(#,arduino)