[Arduino] RC Servo Rotate

Arduino的使用其實非常簡單,當我們下載Arduino IDE後就已經有一些基本的範例可以使用,並且已經將libraries寫好了,只需要打幾個簡單的函式,就可以達到我們要的效果,就拿Servo當範例。請您在Arduino環境中找到 Files --> Examples --> Servos, 底下有 Knob與 Sweep兩個範例, 現在我們來看看Sweep:

#include <Servo.h>
 
Servo myservo;  // 建立一個servo物件, 最多可以到8個
 
int pos = 0;    // 用來儲存servo位置的變數
 
void setup()
{
  myservo.attach(9);  // 指定servo接在pin 9
}
 
 
void loop()
{
  for(pos = 0; pos < 180; pos += 1)  // 要servo從0度轉動到180度的位置, 每次正向轉動1度
  {                               
    myservo.write(pos);              // 以變數pos的值來指定servo 的位置
    delay(15);                       // 等候15毫秒讓動作做完
  }
  for(pos = 180; pos>=1; pos-=1)     要servo從180度轉動到0度的位置, 每次逆向轉動1度
  {                               
    myservo.write(pos);             
    delay(15);                      
  }
}

我們就可以發現,我們如果要指定Servo轉到某個位置,不需要自己寫PWM,只需要打myservo.write(pos);    pos指定0~180就可以滿足我們的要求, 不需要處理一些低階的I/O指令。

大家一起試看看吧~

2 thoughts on “[Arduino] RC Servo Rotate

    • CAVEDU 阿吉 - 雜工 says:

      您好,應該是讓 servo 去接到電池(電池 -> 麵包板 -> servo),您這樣接是讓 Arduino Uno 去吃電池哩。Arduino 用 USB 供電就可以。有用到馬達的專題,馬達都要獨立供電喔

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *