循行者 8 路 (Line8) × EV3 × EV3-G 官方軟體

互動教學EV3

第一次用?先跟著互動教學在網頁上做一遍,再照下面的步驟接主機。

這一頁只講 EV3-G 官方軟體(EV3 Lab):在 MINDSTORMS EV3 上用它讀循行者 8 路 (Line8)的安裝步驟、每個值怎麼讀、能用的命令與範例。要換產品、主機或軟體,用上方的切換列。

安裝與設定

你需要

  • 感應器:循行者 8 路 (Line8)(EV3 版,RJ12 接頭)。SPIKE 版插在 EV3 上不會被認出來。
  • 主機:LEGO MINDSTORMS EV3。
  • 連接線:產品內附的標準連接線,或樂高原廠 EV3 線。
  • 軟體:LEGO MINDSTORMS EV3 官方軟體(LabVIEW 風格介面,常稱為 EV3-G)。學校電腦教室、WRO 隊伍最常用。

安裝軟體

  1. 到 LEGO Education 下載頁 安裝 EV3 官方軟體(EV3 Lab)。
  2. 打開範例:下載 .ev3 檔 → 「檔案 → 開啟專案」→ 接上 EV3 → 右下角「下載並執行」。

讓軟體認得感應器

不用裝擴充、不用裝驅動程式。感應器在 EV3 上會模擬成樂高原廠感應器(多數產品顯示成「紅外線感應器」),直接用內建的感應器積木,選對模式就能讀。

  • 紅外線感應器有 Proximity(接近)、Beacon(信標)、Remote(遙控) 三種模式,產品把不同資料放在不同模式,看下面的讀值。
  • 有些產品附 MBC 自訂積木(My Blocks),已經放在範例專案裡,打開範例就能用。

重要

不要在程式中途切換模式。 EV3 主機每次切換感應器模式(例如從 Proximity 換到 Remote),會卡住約 1 秒,高速比賽中可能讓車子失控。程式一開始選定一種模式,整趟任務都用它。

接線

  1. 用連接線把感應器插在 EV3 的 1 號孔(1~4 任一孔都可以,積木裡選同一個孔)。
  2. EV3 先開機,再插感應器。
  3. 接頭卡榫朝上,輕輕推進去,不要用力硬插。

先校準(只要做一次)

循行者要先「認識」你場地上的黑色和白色,數值才會準。校準完會記在感應器裡,重新開機也還在(除非換場地)。

  1. 感應器插好、主機開機(感應器的燈亮起來)。
  2. 按住感應器上的校準按鈕約 0.5 秒再放開(不要一直按著,按著不放會一直重新校準)。
  3. 綠色校準指示燈(靠近校準按鈕)亮起後,5 秒內把感應器在黑線和白色地面之間來回掃幾次,8 個感應點都要掃過最黑的黑線和最白的白色區域。
  4. 掃的時候感應器離地 3~12 mm,太高會讀不準。
  5. 綠燈熄滅=校準完成,數值自動存進感應器。

怎麼知道校準好了? 放在白色地面時「線寬」是 0,壓在一般黑線上是 2~3。

Proximity 模式:線位置

讀到的值 範圍 說明
線位置 -8 ~ +8 0 = 黑線在正中央,負數偏左、正數偏右;±8 表示線在感應器最邊緣

Beacon 模式:8 路光電反射值

讀「數值列表」(8 bytes),每一路都是校準後的反射值:0=最暗(黑線)、100=最亮(白底)。第 1 路在最左邊(站在車子後面、面向車頭看)。

Byte 內容 範圍 EV3-G/Classroom 怎麼讀 clev3r
0 第 1 路 0 ~ 100 信標頻道 1 的「方向」 raw[0]
1 第 2 路 0 ~ 100 信標頻道 1 的「近接(距離)」 raw[1]
2 第 3 路 0 ~ 100 信標頻道 2 的「方向」 raw[2]
3 第 4 路 0 ~ 100 信標頻道 2 的「近接(距離)」 raw[3]
4 第 5 路 0 ~ 100 信標頻道 3 的「方向」 raw[4]
5 第 6 路 0 ~ 100 信標頻道 3 的「近接(距離)」 raw[5]
6 第 7 路 0 ~ 100 信標頻道 4 的「方向」 raw[6]
7 第 8 路 0 ~ 100 信標頻道 4 的「近接(距離)」 raw[7]

Remote 模式:位置+線寬+左右邊界(比賽推薦)

讀「數值列表」(4 bytes):

Byte 內容 範圍 說明
0 高解析位置 -100 ~ +100 0 正中央,負偏左、正偏右,PID 誤差輸入首選
1 特徵線寬 0 ~ 8 觸發的感測器數量,偵測十字或 T 字路口
2 左邊界光值 0 ~ 100 第 1 路(最左)的反射光,0 純黑、100 純白
3 右邊界光值 0 ~ 100 第 8 路(最右)的反射光,0 純黑、100 純白

