Arduino結合NXShield控制伺服馬達

 

明天就是除夕夜了!在這邊阿邦老師先來跟各位拜個早年,祝大家龍年”龍總發”啦!

最近Arduino控制板及相關產品在機器人界越來越盛行,逐漸形成一股風氣,有種跟NXT角逐的意味,Arduino之所以會在短時間內竄紅起來,主要是歸咎於他的開放性,只要你有時間,都可以在網路上找到Arduino各種板子的電路圖及規格,進而自己做出一塊都不是問題,也因為如此,現在各廠商也都如火如荼的開發相容套件,希望自己也可以在機器人領域佔有一席之地。今天阿邦老師將為各位介紹如何應用Arduino結合NXShield來控制伺服馬達。

首先在硬體部分,阿邦老師選擇Arduino UNO組裝在NXShield-D上。

接著我們看右下角紅色框的部分,上面寫著3、5、6、9、10、11六個數字,這幾個針腳是接下來要接上伺服馬達的位置,而標示的數字則代表待會我們在程式中要設定的腳位。

硬體部分完成後,接著在軟體編寫上一開始我們必須先呼叫伺服馬達的函式庫:#include <Servo.h>

接著定義伺服馬達的變數並定義pos為一整數型別的變數,此變數在此程式是用來設定馬達要轉動到的位置:

Servo myservo;

int pos = 0;

接著在void setup()中設定伺服馬達接上的腳位及定位的動作(以下的設定是將伺服馬達接在3號的位置,並在程式開始時先將伺服馬達定在90的位置):

myservo.attach(3);

myservo.write(90);

最後我們可以在void loop()迴圈裡面使用for迴圈讓馬達從0~180的位置以一度的規律依序轉動:

for(pos = 0; pos < 180; pos += 1)

做到這邊相信大家都可以成功的控制”單顆”伺服馬達,但是若要同時控制多顆伺服馬達這可是有難度的,大家也可以趁年假來試試看是否可以讓多顆馬達同時間運動,我們年後見囉!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *