:::
【Arduino】伺服馬達常用程式碼
最新公告消息
張貼人:陳美芳老師 ╱ 公告日期:2023-08-19<伺服馬達接線>
棕色→GND,紅色→5V正極,橘色→Digital訊號2~12皆可
<第一段:引入函式庫與宣告>
//連結需要用到的函式庫,必要條件
棕色→GND,紅色→5V正極,橘色→Digital訊號2~12皆可
<第一段:引入函式庫與宣告>
//連結需要用到的函式庫,必要條件
#include <Servo.h>
//必要條件→宣告一個伺服馬達物件(自己幫伺服馬達取名ex:myservo)
Servo myservo;
//如果定義兩個以上伺服馬達可以加入編號辨識,以此類推
Servo myservo1;
Servo myservo2;
Servo myservo1;
Servo myservo2;
<第二段:Void Setup 初始化>
//定義伺服馬達腳位,必要條件
myservo.attach(2); //伺服馬達橘色線(訊號線)腳位接2號
//定義兩個以上伺服馬達,呼應上方已宣告伺服馬達編號,以此類推
myservo1.attach(2); //馬達1腳位接2號
myservo2.attach(3); //馬達2腳位接3號
myservo2.attach(3); //馬達2腳位接3號
//先給伺服馬達初始角度90度,俗稱定中位,必要條件
myservo.write(90); //伺服馬達90度定中位(0-180度)
delay(300); //馬達一定要搭配延遲給予足供轉動時間,必要條件
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轉速愈快
myservo2. write(120); //指定馬達2轉到120度
delay(300); //給予足供轉動時間,必要條件
//另外一種伺服馬達MG996R是可以順時針或逆時針轉360度款
//(90)=馬達停下不轉動
//(0)=逆時針快轉,(80)=逆時針慢轉,(100)=順時針慢轉,(180)=順時針快轉
//寫入數值愈靠近90轉速愈慢,數值愈靠近0或180轉速愈快
myservo.write(90); //如果是360度款的馬達,寫90則是停止不動
delay(300); //搭配延遲給予足夠時間轉動,必要條件
delay(300); //搭配延遲給予足夠時間轉動,必要條件
myservo.write(20); //如果是360度款的馬達,寫20則是逆時針快轉
delay(300); //搭配延遲給予足夠時間轉動,必要條件
delay(300); //搭配延遲給予足夠時間轉動,必要條件
最後修改時間:2024-03-18 AM 11:32