控制任务

舵机的位置控制

电路设计

见下图

程序设计

 1 #include <Servo.h>   //舵机驱动头文件
 2 Servo myservo;   // 定义舵机对象
 3 int pos = 0;    // 定义舵机初始位置
 4 
 5 void setup()
 6 {
 7    myservo.attach(9);  // 设置舵机控制针脚
 8 }
 9 
10 void loop()
11 {
12    for(pos = 0; pos < 180; pos += 1)    // 0到180旋转舵机,每次延时50毫秒
13    {  
14       myservo.write(pos);  
15       delay(50); 
16     }
17     for(pos = 180; pos>=1; pos-=1)   // 180到0旋转舵机,每次延时50毫秒 
18     {                               
19       myservo.write(pos);
20       delay(50);
21     }
22 }

运行效果

舵机连续左右摆动近180度,循环

舵机控制原理

                       

图1 微型舵机实物图

 

图2 舵机接线定义

 

 图3 舵机位置控制原理

 脉冲宽度在0.5ms 到2.5ms 之间时,与之对应的舵机转角为0°~180°。

 注  因为用到了舵机库函数,舵机信号线只能接控制板的9或11口。