控制任務
舵機的位置控制
電路設計
見下圖
程序設計
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口。