[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指令。

大家一起試看看吧~

About CAVEDU 阿吉 - 雜工 (2521 Articles)
CAVEDU 教育團隊 打雜
Contact: Website

2 Comments on [Arduino] RC Servo Rotate

  1. 您好
    我想問遺下servo 的狀況
    執行arduino範例sweep時,L燈號會退出又重來,servo會亂轉
    影片 https://www.youtube.com/watch?v=7d1HSAEFYm0

    請問這是什麼狀況?要怎麼解決@@

Leave a comment

Your email address will not be published.


*