ARDUINO, 入門篇

【Arduino入門教學課程】 第十六篇:控制SG90 Servo伺服馬達

實驗說明:

  • 伺服馬達的轉動的角度是通過調節PWM(脈衝寬度調製)信號的實現來實現的,標準PWM(脈衝寬度調製)信號的周期固定為20ms(50Hz),理論上脈寬分佈應在1ms到 2ms之間,但是,實際上脈寬預期0.5ms到2.5ms之間,脈寬和舵機的轉角0°〜180°相對應。有一點不會的地方,由於舵機牌子不同,對於同一信號 ,不同牌子的舵機旋轉的角度也會有所不同。
  • Arduino的驅動能力有限,所以當需要控制1個以上的舵機時建議加上馬達擴展板。

  • 另外各位在選購伺服馬達舵機時務必注意,同種型號會有2種規格
  1. 180度:標準舵機(可控制角度)
  2.  360度:連續旋轉舵機(不可控制角度)

 

材料:

  • Arduino Uno R3
  • USB 傳輸線
  • 伺服馬達(180度)
  • 麵包板
  • 麵包板跳線

 

 

👍爆款推薦:程式學習套件組 

購買網址:shop.mirotek.com.tw

 

 

接線說明:

 

程式:

#include <Servo.h> 
 
Servo myservo;  // 定義舵機對象,最多八個 
 
int pos = 0;    // 定義舵機轉動位置
 
void setup()
{
      myservo.attach(9);  // 設置舵機控制腳位
}
 
void loop()
{
      // 0到180旋轉舵機,每次延時15毫秒
      for(pos = 0; pos < 180; pos += 1)
      { 
        myservo.write(pos); delay(15);
      } 
      // 180到0旋轉舵機,每次延時15毫秒 
      for(pos = 180; pos>=1; pos-=1)
      {                               
        myservo.write(pos);
        delay(15);
      }
}

 

將程式碼上傳到Arduino後,可以看到,舵機開始先按0到180運轉,然後再從180到0運轉。

 

 

 

 

相關文章