循行者 8 路 (Line8) × MATRIX × MATRIXblock 原廠積木
這一頁只講 MATRIXblock 原廠顏色感應器積木(0x22):在 MATRIX Mini R4 上用它讀循行者 8 路 (Line8)的安裝步驟、每個值怎麼讀、能用的命令與範例。要換產品、主機或軟體,用上方的切換列。
要買哪個版本、怎麼接
買 MATRIX 版,用 MATRIX 原廠 4 pin 感應器線接 Mini R4 的 I2C1 或 I2C2(位址 0x22),積木裡選對應的孔。
提示
MATRIX Mini R4 實測通過(2026-11-06):MATRIXblock 原廠顏色感應器積木(位址 0x22)讀到的線位置、細位置、線寬、光值都對(線在左=負),白底、線在中間、左、右都照說明;連續讀 2000 次沒有錯。
安裝與設定
你需要
- 感應器:循行者 8 路 (Line8)(MATRIX 版)。
- 主機:MATRIX Mini R4。
- 連接線:MATRIX 原廠 4 pin 感應器線。
- 軟體:MATRIXblock(MATRIX 原廠積木軟體)。這個用法不用另外裝函式庫。
安裝軟體
- 安裝 MATRIXblock(預設裝在
C:\matrixblock-r4\)。
讓軟體認得感應器
感應器在 Mini R4 上會被當成原廠 顏色感應器(I2C 位址 0x22),直接用內建積木讀,不用裝擴充:
- 積木「顏色感應器 → R/G/B/C/M/Y/K」各讀 1 個
0 ~ 255的數,韌體把產品資料塞在這七格,每一格代表什麼看下面的讀值。 - MATRIXblock 的 Arduino 模式也能讀:
MiniR4.I2C1.MXColor.getColor(R)。
警告
不要用 H/S/V、顏色辨識(ColorID)積木:那是主機拿 R、G、B 自己算的,對 MBC 產品沒有意義。灰階、顏色編號積木已被 MATRIX 拿掉,所以只有這七格能用。
接線
- 用 MATRIX 原廠 4 pin 感應器線,接 Mini R4 的 I2C1 或 I2C2 孔。
- 積木裡選你接的那個孔(例如
I2C1)。 - 5 V 直接接,不需要準位轉換。
先校準(只要做一次)
循行者要先「認識」你場地上的黑色和白色,數值才會準。校準完會記在感應器裡,重新開機也還在(除非換場地)。
- 感應器插好、主機開機(感應器的燈亮起來)。
- 按住感應器上的校準按鈕約 0.5 秒再放開(不要一直按著,按著不放會一直重新校準)。
- 綠色校準指示燈(靠近校準按鈕)亮起後,5 秒內把感應器在黑線和白色地面之間來回掃幾次,8 個感應點都要掃過最黑的黑線和最白的白色區域。
- 掃的時候感應器離地 3~12 mm,太高會讀不準。
- 綠燈熄滅=校準完成,數值自動存進感應器。
怎麼知道校準好了? 放在白色地面時「線寬」是 0,壓在一般黑線上是 2~3。
第一次測試
- 用「顏色感應器 → R」積木把讀到的數字顯示出來。
- 數字跟著感應器前方的東西變化,就是接好了。
常見問題
- 讀到的數字看不懂? 確認用的是 R/G/B/C/M/Y/K 七格,不是 H/S/V 或顏色辨識積木。
讀值
用 MATRIXblock 原廠「顏色感應器」積木的 R/G/B/C/M/Y/K 讀(不要用 H/S/V 與顏色辨識積木);Arduino 模式寫法一併列出。
線位置 linePos
| 範圍 | 意思 |
|---|---|
-8~+8 |
線在哪一路:−8(最左)~+8(最右),0 = 正中間;站在車後往前看,負 = 線在左 |
積木「顏色感應器 → R」,讀到的數減 8
int linePos = MiniR4.I2C1.MXColor.getColor(R) - 8; // 線位置細位置 linePosFine
| 範圍 | 意思 |
|---|---|
-100~+100 |
線位置的細分:−100 ~ +100,0 = 正中間,負 = 線在左(與線位置同號) |
積木「顏色感應器 → B」,讀到的數減 100
int linePosFine = MiniR4.I2C1.MXColor.getColor(B) - 100; // 細位置線寬 lineWidth
| 範圍 | 意思 |
|---|---|
0~8 路 |
壓到線的路數 0~8,0 = 找不到線 |
積木「顏色感應器 → G」
int lineWidth = MiniR4.I2C1.MXColor.getColor(G); // 線寬第 1~8 路光值 light
| 範圍 | 意思 |
|---|---|
0~100 |
第 1 |
積木「顏色感應器 → CK」:CK 兩路一組 convert9×10+convert9
int raw = MiniR4.I2C1.MXColor.getColor(C); // 第 1 組這個軟體讀不到:線段數、壓線位元圖、最後離線方向、二值化門檻、校準完成次數。要用這些值請改用 Arduino/mBlock/micro:bit。
命令
這個軟體不能送命令;需要時改用 Arduino I2C、mBlock 或 micro:bit。
範例
這個軟體還沒有整支的範例程式。上面「讀值」和「命令」每一項都附了可以直接照著做的寫法,照順序組起來就能用;需要整支範例請 聯絡我們。
其他問題
還有問題?到 聯絡我們 附上你用的軟體和程式截圖。
下載
本頁依據
- 主機與軟體清單:
_build/guides.json - 值與命令:
_build/protocol/line8.json(單一真相來源) - 安裝與設定:
_build/guides/software/matrix-matrixblock.zh.md、_build/guides/product/line8/matrix-matrixblock.zh.md