【創客入門】用Micro:bit設計一款心臟病遊戲
這次接到的任務是:「小阿聰總是神經大條,對事情的反應老是慢半拍,請設計一個特訓機來協助他反應up up!」那就來設計類似一個類似心臟病撲克牌遊戲的Micro:bit小彼特玩法吧。
怎麼做呢?很簡單,只要利用導電原理,使用鋁箔(aluminum foil)紙作為接觸端點,並以鱷魚夾(crocodile clip)搭建出電路迴路來偵測瞬間觸碰的反應識別。
共用工具組:剪刀、油性筆、透明膠帶、尺、美工刀
設計我們想要的外觀,留出要黏貼發牌、奇數牌玩家、偶數牌玩家及GND四個鋁箔觸碰點的位置,再根據我們事先畫好的設計稿剪裁之,例如這款大象圖案。
參考撲克牌心臟病的實際玩法來制定我們的遊戲規則。例如:兩位玩家(以奇數或偶數數字搶答區別,文後以奇數玩家及偶數玩家簡稱之)都先將一手放在GND觸碰(touch)的共地鋁箔上。
然後,選由其中的一位玩家按小彼特的A按鈕發牌。當牌數為偶數時,先前被指定為偶數需作答的玩家有按下觸碰則得一分。反之,若先前被指定為奇數需作答的玩家因誤判而按下觸碰時就扣一分。
最後,在比賽時間結束後,按下A按鈕會自動顯示贏家代碼,奇數玩家為A,偶數玩家為B。平手則以=表示。
導電原理:從電源正極出發,經開關到LED後回到電源負極的電路迴路(circuit loop)中,開關就是擔任迴路導通的切換關口,像本單元中的鋁箔正是做為迴路的導通開關之用。
電路設計如下圖所示。
另一方面,程式邏輯(program logic)参考樣版(template)步驟為:(變數played表示發牌的狀態,0:未發,1已發;card:記錄發牌的點數;scored_A/scored_B:奇數/偶數玩家的得分記錄)。
程式流程如下:
轉換成對應的程式碼為:
程式流程為:
轉換成對應的程式碼為:
程式流程為:
轉換成對應的程式碼為:
成果影片如下:
(本文經作者同意轉載,原文連結)
為因應數位科技與AI風潮,嘉義市政府以「AIoT應用活化計畫」為主題,透過一系列線上線下活動,打造具嘉義市特色之AIoT智慧應用,建立地方科技產業發展之基礎,並推動具亮點的新創經濟,期望活化AIoT產業,藉以催生嘉義市智慧科技相關產業所需人才,進而帶動產業聚集的長期效益。