控制任务
舵机的位置控制
电路设计
见下图
程序设计
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口。