EV3 Tutorial(5)Move Steering 與 Move Tank 馬達控制
EV3 Tutorial(4)Block 自訂與管理 << 前情 操作機器人的過程中,做台小車讓它能隨想法前進、後退、左轉、右轉是最基本的,前進、後退很簡單,只要讓兩個輪子同樣轉速正轉或逆轉就可以了,單純使用 Large Motor 分別控制兩個馬達就可以達到,不過,對於同時控制兩個馬達,可以使用 Move Steering 或 Move Tank 使用 Move Steering在〈EV3 Tutorial(4)Block 自訂與管理〉中使用過 Move Steering,這個 Block 可以則直接控制兩個馬達,Steering 設為 那麼轉彎呢?既然名為 Move Steering,表示使用它來控制車輛轉彎的話,方式是掌舵是類似的,EV3 主機會依 Steering 的數值設定,幫你分配兩個馬達的得到的 Power 設定值,以 Power 及 Rotations 為正值的情況來說,設定為 Steering 設定為 當 Moving Steering 設定超過 簡單來說,設定為 依此規則,以 Power 及 Rotations 為正值的情況來說, 在 Rotations 設定為 瞭解 Move Steering 的運作,主要是在需要精確控制轉動時使用,這會比盲目測試各種數值來希望有符合角度、轉動半徑的結果來得實際一些,畢竟你設計的車子兩輪間距,不一定會「差不多」是 EV3 主機的寬度。 想精確控制就需要一點數學了,來出個小題目,想讓車子能像下圖轉動個四分之一圓,你要怎麼設計呢(基本上是兩輪圓周長分別與內圓與外圓軌跡長度的關係)? 你可能會有各種轉動需求,試著解解這題,對其他轉動需求要如何計算就會有幫助。 使用 Move TankMove Steering 藉由調整 Steering 的值,讓 EV3 去分配兩個馬達得到的 Power 設定值,有時你希望獨立地控制兩個馬達的 Power 設定值,這時可以使用 Move Tank: 我是沒開過坦克,不過猜想坦克也可以獨立地控制兩邊輪子的轉動吧!因此這個元件才取名為 Move Tank。 如果 Rotations 或 Degree 都是正值,馬達的 Power 設定值為正,就會以 Rotations 或 Degree 設定的值正轉,Power 設定值為負就是逆轉了,如果 B、C 馬達的 Power 設定值各為 上面的題目,當然也可以使用 Move Tank 來達到目的,你可以試著算算看,不過來看看另一個題目,想讓車子以兩輪間距中點為圓心來原地右轉 n 度,該怎麼計算? 在 B 與 C 的 Power 功率值一正一負而絕對值相同下,例如 當然,最好的方式,就是將這類轉動自訂 Block,這樣你要轉幾度,就只要設定 n 值就可以了: 在圖型化程式設計的環境中,彈性不見得是最重要的考量,盡量讓程式畫面簡潔會是重點,要多使用適當的註解,輔助程式流程的意圖。 灰色註解文字,可以在 EV3 開發環境右上點選「Comment」圖示來新增,藍色註解方塊,則可以在藍色的 Advanced Block 區新增。 |