提示

Byte 2 和 Byte 3 同時小於 20,表示車頭整個進入十字路口的橫線;其中一邊突然變化,表示快到分岔,可以用來防掉線。

MBC 自訂積木(My Blocks)

範例專案裡有三個自訂積木,不用另外裝擴充包,呼叫後會在背景解析資料、存進專屬變數。放進無限迴圈(Loop)裡就能隨時拿到最新資料:

  1. LinePos8_dataUpdate:基礎循線,更新變數 0_LinePos8(-8 ~ +8,左負右正),適合新手。
  2. LinePos100_dataUpdate:高精度循線(要確實校準),更新 0_LinePos100(-100 ~ +100)、0_LineWidth8(0 ~ 8)與最左/最右邊界光值。
  3. LineCh8_dataUpdate:指定通道解碼,輸入通道編號 1 ~ 8,輸出該通道的量化光值 1 ~ 9(1 最暗、9 最亮)。

範例程式

循行者 8 路在 EV3-G 的 PID 循線程式

想學更厲害的循線方法?

可以找這幾位有豐富比賽與教學經驗的教練:LegoLauXiao 教練(示範影片)、legolaumo 教練(示範影片)。

第一次測試

  1. 下載本頁範例 1 的 .ev3,開啟後按「下載並執行」。
  2. EV3 螢幕上的數字跟著感應器前方的東西變化,就是接好了。

常見問題

  • 數字一直不變? 拔掉感應器重插一次(EV3 要先開機再插)。
  • EV3 顯示成「紅外線感應器」? 這是正常的,讀數字就是用紅外線感應器的積木。
  • 某些範例沒有 EV3-G 版? 標「僅 Pybricks/EV3 MicroPython/clev3r」的範例用到的模式,EV3-G 的積木讀不到。
  • 程式跑一跑會頓一下? 程式裡切換了感應器模式,每次切換約 1 秒,改成只用一種模式。

讀值

感應器在 EV3 會顯示成樂高原廠感應器,用原廠感應器積木讀就好。

線位置 linePos

線位置
範圍 意思
-8~+8 線在哪一路:−8(最左)~+8(最右),0 = 正中間;站在車後往前看,負 = 線在左
值 積木 換算 模式
線位置 紅外線感應器 →「近接」 讀到的數 模式 0

細位置 linePosFine

細位置
範圍 意思
-100~+100 線位置的細分:−100 ~ +100,0 = 正中間,負 = 線在左(與線位置同號)
值 積木 換算 模式
細位置 紅外線感應器 →「遙控」頻道 1 讀到的數 模式 2

線寬 lineWidth

線寬
範圍 意思
0~8 路 壓到線的路數 0~8,0 = 找不到線
值 積木 換算 模式
線寬 紅外線感應器 →「遙控」頻道 2 讀到的數 模式 2

第 1~8 路光值 light

第 1~8 路光值
範圍 意思
0~100 第 18 路校準後光值 0100(第 1 路最左);編號 10~17
值 積木 換算 模式
第 1 個 紅外線感應器 →「信標」頻道 1 的方向 讀到的數 模式 1
第 2 個 紅外線感應器 →「信標」頻道 1 的近接 讀到的數 模式 1
第 3 個 紅外線感應器 →「信標」頻道 2 的方向 讀到的數 模式 1
第 4 個 紅外線感應器 →「信標」頻道 2 的近接 讀到的數 模式 1
第 5 個 紅外線感應器 →「信標」頻道 3 的方向 讀到的數 模式 1
第 6 個 紅外線感應器 →「信標」頻道 3 的近接 讀到的數 模式 1
第 7 個 紅外線感應器 →「信標」頻道 4 的方向 讀到的數 模式 1
第 8 個 紅外線感應器 →「信標」頻道 4 的近接 讀到的數 模式 1

這個軟體讀不到:線段數、壓線位元圖、最後離線方向、二值化門檻、校準完成次數。要用這些值請改用 Pybricks/clev3r。

命令

EV3 接頭是唯讀的,這個軟體不能送命令:校準用感應器上的按鈕,切黑白線、門檻等設定改用 Arduino I2C、mBlock 或 micro:bit。

範例

範例 1:看看線在哪裡

這個範例會做什麼: 把感應器放在黑線上,EV3 螢幕會顯示一個數字告訴你線在哪裡。這是所有循線程式的第一步:先學會「讀數字」。

要準備什麼:

  • EV3 主機+教育版基本車(左輪接 B、右輪接 C)
  • 循行者 8 路(EV3 版,RJ12 接頭)
  • 白底黑線的場地(黑線寬約 2 公分)

