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

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

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

網站免費、免登入;主機要裝 Pybricks 韌體(網站「SPIKE 主機」選單可以幫你燒)。網站裡測距者 8 路的名字是「八方位雷射」。

1

設定:哪個埠接測距者

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

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

放主迴圈

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

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

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

3

使用讀值積木

「MBC 感應器 → 八方位雷射」裡面還有 16 顆讀值積木,每顆中間都有埠的下拉選單,要選跟第 1 步一樣的埠(C)。點一個功能,積木和輸出會換成它的範例。

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

模擬畫面是示意:方向和距離用畫面上的位置簡單換算,實際感應器可能差一兩格。紅色扇形 = 那一路量到東西;灰色扇形 = 讀到 120(那個方向沒有東西)。第 4、5 路都朝正前方。

每顆讀值積木的範例

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

使用注意

  1. 設定積木只要一顆,不用下載函式庫。同一個埠只能設定一次;讀值積木的埠要跟設定積木一樣,選錯埠網站會在下載前提醒。網站下載程式時會自動把八方位雷射的讀值程式一起傳到主機。
  2. 跟 Pybricks 函式庫功能一樣:MBC_laser8.py 有的功能這裡都有積木(ch =「第 N 路距離」、is_ok =「第 N 路正常」、distances =「8 路距離(清單)」),讀到的值也一樣。「感應器身分」「感應器韌體版本」放在「開機時執行一次」裡讀一次就好;毫米那一組(最近目標距離 mm、正前方距離 mm、最近目標方向 毫米那一組)和身分、韌體版本要感應器韌體 2026-10 以後。
  3. 拔線不會讓程式停:讀不到時回傳上一次的值,終端機印一行 MBC: Port C 讀不到感應器… 提醒;插回去自動恢復。用「感應器有接好」可以知道有沒有接好。避障時拔線,車子會照最後的距離繼續開,要小心。
  4. 讀到 120 有 4 種可能:那個方向沒東西、超過 120 公分、剛開機(等 2~4 秒)、那一路故障。要分辨故障用「第 N 路正常」。故障的那一路一直讀 120,會被當成「最空曠方向」。
  5. 方向:站在車後面往前看,左邊是負數、右邊是正數;第 1 路朝正左邊、第 4、5 路朝正前方、第 8 路朝正右邊。最近目標方向 −7 ~ +7,±8 = 四周沒有東西(停在上次看到的那一側),所以判斷有沒有東西用「最近目標距離 ≥ 120」。