1
設定:哪個埠接測距者
程式的第一件事,是在黃色「開機時執行一次」下面接一塊「○ 接 MBC 兩路雷射」,網站才知道那個埠接的是測距者 2 路。
感應器接在哪個埠?
- 打開 MBC SPIKE 圖控編程網站,按「+」開一個新程式。
- 左邊積木類別點「MBC 感應器」→「兩路雷射」,第一顆就是「○ 接 MBC 兩路雷射」。
- 把它接在「開機時執行一次」下面,下拉選單選 C。
在 MBC SPIKE 圖控編程網站 上,測距者不用匯入函式庫:先在「開機時執行一次」裡告訴網站感應器接哪個埠,再放主迴圈,最後把讀值積木放進主迴圈。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是直接從網站拼好匯出的,跟你在網站上看到的一樣。
網站免費、免登入;主機要裝 Pybricks 韌體(網站「SPIKE 主機」選單可以幫你燒)。網站上測距者 2 路的積木名稱是「兩路雷射」。
程式的第一件事,是在黃色「開機時執行一次」下面接一塊「○ 接 MBC 兩路雷射」,網站才知道那個埠接的是測距者 2 路。
讀感應器要一直重複讀,所以要有黃色的「主迴圈(一直重複)」。裡面先放一顆「等待 100 毫秒」,讓它每 0.1 秒讀一次,不會讀太快。
網站產生的程式會自動放進多工架構(async),不用自己選,也不用寫 await。
「MBC 感應器 → 兩路雷射」裡面有 17 顆讀值積木(Pybricks 函式庫有的功能都有),每顆中間都有埠的下拉選單,要選跟第 1 步一樣的埠(C)。「左/右雷射距離」和「左/右雷射正常」還有第二個下拉選單,選左或右。點一個功能,積木和輸出會換成它的範例。
模擬畫面是示意:距離直接用畫面上障礙物的位置換算,實際雷射會有 1~2 公分的誤差,大約每 0.1 秒才更新一次。120 = 前面沒東西(或超過 120 公分)。
17 顆讀值積木,每顆都有一組可以照著拼的範例(C 埠)。按「試試看」會切到第 3 步,右邊的積木和輸出會換成這個範例。
ch(1)/ch(2) =「左/右雷射距離」、is_ok() =「左/右雷射正常」),讀到的值也一樣。拔線不會讓程式停,讀不到時回傳上一次的值,終端機印一行提醒;插回去自動恢復。用「感應器有接好」可以知道有沒有接好(它看的是上一次讀值的結果,要先讀過一次距離)。在右邊勾「拔掉感應器」可以看到這個情形。