在之前的練習中同學們學會了如何利用Radio的功能,讓不同的micro:bit可以彼此之間互相通訊,在這一個單元中要教大家如何使用另外一個micro:bit來控制在不同的micro:bit中的伺服馬達,達到遙控器的目的。

假設我們使用0當做轉向到180度,而1當做是轉向到0度,如果收到2則做上下運動控制,控制伺服馬達的那台micro:bit可以做如下的設計:

而對於做為控制器的那個micro:bit來說,很簡單,只要負責在按下什麼按鈕時決定送出0或1或2就行了,程式積木如下:

沒錯,全部就這麼簡單。然而,如果我們想要做的是可以按下按鈕時往左或往右轉動一點點而不是一次轉到定位,那麼就需要引入變數的設定,首先建立一個叫做degree的變數如下:

在一開始的時候把degree設定到90,同時也把伺服馬達轉到該角度,如下所示:

當按下A按鈕的時候,則把degree加10,如果超過180就回到180,並把馬達轉到該角度,積木如下:

反之,則是把degree減10,如果小於0就以0來算,並把馬達轉到該角度,如下:

其餘不變,完整的判斷式如下:

更進階一些,如果想要按下a按鈕就一直向左轉,而按下b按鈕一直向右轉,直到同時按下A+B時才會停止,則需要再建立一個用來設定改變量的變數delta,並在一開始執行時把它先設定為1:

然後接收訊息的積木改為如下,只要負責設定delta值,而不真正執行動作:

真正執行驅動伺服馬達的動作則在forever中執行:

以下是執行的影片:

透過以上的方法,只要搭配可以360度旋轉的伺服馬達,就可以使用2片micro:bit製作無線遙控車了。

(701)