趣玩MbitBot 單元(三) micro:bit警報器之「不要吃我的零食」

前言

隔了一個月多,趣玩MbitBot 回來了!!!

今天的主題「不要吃我的零食」是個相當簡單且逗趣的小專題。

我們將透過MbitBot 上的光感應器,來感測有沒有人拿走零食,並使用蜂鳴器發出警報聲

順便可以搭配我們上個單元教過的,那全開實在有夠亮的LED燈。

利用刺耳的聲音與爆閃的燈光,高調的告訴左鄰右舍,「咱們的零食被豬豬ㄎㄧㄤ走啦!」

還不知道MbitBot可以幹嘛的小夥伴,可以先閱讀下列文章了解喔~

MbitBot 功能介紹

趣玩MbitBot 單元(一) 用micro:bit 動起來!

趣玩MbitBot 單元(二) 用micro:bit轉出七彩霓虹燈!

事前準備

micro:bitMbitBot,以及micro USB 傳輸線各一個。

也可以多準備一個3.7V鋰電池,或符合範圍在3.7V~6V 的串接乾電池,這樣就不用透過micro USB 線供電給MbitBot。

3.7V鋰電池、MbitBot 、micro:bit 、micro USB 傳輸線
3.7V鋰電池、MbitBot 、micro:bit 、micro USB 傳輸線

並在MakeCode 裡安裝好MbitBot 程式積木,目前積木版本為v1.2。

v1.2的版本新增環境感測器與Wi-fi程式,建議之前安裝過舊版的小夥伴可以再安裝一次,以體驗IOT的魅力。

安裝MbitBot 程式積木
安裝MbitBot 程式積木

Coding Time !

一如往常將micro:bit 與MbitBot 金鋼合體,並將micro USB 線接在micro:bit 上。

micro:bit 連接MbitBot,並接上micro USB
micro:bit 連接MbitBot,並接上micro USB

首先來學習如何使用MbitBot 上的光感應器。點開MbitBot 程式積木庫,可以找到一個叫「Light Sensor」的程式積木。

選取「Light Sensor」程式積木

Light Sensor 這個程式積木能幫助我們讀出環境光的強弱,數值與強度成正比光越強數值越高,反之則越弱

我們可以利用micro:bit 的顯示功能來得知目前Light Sensor 感測到的數值。

將Light Sensor 拖曳出來,並放到「顯示數字」的程式積木。如下圖放至「重複無限次」的積木框內。

將「顯示數字」程式積木放至「重複無限次」的積木框內
將「顯示數字」程式積木放至「重複無限次」的積木框內

上傳程式到micro:bit 後,您可像上個單元一樣,利用micro USB 線為MbitBot供電。

若您有準備3.7V 鋰電池或範圍在3.7V~6V 的串接乾電池,也可用他們供電給MbitBot。

將MbitBot 接上符合的電源後打開開關,就能在micro:bit的正面LED 矩陣看到Light Sensor 感測到的數值囉!

請不要將上述超過3.6V 的電池直接供給micro:bit 電源,官方文件顯示這樣會損毀您的micro:bit。

進入主題

學會如何使用Light Sensor 感測光強度後,就可以來製做今天的主題囉!

其實原理相當簡單,先將零食放上 MbitBot 擋住Light Sensor,儘量使用四四方方的零食比較好放置,如下圖所示。

將零食放上 MbitBot 擋住Light Sensor
將零食放上 MbitBot 擋住Light Sensor

記錄放上零食後以及沒放零食時,Light Sensor 感測的光強度數值。

在此假設:

a. 放上零食後的光強度數值為67-105。

b. 沒放零食時的光強度數值為956-987。

依照上述兩個數值做為參考,取一個中間值,在文章中以500作為中間值。

程式將以剛剛設定的中間值來判斷零食有沒有被拿走。當Light Sensor 感測的光強度數值小於中間值時,表示零食還在感測器上。當Light Sensor 感測的光強度數值大於中間值時,表示零食已經被拿走囉。

我們在判斷零食被拿走時,加入蜂鳴器發出聲音以及燈光閃爍的程式。而判斷零食還在時,則將燈光以及蜂鳴器關閉。

程式撰寫如下:

透過光感測的數值判斷餅乾是否被拿走

將程式上傳至micro:bit 後,先別急著打開電源,將餅乾放置好再打開開關。

拿走零食測試一下驚嚇的威力吧!!!

實際測試

結論

完成後是不是覺得既有趣又簡單呢~其實還能再做更多變化,像是讓蜂鳴器模擬警車的聲音,或是將LED 燈閃得跟警車一樣。延伸的部分就讓大家動動腦囉!

下次的趣玩MbitBot 將教大家製作一個輪型機器人,並利用紅外線遙控器操控它。

請大家幫小編多多分享文章喔!