2015年5月25日 星期一

課程30-伺服馬達控制實驗

目的:

使用Arduino 控制伺服馬達左右轉。

電子元件:

麵包板 x 1
Arduino 主板 x 1
伺服馬達 x 1

電路圖:

程式碼:
  1. #include <Servo.h>
  2. Servo myServo;  
  3. void setup() {
  4.  myServo.attach(9);
  5.  Serial.begin(9600);
  6. }
  7. void loop() {
  8.  for(int i=0;i<180;i++){
  9.    myServo.write(i);
  10.    Serial.println(i);
  11.    delay(5);
  12.  }
  13.  delay(3000);
  14.  for(int i=180;i>0;i--){
  15.    myServo.write(i);
  16.    Serial.println(i);
  17.    delay(5);
  18.  }
  19.  delay(3000);
  20. }

程式說明:

第一行 匯入Servo.h
第二行 宣告一Servo 物件命名為myServo。
第三行~第六行 初始設定。
第四行 設定myServo的attach為Pin9。
第五行 打開Serial 通訊,並設定頻率為9600。
第七行~第二十行 為主程式
第八行~第十二行 使用For迴圈 整數變數 i 從0~179,每加1就執行下面程式。
第九行 把整數變數i 傳給myServo.write。
第十行 在Serial 上面印出i。
第十一行 延遲0.005秒
第十三行 延遲3秒
第八行~第十二行 使用For迴圈 整數變數 i 從180~1,每減1就執行下面程式。
第九行 把整數變數i 傳給myServo.write。
第十行 在Serial 上面印出i。
第十一行 延遲0.005秒
第十三行 延遲3秒

影片:


參考資料:
Arduino練習:伺服馬達以Tower Pro SG90為例

沒有留言:

張貼留言

Arduino、Raspberry Pi、System Integration,如有問題或建議,可以互相討論喔~