若把NexusBot機器人的手臂部分伺服馬達換成兩個DC馬達,並裝上兩個輪子,就成了可愛的二輪小車。本篇便來介紹兩種NexusBot小車的遙控版本(使用另一片Nexus:bit當作遙控器)。
基本款
基本款相當簡單,就是前進、後退、左右轉而已。遙控器傳送的廣播訊號及其意義如下:
- 1 → 前進
- 2 → 後退
- 3 → 左轉
- 4 → 右轉
- 0 → 停車
而在Nexus:bit/NexusBot擴展套件積木內,已有控制車子上述動作的功能。
因此遙控器的程式碼如下:
雙輪可調速版
使用NexusBot內建積木的缺點,就是車速是事先訂好的。如果想要恣意調整兩邊輪子的轉速,要怎麼做呢?
為了簡化操控,我們改成用遙控器micro:bit本身的A/B鍵來獨立控制兩邊的輪子,而轉速與方向就由micro:bit的俯仰角決定。
來看遙控器的程式:
可以看到馬達(右輪與左輪)的轉速,是由「旋轉感測值─pitch」(micro:bit Y軸的轉動角度)決定。旋轉感測值的範圍是-180~179,所以我們直接把它限制在-100~100,剛好就是馬達的轉速範圍。接著程式會根據使用者是否按下A和/或B鈕,把轉速資料傳給車子。如果沒有按鈕,傳送的轉速就是0,使馬達不會轉動。
不過,這也意味著按住某邊鈕時停車(車速為0)的位置是micro:bit正面水平朝上的位置,但micro:bit可是垂直插在Nexus:bit上的(約-90度位置)!所以「旋轉感測值─pitch」得先減去45或90度,這樣對使用者手持時比較合理。
計算轉速那行的結尾也把值乘上-1,也就是把-100與100之類的值顛倒過來。因為micro:bit往前轉時pitch是負值,往後轉是正值,但馬達往前轉才是正值,反之往後轉是負值。所以若沒這麼做,車輪轉動的方向就會跟micro:bit轉的方向相反了。
這次廣播是以一個字串加一個數字的組合來傳送的,name代表馬達方向(R = 右,L = 左),value則是轉速。
下面是車子的程式:
相較於基本款,進階款的車子程式反而更短。因為它只要直接把收到的轉速資料傳給馬達就行了。
來動手玩玩看吧!
Play Blackjack at a Casino! - Microgaming - Microgaming
回覆刪除A goyangfc.com classic card game is jancasino a thrilling worrione and engaging blackjack game at Microgaming. https://access777.com/ This fun game is now available for your device!