怎麼接: 循行者 8 路插 1 號孔,裝在車頭下方、離地約 1 公分,感應器正對地面。

下載程式(選你用的軟體):

⬇ EV3-G 官方軟體

EV3-G 官方軟體 積木圖

循行者 8 路 看看線在哪裡(EV3-G 官方軟體)

(圖太小看不清楚?點一下圖片就會開原尺寸。)

一步一步看懂程式:

  1. 先把螢幕清乾淨
  2. 下面的動作一直重複
    • 讀取線的位置,顯示在螢幕第 1 行
    • 等 0.1 秒再讀下一次,數字才不會閃太快

跑起來應該看到: 把黑線放在感應器正中間,螢幕顯示 0;線往左移數字變成負數,往右移變成正數,最邊邊是 ±8(左右是指站在車子後面、面向車頭時的左右)。

常見問題:

  • 線不見了,數字卻停在最後的值? 這是正常的:線跑出感應器範圍時,位置會停在最後看到的地方。要判斷「線不見了」請用範例 4 的線寬(線寬=0)。
  • 數字一直不變? 先看感應器有沒有亮燈、線有沒有插緊。EV3 主機要先開機再接感應器,或拔掉重插一次。
  • 車子往反方向修正、越修越歪? 把程式裡的「+」和「-」對調(左右輪的修正互換),或確認左輪是不是接在 B、右輪接在 C。

範例 2:三段式循線:偏左、偏右、直走

這個範例會做什麼: 用「如果…就…否則…」讓車子沿著黑線走:線偏左就往左轉,線偏右就往右轉,在中間就直走。

要準備什麼:

  • EV3 主機+教育版基本車(左輪接 B、右輪接 C)
  • 循行者 8 路(EV3 版,RJ12 接頭)
  • 白底黑線的場地(黑線寬約 2 公分)

怎麼接: 循行者 8 路插 1 號孔,裝在車頭下方、離地約 1 公分,感應器正對地面。

下載程式(選你用的軟體):

⬇ EV3-G 官方軟體

EV3-G 官方軟體 積木圖

循行者 8 路 三段式循線:偏左、偏右、直走(EV3-G 官方軟體)

(圖太小看不清楚?點一下圖片就會開原尺寸。)

一步一步看懂程式:

  1. 一直重複檢查線的位置
    • 如果線的位置小於 -2(偏左)
      • 線偏左:左輪慢、右輪快,車子往左修
      • 否則:
        • 否則,如果線的位置大於 2(偏右)
          • 線偏右:左輪快、右輪慢,車子往右修
          • 否則:
            • 線在中間:兩輪一樣快,直直走

跑起來應該看到: 車子會左右搖擺地沿著黑線前進。彎道太急時可能衝出去,把 40 改小、10 改成 0 試試看。

常見問題:

  • 數字一直不變? 先看感應器有沒有亮燈、線有沒有插緊。EV3 主機要先開機再接感應器,或拔掉重插一次。
  • 車子往反方向修正、越修越歪? 把程式裡的「+」和「-」對調(左右輪的修正互換),或確認左輪是不是接在 B、右輪接在 C。

範例 3:比例循線:偏越多、轉越多

這個範例會做什麼: 三段式循線會一直搖擺。這個範例把「線的位置 × 一個數字」當成轉彎的力量:偏一點就轉一點、偏很多就轉很多,車子會走得更順。

要準備什麼:

  • EV3 主機+教育版基本車(左輪接 B、右輪接 C)
  • 循行者 8 路(EV3 版,RJ12 接頭)
  • 白底黑線的場地(黑線寬約 2 公分)

怎麼接: 循行者 8 路插 1 號孔,裝在車頭下方、離地約 1 公分,感應器正對地面。

下載程式(選你用的軟體):

⬇ EV3-G 官方軟體

EV3-G 官方軟體 積木圖

循行者 8 路 比例循線:偏越多、轉越多(EV3-G 官方軟體)

(圖太小看不清楚?點一下圖片就會開原尺寸。)

一步一步看懂程式:

  1. 一直重複
    • 轉彎力量 turn = 線的位置 × 4
    • 左輪=30+turn、右輪=30-turn:線偏哪邊,車子就往哪邊修

跑起來應該看到: 車子比範例 2 更平順地沿著黑線走。數字 4 叫做「比例係數」:太大會左右甩,太小會轉不過彎,可以自己調整。

常見問題:

  • 直線上也一直左右甩? 把 4 改小一點(例如 2)。
  • 數字一直不變? 先看感應器有沒有亮燈、線有沒有插緊。EV3 主機要先開機再接感應器,或拔掉重插一次。
  • 車子往反方向修正、越修越歪? 把程式裡的「+」和「-」對調(左右輪的修正互換),或確認左輪是不是接在 B、右輪接在 C。

範例 4:碰到十字路口就停車

