MBC 測距者 2 路 × MBC SPIKE 積木網站

三個步驟用 MBC 積木網站讀測距者

在 MBC SPIKE 圖控編程網站 上,測距者不用匯入函式庫:先在「開機時執行一次」裡告訴網站感應器接哪個埠,再放主迴圈,最後把讀值積木放進主迴圈。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是直接從網站拼好匯出的,跟你在網站上看到的一樣。

網站免費、免登入;主機要裝 Pybricks 韌體(網站「SPIKE 主機」選單可以幫你燒)。網站上測距者 2 路的積木名稱是「兩路雷射」。

1

設定:哪個埠接測距者

程式的第一件事,是在黃色「開機時執行一次」下面接一塊「○ 接 MBC 兩路雷射」,網站才知道那個埠接的是測距者 2 路。

感應器接在哪個埠?
  1. 打開 MBC SPIKE 圖控編程網站,按「+」開一個新程式。
  2. 左邊積木類別點「MBC 感應器」→「兩路雷射」,第一顆就是「○ 接 MBC 兩路雷射」。
  3. 把它接在「開機時執行一次」下面,下拉選單選 C。
2

放主迴圈

讀感應器要一直重複讀,所以要有黃色的「主迴圈(一直重複)」。裡面先放一顆「等待 100 毫秒」,讓它每 0.1 秒讀一次,不會讀太快。

  1. 從「控制」拖出「主迴圈(一直重複)」,放在設定積木下面空白的地方(不用接在一起)。
  2. 再拖一顆「等待 100 毫秒」放進主迴圈。

網站產生的程式會自動放進多工架構(async),不用自己選,也不用寫 await。

3

使用讀值積木

「MBC 感應器 → 兩路雷射」裡面有 17 顆讀值積木(Pybricks 函式庫有的功能都有),每顆中間都有埠的下拉選單,要選跟第 1 步一樣的埠(C)。「左/右雷射距離」和「左/右雷射正常」還有第二個下拉選單,選左或右。點一個功能,積木和輸出會換成它的範例。

模擬感應器(從上面往下看,車頭朝上):拖動左、右障礙物的距離,看右邊的輸出怎麼變

模擬畫面是示意:距離直接用畫面上障礙物的位置換算,實際雷射會有 1~2 公分的誤差,大約每 0.1 秒才更新一次。120 = 前面沒東西(或超過 120 公分)。

每顆讀值積木的範例

17 顆讀值積木,每顆都有一組可以照著拼的範例(C 埠)。按「試試看」會切到第 3 步,右邊的積木和輸出會換成這個範例。

使用注意

  1. 設定積木只要一顆。同一個埠只能設定一次;讀值積木的埠要跟設定積木一樣,選錯埠網站會在下載前提醒。不用下載函式庫,網站下載程式時會自動把測距者的讀值程式一起傳到主機。
  2. 跟 Pybricks 函式庫功能一樣:MBC_laser2.py 有的功能這裡都有積木(ch(1)/ch(2) =「左/右雷射距離」、is_ok() =「左/右雷射正常」),讀到的值也一樣。拔線不會讓程式停,讀不到時回傳上一次的值,終端機印一行提醒;插回去自動恢復。用「感應器有接好」可以知道有沒有接好(它看的是上一次讀值的結果,要先讀過一次距離)。在右邊勾「拔掉感應器」可以看到這個情形。
  3. 讀到 120 有 4 種可能:前面真的沒東西、東西超過 120 公分、剛開機雷射還沒準備好(約 1~2 秒)、那顆雷射壞了。要分清楚用「雷射正常」積木。黑色、亮面、透明的東西比較難量,黑色物體大概 30~50 公分外就量不到。
  4. 公分和毫米不要在同一個迴圈混著用:三顆「(mm)」積木和公分那組是感應器的兩組資料,每換一組要多等幾十毫秒。毫米、感應器身分、韌體版本要感應器韌體 2026-10 以後的版本;身分和韌體版本放在「開機時執行一次」裡讀一次就好。
  5. 方向:站在車後面往前看(左右以感應器朝前、從背後看為準:左=J5、右=J3),「左」雷射在左邊、「右」雷射在右邊;左減右 = 左距離 − 右距離,負數 = 左邊比較近、正數 = 右邊比較近;「哪一邊比較近」−1 = 左、1 = 右、0 = 一樣近。