mBlock & Arduino(23)使用 Me 搖桿模組打地鼠


在〈mBlock & Arduino(13)使用搖桿控制 Scratch 貓咪〉中談過搖桿,Makeblock 也有提供搖桿模組,不過,沒有壓下搖桿作為開關的功能,因此,在外接的接孔上,只有四個,除了 VCC 與 GND 之外,另外就是 X 與 Y 的訊號值:

Me 搖桿模組

Me 搖桿模組控制貓咪

在圖中可以看到,Me 搖桿模組上頭已標示出 X、Y 正值方向,你可以使用 Makeblock 的「搖桿」方塊來操作它。

在實際測試之下,未操作搖桿前,X 電壓值為 502 左右,Y 電壓值為 475 左右,操作搖桿下,X 電壓值向右最大為 980 左右,向左最小為 0,Y 電值向上最大為 980 左右,向下最小值為 0。

因此,若要如〈mBlock & Arduino(13)使用搖桿控制 Scratch 貓咪〉中使用搖桿操作貓咪,可以將搖桿接至連接埠 6,然後如下撰寫程式:

Me 搖桿模組

使用 Me 搖桿模組打地鼠

在〈mBlock & Arduino(22)使用 Me RGB LED 模組打地鼠〉,我們使用鍵盤上的方向鍵來打地鼠,在這邊,可以改用搖桿來打地鼠,線路連接上,只要先如〈mBlock & Arduino(22)使用 Me RGB LED 模組打地鼠〉連接好 Me RGB LED 模組以及蜂鳴器,然後,將搖桿模組接至連接埠 6 就可以了。

我們可以使用〈mBlock & Arduino(22)使用 Me RGB LED 模組打地鼠〉中的程式為基礎進行修改,只不過,當時是使用鍵盤事件,那麼要怎麼建立搖桿事件呢?

mBlock 中可以發佈特定廣播,而流程在訂閱廣播訊息時,可以指定感興趣的訊息,當特定訊息到來時,就會觸發流程。

因此,我們可以建立一個迴圈,不斷地偵測搖模的狀態,在這邊設計為,只要 X 值大於 900 或小於 10,Y 值大於 900 或小於 10,都會發送指定的廣播訊息:

Me 搖桿模組

這個偵測搖桿動作的流程,本身也是在收到「遊戲開始」廣播訊息時觸發,由於我們使用了 countDown 在計數,因此,運用了 countDown 為 0 時,當作停止偵測搖桿動作流程,有了這個偵測搖桿動作的流程,就可以修改一下訂閱鍵盤事件的部份為訂閱廣播訊息:

Me 搖桿模組

當然,記得在遊戲開始時發送「遊戲開始」廣播,這樣才會觸發偵測搖桿動作的流程:

Me 搖桿模組

程式其他部份就不需要修改,接下來就可以按下綠旗,直接使用搖桿來打地鼠囉!

影片示範