這頁內容已整合到新的說明頁:測距者 2 路 › micro:bit › MakeCode

測距者 2 路 × micro:bit(MakeCode 擴充)

回到測距者 2 路產品頁

測距者 2 路通用 I2C 版可以接 BBC micro:bit V1/V2,用 MakeCode 擴充 pxt-mbc-sensors v2 的積木讀值(內部走 MBC I2C 協議 v2)。擴充安裝、硬體注意事項(3.3 V、供電)請看 micro:bit 總覽。

SPIKEEV3Arduino I2CmBlockMATRIXmicro:bit

重要

擴充 v2 尚未上機驗證;積木名稱以發布版為準: https://github.com/contactmbcrobot/pxt-mbc-sensors

接線

測距者 2 路 × micro:bit
感應器 micro:bit
SDA(RX) P20
SCL(TX) P19
VCC micro:bit 3V(電池供電時建議外接 5 V)
GND GND

讀值積木

積木 傳回 編號 說明
測距者 2 路 [左] 距離([公分]) 0~120 cm 01 左邊那顆的距離 0~120 cm(站在車後往前看,左 = 第 0 顆),120 = 前面沒東西/那顆失效
測距者 2 路 [右] 距離([公分]) 0~120 cm 02 右邊那顆的距離 0~120 cm(右 = 第 1 顆),120 = 前面沒東西/那顆失效
測距者 2 路 較近距離(公分) 0~120 cm 03 左右兩顆取較近的 0~120 cm
測距者 2 路 [左] 距離([公釐]) 0~1200 mm 04 左邊那顆的距離 0~1200 mm,1200 = 前面沒東西/那顆失效
測距者 2 路 [右] 距離([公釐]) 0~1200 mm 05 右邊那顆的距離 0~1200 mm,1200 = 前面沒東西/那顆失效
測距者 2 路 平均距離(公釐) 0~1200 mm 08 (左 mm + 右 mm) / 2,0~1200;跟 EV3 模式 3、SPIKE 模式 6 第 3 個值一致(共識 #8 補上)

其他積木(是/否、事件)

積木 相關的值
當測距者 2 路 距離小於 10 公分 03

狀態

bit 名稱 說明
b0 就緒 (ready) 2 顆都初始化完、快照開始更新後恆 1
b1 任一顆失效 (fault) 初始化失敗、I2C 讀失敗或 200 ms 沒更新,任一顆就是 1(= 07 ≠ 0 或 06 ≠ 3)

JavaScript 寫法

if (!(mbc.waitReady(0x29, 3000))) {
    basic.showIcon(IconNames.No)   // 讀不到:檢查接線與電源
}
basic.forever(function () {
    basic.showNumber(mbc.tof2Distance(MbcTofSide.Left, MbcDistUnit.Cm))   // 左距離 cm
    basic.pause(100)
})

本頁依據與假設

本頁由 _build/gen-reference.mjs 從 _build/protocol/tof2.json(單一真相來源,轉錄自 2026-10-21 協定定案)產生。

  • 共識 #8:08 左右平均 mm 補進 I2C/mBlock 值表(定案 §5 已列)。
  • 0x22 命令 412 不動(4 左、5 右、6 最近、711 = 0、12 = 最近);schema 不收 11/12,所以 12 只寫在 03 的 note。
  • EV3:模式 0、2、4 鎖住(照盤點);模式 1 改 [左,右]×4(index 0/1 各代表左右)、模式 3 改平均 mm、模式 5 改 [左 mm, 右 mm];模式 1 描述表宣告 int8 −100~100,cm×100/120 在範圍內。
  • SPIKE:0/5/7/9 鎖住,另加模式 3 鎖住(網站 sensors/tof2/index.md read(3) = 左/右 cm,共識 #11);模式 6 改 [左 mm, 右 mm, 平均 mm];模式 1、2、4、8 維持不動;模式 8 v[0] 改 ID|hw[0]<<8(統一後共用函式)。
  • 「左」= 站在車後往前看的左(第 0 顆,XSHUT PA6);韌體只有 L/R 巨集名,盤點檔標為推測。
  • 沒有寫入命令;F8 換位址/EF 重開機用共用的。
  • 擴充內部用 Int16LE 讀、寫完編號 basic.pause(2)(D5);感應器沒接好時讀值積木回 0、是/否積木回「否」。
LINE 詢價選購指南