這個範例會做什麼: 感應器還會告訴你「壓到黑線的格數」(線寬)。平常只有 2~3 格,到十字路口會一下子變很多。這個範例邊循線邊看線寬,大於等於 6 就停車並嗶一聲。

要準備什麼:

  • EV3 主機+教育版基本車(左輪接 B、右輪接 C)
  • 循行者 8 路(EV3 版,RJ12 接頭)
  • 有十字路口的黑線場地

怎麼接: 循行者 8 路插 1 號孔,裝在車頭下方、離地約 1 公分,感應器正對地面。

下載程式(選你用的軟體):

⬇ EV3-G 官方軟體

EV3-G 官方軟體 積木圖

循行者 8 路 碰到十字路口就停車(EV3-G 官方軟體)

(圖太小看不清楚?點一下圖片就會開原尺寸。)

一步一步看懂程式:

  1. 一直循線,直到線寬大於等於 6(到路口了)
    • 轉彎力量 turn = 線的位置(-100~100)× 0.3
    • 一樣用比例循線往前走,速度放慢到 25
  2. 停車
  3. 嗶一聲告訴你到了

跑起來應該看到: 車子循線前進,壓到十字路口時停下來並嗶一聲。

常見問題:

  • 還沒到路口就停了? 彎道也可能讓線寬變大,把 6 改大一點。
  • 到路口不停? 用範例 1 的方法把線寬顯示出來,看路口時實際是多少,再改程式裡的 6。
  • 數字一直不變? 先看感應器有沒有亮燈、線有沒有插緊。EV3 主機要先開機再接感應器,或拔掉重插一次。
  • 車子往反方向修正、越修越歪? 把程式裡的「+」和「-」對調(左右輪的修正互換),或確認左輪是不是接在 B、右輪接在 C。

範例 5:數路口:第 3 個路口停車

這個範例會做什麼: 比賽常常要「走到第幾個路口」。這個範例用一個變數 count 數路口,用另一個變數 onCross 記住「現在是不是正壓在路口上」,避免同一個路口被數很多次。

要準備什麼:

  • EV3 主機+教育版基本車(左輪接 B、右輪接 C)
  • 循行者 8 路(EV3 版,RJ12 接頭)
  • 有 3 個以上十字路口的黑線場地

怎麼接: 循行者 8 路插 1 號孔,裝在車頭下方、離地約 1 公分,感應器正對地面。

下載程式(選你用的軟體):

⬇ EV3-G 官方軟體

EV3-G 官方軟體 積木圖

循行者 8 路 數路口:第 3 個路口停車(EV3-G 官方軟體)

(圖太小看不清楚?點一下圖片就會開原尺寸。)

一步一步看懂程式:

  1. 路口數 count 從 0 開始
  2. onCross=0 代表「現在不在路口上」
  3. 一直循線,直到數滿 3 個路口
    • 比例循線:turn = 線的位置 × 0.3
    • 左輪=25+turn、右輪=25-turn
    • 如果線寬大於等於 6(壓在路口上)
      • 而且剛剛還不在路口上
        • 剛壓到新路口:count 加 1
        • 記住「正在路口上」,同一個路口不要再數
        • 嗶一聲
      • 否則:
        • 離開路口了:onCross 改回 0,準備數下一個
    • 螢幕顯示已經數到第幾個路口
  4. 停車

跑起來應該看到: 每經過一個路口嗶一聲、螢幕數字加 1,到第 3 個路口停車。把 3 改成別的數字就能停在不同路口。

常見問題:

  • 一個路口數成兩個? 路口的黑線有破損或反光時會發生。把車速 25 調慢,或把線寬門檻調大。
  • 數字一直不變? 先看感應器有沒有亮燈、線有沒有插緊。EV3 主機要先開機再接感應器,或拔掉重插一次。
  • 車子往反方向修正、越修越歪? 把程式裡的「+」和「-」對調(左右輪的修正互換),或確認左輪是不是接在 B、右輪接在 C。

注意

下面這些範例沒有這個軟體的版本:範例 6:壓線位元圖:在螢幕上畫一把 LED 尺

其他問題

  • EV3 顯示成紅外線感應器? 正常:感應器模擬成樂高原廠感應器,用原廠積木就能讀。
  • 切換模式時卡一下? EV3 每次換模式要等約 1 秒。整趟任務盡量只用同一個模式的積木。

還有問題?到 聯絡我們 附上你用的軟體和程式截圖。

下載

本頁依據

  • 主機與軟體清單:_build/guides.json
  • 值與命令:_build/protocol/line8.json(單一真相來源)
  • 安裝與設定:_build/guides/software/ev3-ev3g.zh.md、_build/guides/product/line8/ev3-ev3g.zh.md
  • 範例:sensors/line8/ev3-examples.md
LINE 詢價選購指南