在〈mBlock & Arduino(13)使用搖桿控制 Scratch 貓咪〉中談過搖桿,Makeblock 也有提供搖桿模組,不過,沒有壓下搖桿作為開關的功能,因此,在外接的接孔上,只有四個,除了 VCC 與 GND 之外,另外就是 X 與 Y 的訊號值:
Me 搖桿模組控制貓咪
在圖中可以看到,Me 搖桿模組上頭已標示出 X、Y 正值方向,你可以使用 Makeblock 的「搖桿」方塊來操作它。
在實際測試之下,未操作搖桿前,X 電壓值為 502 左右,Y 電壓值為 475 左右,操作搖桿下,X 電壓值向右最大為 980 左右,向左最小為 0,Y 電值向上最大為 980 左右,向下最小值為 0。
因此,若要如〈mBlock & Arduino(13)使用搖桿控制 Scratch 貓咪〉中使用搖桿操作貓咪,可以將搖桿接至連接埠 6,然後如下撰寫程式:
使用 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,都會發送指定的廣播訊息:
這個偵測搖桿動作的流程,本身也是在收到「遊戲開始」廣播訊息時觸發,由於我們使用了 countDown
在計數,因此,運用了 countDown
為 0 時,當作停止偵測搖桿動作流程,有了這個偵測搖桿動作的流程,就可以修改一下訂閱鍵盤事件的部份為訂閱廣播訊息:
當然,記得在遊戲開始時發送「遊戲開始」廣播,這樣才會觸發偵測搖桿動作的流程:
程式其他部份就不需要修改,接下來就可以按下綠旗,直接使用搖桿來打地鼠囉!