燈條全亮(綠色),隨著時間流逝,燈珠一顆一顆熄滅。
運動員必須在燈條完全熄滅前「觸發」感測器來停止倒數。剩下的燈珠越多,分數越高。
成功 → 綠燈
失敗 → 紅燈+失敗音
👉 訓練:爆發力+時間感
玩法:
按下 A 鍵開始遊戲。燈條顯示紅色(準備中)。等待隨機時間 (2秒)。燈條突然變綠色(GO!),計時開始。
運動員衝刺靠近感測器 (< 20cm)。
達標後,燈條顯示成績(燈亮越多顆代表反應越快),並顯示秒數。
系統限制:
避免超音波在應用時「誤判」?
常見干擾來源有:旁邊同學經過(腿、手晃動);錐筒、牆壁、地面反射;跑步時身體左右擺動;超音波角度太大(HC-SR04 約 15°~30°);
一瞬間「掃到」物件
「無線超音波測距 + 燈條色彩顯示 + 雙向按鈕互動」,結合了距離感測、視覺化回饋與遠端通訊。
適合此程式的應用情境,涵蓋生活應用、安全監控、遊戲互動:
1. 模擬汽車倒車雷達 (Smart Parking Assistant)
情境:將發送端裝在遙控車或模型車的車尾,接收端由操作者手持。
運作:當車子倒車接近牆壁時,接收端的燈條會從藍色(安全)漸變為黃色,最後變成紅色(危險,0-5cm)。
按鈕應用:按下 A 鍵可模擬發送「已停妥 (A)」訊號,按下 B 鍵模擬「請求協助 (B)」。
2. 水箱/水庫水位監測系統 (Water Level Monitor)
情境:將發送端固定在水箱頂部,超音波朝下偵測水面。接收端放在監控室或客廳。
運作:水位越低(距離遠),燈條顯示藍色/紫色;水位升高接近滿水位(距離近),燈條變紅警示溢出。
按鈕應用:管理員按下 A 鍵表示「開始抽水」,B 鍵表示「停止抽水」。
3. 防疫社交距離警示器 (Social Distancing Alarm)
情境:發送端佩戴在身上(胸前),接收端可以是手持或裝在背包後方給後方的人看。
運作:當有人太靠近你(< 65cm)時,燈條變色警告對方保持距離。
按鈕應用:按下 A 鍵顯示笑臉或特定字母,表示「安全/打招呼」。
4. 互動藝術裝置:靠近我 (Interactive Art Installation)
情境:發送端藏在展覽品或畫作中,接收端控制展場的環境燈光(燈條)。
運作:當觀眾走近作品時,燈光顏色隨距離改變(例如:遠處冷色調藍光,靠近變暖色調紅光),創造沉浸式體驗。
按鈕應用:導覽員按下 A 鍵可重置裝置或切換展覽模式。
5. 玄關/門禁迎賓系統 (Door Entry Alert)
情境:發送端裝在門口,接收端在屋內。
運作:當有人站在門口準備進門(距離變近),屋內的燈條亮起暖色燈光(紅/橙/黃)提示有人來訪;沒人時燈條熄滅或顯示冷色。
按鈕應用:屋內人按下 A 鍵,門口螢幕顯示 "A" (Allow),代表「請進」。
6. 視力保健:看電視距離偵測 (TV Distance Monitor)
情境:發送端放在電視機上方,朝向沙發區。
運作:如果孩子看電視坐得太近(< 65cm 或依比例調整),燈條顯示紅色警告;坐得夠遠則顯示綠色/藍色。
按鈕應用:家長按下 A 鍵,電視旁的 Micro:bit 顯示 "A" (Alert) 提醒休息。
7. 機器人避障視覺化 (Robot Obstacle Visualization)
情境:發送端裝在自走車前方,接收端作為車體的裝飾燈或遙控器上的儀表板。
運作:直接將機器人「看到的」障礙物距離,轉化為燈光顏色,讓觀察者直觀了解機器人的判斷狀態。
按鈕應用:按下 A/B 鍵可用來切換機器人的行進模式(例如:A=自動模式, B=手動模式)。
8. 體育訓練:折返跑觸摸點偵測 (Sports Training Aid)
情境:發送端固定在折返點的牆上或錐筒上。
運作:運動員跑向折返點,燈光由藍轉紅,訓練員可透過燈色確認運動員是否已經夠靠近(0-5cm)才折返。
按鈕應用:教練按下 A 鍵發出訊號,代表「開始起跑」。
9. 垃圾桶滿溢偵測 (Smart Trash Can)
情境:發送端安裝在垃圾桶蓋內側,朝下偵測垃圾高度。
運作:垃圾很少(距離遠)顯示綠色;垃圾快滿了堆到蓋口(距離近)顯示紅色,通知清潔人員清理。
按鈕應用:清潔人員清理完畢後,按下 B 鍵發送訊號記錄「已清理」。
10. 遊戲:「隔空控光」魔法棒 (Magic Light Controller Game)
情境:將發送端做成一支「魔法棒」,接收端連接長燈條佈置在房間。
運作:玩家手持魔法棒對著牆壁或地面移動(改變距離),房間的燈光顏色隨之流動變化,像是在施展魔法。
按鈕應用:按下 A 鍵施放「大招」(鎖定顯示 A),按下 B 鍵施放防護罩(鎖定顯示 B)。
無線互動專案,涉及到「狀態管理」。
為了達成「按下按鈕顯示字母 3 秒鐘」且「不被超音波距離數值蓋過去」的功能,我們在程式中加入了一個 busy (忙碌中) 的變數鎖定機制。
以下是兩段程式碼,請分別燒錄。
1. 發送端程式 (超音波測距與按鈕發送)
硬體接線:
HC-SR04: Trig -> P0, Echo -> P2, Vcc -> 3V, Gnd -> GND
功能: 測距、發送距離、處理按鈕 A/B 互動。
2. 接收端程式 (燈條控制與按鈕互動)
硬體接線:
燈條: 訊號線 -> P1, Vcc -> 3V, Gnd -> GND (15 顆燈珠)
功能: 接收距離控制燈光、處理按鈕 A/B 互動。
注意: 需安裝
Neopixel擴充套件。
程式邏輯重點
Busy 變數 (旗標):
這是一個關鍵變數。當任一塊板子按下 A 或 B,或者收到 A 或 B 的訊號時,
busy會變成true。當
busy為true時,程式會忽略距離數值的顯示更新,確保 "A" 或 "B" 能完整顯示 3 秒鐘,不會閃爍或被數字覆蓋。
雙向通訊:
radio.sendNumber:用來持續傳輸距離數據。radio.sendString:用來傳輸 "A" 或 "B" 的事件命令。
青色 (Cyan):
在接收端程式碼中,我使用了
strip.showColor(neopixel.rgb(0, 255, 255))來產生標準的青色,比預設的 Indigo 顏色更符合要求。
產生以下功能的程式:
+ 兩塊 Micro:bit 進行無線通訊。
+ 其中一塊 Micro:bit主要功能:發送端 (負責測距與傳送)
- 硬體接線:外接超音波感測器(HC-SR04);Trig接P0;Echo:P2;Vcc:3V;Gnd:GND。
- 發送端,負責將距離傳給接收端,讓接收端做邏輯判斷。
+ 發送端功能如下:
- 顯示超音波感測器測得障礙物的距離, 以公分表示
- 按 A 鍵,螢幕顯示 "A" 1秒鐘。
+ 其中一塊 Micro:bit主要功能:接收端 (遊戲核心邏輯與燈條顯示)
- 硬體接線:外接燈條之訊號線接 P1;Vcc:3V;Gnd:GND,15 顆燈珠。
- 負責遊戲流程控制、計時與燈光。
+ 接收端功能如下:
- 預設狀態:[標準時間] 為 9 秒,同時顯示於螢幕上,燈條全滅, 播放預設音效;
- 每按一次 A 鍵,[標準時間]加 1秒, 螢幕持續顯示目前設定之[標準時間];
- 按 Logo 鍵,返回預設狀態;
- 按下 B 鍵開始遊戲。燈條顯示紅色(準備中)。等待隨機時間 (2秒)。燈條突然變綠色(GO!),計時開始。
- [經過時間]從0秒開始計時, 螢幕顯示[經過時間]
- 外接燈條剛開始全亮綠燈,燈條上的色燈隨著[經過時間]逐顆熄滅。
- 收到超音波感距離小於 10 公分,表示到達, 停止倒數, 螢幕顯示[經過時間]。
- 若[經過時間] <= [標準時間], 表示:成功 (時間內), 螢幕一直顯示[經過時間], 播放 "Power Up" (類似瑪利歐吃到蘑菇的聲音),燈條先閃爍3次彩虹色燈。
- 若[經過時間] > [標準時間] , 表示:失敗 (超時), 螢幕一直顯示[經過時間], 播放 "Power Down" ,燈條先閃爍3次紅燈。
- 且停留該狀態
Sportsman_Distance_LEDStripV1220
沒有留言:
張貼留言