###### tags: `Arduino` # 伺服馬達 伺服電機包含了可控制轉動角度的步進馬達和或是速度的伺服馬達,且通常會自帶控制的電路,而Arduino主要控制的函式是Servo.h,因為各種的控制伺服馬達所需的函式不盡相同,所以除了Servo.h之外要注意使否需要其他的函式。 * 28BYJ-48步進馬達及驅動板 ![](https://blog.jmaker.com.tw/content/images/2020/04/step1.png =500x) 在控制前要先確定馬達是可控制角度的還是可控制轉速的,若是是可控制轉速的無刷馬達及電調,需在write中慢慢測試馬達的啟動值及上限值。 * 基本寫法(可轉角在180度) ```cpp= #include<Servo.h> Servo ss; //定義控制名稱 void setup(){ ss.attch(9); //綁定名稱及腳位,不須另外寫pinMode } void loop(){ ss.write(0); //轉到0度 delay(500); ss.write(90); //轉到90度 delay(500); ss.write(180); //轉到180度 delay(500); for(int i=0;i<180;i++){ //從0掃到180 ss.write(i); delay(20); } for(int i=180;i>0;i++){ //從180掃到0 ss.write(i); delay(20); } } ``` ## ref [維基百科-伺服馬達](https://zh.wikipedia.org/zh-tw/%E4%BC%BA%E6%9C%8D%E9%A6%AC%E9%81%94?wprov=sfla1) [傑森創工-Arduino範例](https://blog.jmaker.com.tw/uln2003-28byj-48/)