舵機的旋轉不像普通電機那樣只是轉圈圈,它可以根據你的指令旋轉到0至180度之間的任意角度然后精準的停下來,常用于控制機器人。舵機的轉動的角度是通過調節PWM(脈沖寬度調制)信號的占空比來實現的。需要使用Arduino上的PWM口控制(數字前帶~的),Arduino 的驅動能力有限,所以當需要控制1 個以上的舵機時需要外接電源。一個機器人經常需要很多個舵機同時工作,此時需要加一個舵機控制板,舵機控制板本身是一個單片機,它不但能接16/24/32個舵機,同時也簡化了舵機操作命令。下例中使用的是9g的小舵機,用arduino板上的5V供電,大的舵機有的需要外部供電才能驅動,外接電源時需要將降到舵機指定的電壓,否則會燒壞舵機。
舵機SG90,Arduino uno,杜邦線
GND(棕色)接 Arduino GNDPWM(橙色)接 Arduino Digital 10VCC(紅色)接 Arduino 5V

#include <Servo.h>#define PIN_SERVO 10Servo myservo;void setup(){ myservo.attach(PIN_SERVO);}void loop(){ myservo.write(0); delay(1000); myservo.write(80); delay(1000); myservo.write(160); delay(1000); myservo.write(80); delay(1000); myservo.write(0); delay(1000);}代碼中用到了Servo庫,它是Arduino自帶的庫,不需要另外下載安裝。(請注意:因各廠商硬件不同,引腳位置可能有差異,具體請見硬件說明書)
新聞熱點
疑難解答