![](https://www.circuspi.com/wp-content/uploads/2019/07/COOKIE_1-1024x536.jpg)
前言
隔了一個月多,趣玩MbitBot 回來了!!!
今天的主題「不要吃我的零食」是個相當簡單且逗趣的小專題。
我們將透過MbitBot 上的光感應器,來感測有沒有人拿走零食,並使用蜂鳴器發出警報聲。
順便可以搭配我們上個單元教過的,那全開實在有夠亮的LED燈。
利用刺耳的聲音與爆閃的燈光,高調的告訴左鄰右舍,「咱們的零食被豬豬ㄎㄧㄤ走啦!」
還不知道MbitBot可以幹嘛的小夥伴,可以先閱讀下列文章了解喔~
趣玩MbitBot 單元(一) 用micro:bit 動起來!
趣玩MbitBot 單元(二) 用micro:bit轉出七彩霓虹燈!
事前準備
micro:bit、MbitBot,以及micro USB 傳輸線各一個。
也可以多準備一個3.7V鋰電池,或符合範圍在3.7V~6V 的串接乾電池,這樣就不用透過micro USB 線供電給MbitBot。
![3.7V鋰電池、MbitBot 、micro:bit 、micro USB 傳輸線](https://static.wixstatic.com/media/0abcbf_ebcb38103750468c8638f9911085b973~mv2_d_4208_2416_s_4_2.jpg/v1/fill/w_740,h_425,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_ebcb38103750468c8638f9911085b973~mv2_d_4208_2416_s_4_2.webp)
並在MakeCode 裡安裝好MbitBot 程式積木,目前積木版本為v1.2。
v1.2的版本新增環境感測器與Wi-fi程式,建議之前安裝過舊版的小夥伴可以再安裝一次,以體驗IOT的魅力。
![安裝MbitBot 程式積木](https://static.wixstatic.com/media/0abcbf_fa28120f3e2842afa4663d48d85b4949~mv2.png/v1/fill/w_740,h_340,al_c,lg_1,q_90/0abcbf_fa28120f3e2842afa4663d48d85b4949~mv2.webp)
Coding Time !
一如往常將micro:bit 與MbitBot 金鋼合體,並將micro USB 線接在micro:bit 上。
![micro:bit 連接MbitBot,並接上micro USB](https://static.wixstatic.com/media/0abcbf_92bc786e4dfe4ae48d6ddc11b176abcb~mv2_d_4208_2416_s_4_2.jpg/v1/fill/w_740,h_425,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_92bc786e4dfe4ae48d6ddc11b176abcb~mv2_d_4208_2416_s_4_2.webp)
首先來學習如何使用MbitBot 上的光感應器。點開MbitBot 程式積木庫,可以找到一個叫「Light Sensor」的程式積木。
![](https://static.wixstatic.com/media/0abcbf_6ef904aa6ee34c90a932db2c4b8ea319~mv2.png/v1/fill/w_740,h_297,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_6ef904aa6ee34c90a932db2c4b8ea319~mv2.webp)
Light Sensor 這個程式積木能幫助我們讀出環境光的強弱,數值與強度成正比。光越強數值越高,反之則越弱。
我們可以利用micro:bit 的顯示功能來得知目前Light Sensor 感測到的數值。
將Light Sensor 拖曳出來,並放到「顯示數字」的程式積木。如下圖放至「重複無限次」的積木框內。
![將「顯示數字」程式積木放至「重複無限次」的積木框內](https://static.wixstatic.com/media/0abcbf_ee0a2a203b3b4decb57098408f768d19~mv2.png/v1/fill/w_740,h_301,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_ee0a2a203b3b4decb57098408f768d19~mv2.webp)
上傳程式到micro:bit 後,您可像上個單元一樣,利用micro USB 線為MbitBot供電。
若您有準備3.7V 鋰電池或範圍在3.7V~6V 的串接乾電池,也可用他們供電給MbitBot。
將MbitBot 接上符合的電源後打開開關,就能在micro:bit的正面LED 矩陣看到Light Sensor 感測到的數值囉!
請不要將上述超過3.6V 的電池直接供給micro:bit 電源,官方文件顯示這樣會損毀您的micro:bit。
![](https://static.wixstatic.com/media/0abcbf_97e580be7d28469d90b2a62537919c77~mv2.gif)
進入主題
學會如何使用Light Sensor 感測光強度後,就可以來製做今天的主題囉!
其實原理相當簡單,先將零食放上 MbitBot 擋住Light Sensor,儘量使用四四方方的零食比較好放置,如下圖所示。
![將零食放上 MbitBot 擋住Light Sensor](https://static.wixstatic.com/media/0abcbf_0578c08bcccf4dd5950fcfc61b244944~mv2_d_3880_2272_s_2.jpg/v1/fill/w_740,h_433,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_0578c08bcccf4dd5950fcfc61b244944~mv2_d_3880_2272_s_2.webp)
記錄放上零食後以及沒放零食時,Light Sensor 感測的光強度數值。
在此假設:
a. 放上零食後的光強度數值為67-105。
b. 沒放零食時的光強度數值為956-987。
依照上述兩個數值做為參考,取一個中間值,在文章中以500作為中間值。
程式將以剛剛設定的中間值來判斷零食有沒有被拿走。當Light Sensor 感測的光強度數值小於中間值時,表示零食還在感測器上。當Light Sensor 感測的光強度數值大於中間值時,表示零食已經被拿走囉。
我們在判斷零食被拿走時,加入蜂鳴器發出聲音以及燈光閃爍的程式。而判斷零食還在時,則將燈光以及蜂鳴器關閉。
程式撰寫如下:
![透過光感測的數值判斷餅乾是否被拿走](https://static.wixstatic.com/media/0abcbf_ac9f3fd65cfd464c969d8cc00dd040e0~mv2.png/v1/fill/w_740,h_312,al_c,q_90,usm_0.66_1.00_0.01/0abcbf_ac9f3fd65cfd464c969d8cc00dd040e0~mv2.webp)
將程式上傳至micro:bit 後,先別急著打開電源,將餅乾放置好再打開開關。
拿走零食測試一下驚嚇的威力吧!!!
![實際測試](https://static.wixstatic.com/media/0abcbf_2936ad08f9554ad5a87e701f55ccb25d~mv2.gif)
結論
完成後是不是覺得既有趣又簡單呢~其實還能再做更多變化,像是讓蜂鳴器模擬警車的聲音,或是將LED 燈閃得跟警車一樣。延伸的部分就讓大家動動腦囉!
下次的趣玩MbitBot 將教大家製作一個輪型機器人,並利用紅外線遙控器操控它。
請大家幫小編多多分享文章喔!