首頁 教育 STEM 製作 MeArm 機械臂(三)

製作 MeArm 機械臂(三)

進入撰寫程式前,先回顧一下 MeArm 機械臂的操作,它將會由兩粒 Analog JoyStick 控制,當移動手掣的上下左右時,代表了機械臂中四個 Servo,進而產生仿人類的動作。

代入程式觀念,Analog JoyStick 控制會有由兩組上下左右方向所組成,因此需要建立兩組四項變數。接著就是將變數配合後,會產生的操作效果。

[row][double_paragraph]

Step 1:承上期,首先需要建立四個變數用作設定伺服馬達的角度。按左上方的「 Data&Blocks 」,然後按「 Make a Variable 」,然後逐一建立變數 a、b、c 和 d。

[/double_paragraph][double_paragraph]

Step 2:建立四個變數後,變數下方會出現設定方塊,從左方抽出四個「 set a to 0 」,按序排列設定 a、b、c 和 d。

[/double_paragraph] [/row]

[row][double_paragraph]

Step 3:接著是改變數字,由 0 設定為 45,即代表把所有伺服馬達起初設定為 45 度,之後於左上方的「Control」下拉出「forever」方塊。

[/double_paragraph][double_paragraph]

Step 4:重覆上述三個步驗,加入 x、y、q 和 w 變數,這四個變數稍後用作代入控制桿移動的讀數。

[/double_paragraph] [/row]

[row][double_paragraph]

Step 5:接著於左上方的「 Robot 」下拉出「 read analog pin (A) 」方塊,如圖顯示把方塊分別放入所設定的 x、y、q 和 w 變數, 再把對應的數字按序改為 0、1、5 和
4,即代表用 x 代表 A0 的讀數,y 代表 A1 的讀數,q 代表 A5 的讀數,w 代表 A4 的讀數。

[/double_paragraph][double_paragraph]

Step 6:「 Control 」下拉出「 if then 」方塊,然後到左上方的「 Operators 下拉出「 > 」方塊。左邊空格放入變數 x ,右邊輸入 1020 ,表示當控制桿變數 x 大於
 1020 時就進行任務,由於控制桿讀數範圍是由 0 至 1025 ,當控桿高於 1020 即接近到達控制桿的另一端。

[/double_paragraph] [/row]

[row][double_paragraph]

Step 7:「 Robot 」下拉出「 set servo pin 」方塊,把 pin9 更改為 pin12 ,並於「 Data&Blocks 」下拉出「 change a by 」,把 1 改為 0.03 。此段方塊代表控制桿變數 x 大於 1020 時, pin12 的伺服馬達會每次增加 0.03 度。

[/double_paragraph][double_paragraph]

Step 8:複製上述 if then 方瑰,把六角形方塊換為 x 少於 5 , 0.03 改為 -0.03 。此段方塊代表如控制桿變數 x 少於 5, pin12 的伺服馬達會每次減速 0.03 度。

[/double_paragraph] [/row]

Step 9:把上述兩組循環方塊放入 forever 內,如圖顯示,今期已經成功編寫一個控制桿控制一個伺服馬達的程式。

下星期待續……

Exit mobile version