:::

最新消息

:::

【Arduino】伺服馬達常用程式碼

最新公告消息
張貼人:陳美芳老師公告日期:2023-08-19
<伺服馬達接線>
棕色→GND,紅色→5V正極,橘色→Digital訊號2~12皆可

<第一段:
引入函式庫與宣告>
//連結需要用到的函式庫,必要條件
#include <Servo.h>
 
//必要條件→宣告一個伺服馬達物件(自己幫伺服馬達取名ex:myservo)
Servo myservo;
      //如果定義兩個以上伺服馬達可以加入編號辨識,以此類推
      Servo myservo1;
      Servo myservo2;
 
<第二段:Void Setup 初始化>
//定義伺服馬達腳位,必要條件
myservo.attach(2);  //伺服馬達橘色線(訊號線)腳位接2號
 
        //定義兩個以上伺服馬達,呼應上方已宣告伺服馬達編號,以此類推
      myservo1.attach(2);  //馬達1腳位接2號
      myservo2.attach(3);  //馬達2腳位接3號
 
//先給伺服馬達初始角度90度,俗稱定中位必要條件
myservo.write(90);  //伺服馬達90度定中位(0-180度)
delay(300); //馬達一定要搭配延遲給予足供轉動時間必要條件

<第三段:Void loop迴圈>
//寫入伺服馬達角度,可以0~180度
    myservo1.write(50);     //指定馬達1轉到50度
    myservo2. write(120);  //指定馬達2轉到120度
    delay(300); //給予足供轉動時間,
必要條件

//另外一種伺服馬達MG996R是可以順時針或逆時針轉360度款
//(90)=馬達停下不轉動
//(0)=逆時針快轉,(80)=逆時針慢轉(100)=順時針慢轉(180)=順時針快轉
//寫入數值愈靠近90轉速愈慢,數值愈靠近0或180轉速愈快
myservo.write(90);  //如果是360度款的馬達,寫90則是停止不動
delay(300); //搭配延遲給予足夠時間轉動,
必要條件
myservo.write(20);  //如果是360度款的馬達,寫20則是逆時針快轉
delay(300); //
搭配延遲給予足夠時間轉動,必要條件
 
最後修改時間:2024-03-18 AM 11:32

競賽成果

    行事曆

    « November 2024»
        010203
    04050607080910
    11121314151617
    18192021222324
    252627282930
    cron web_use_log