開始:開始積木+迴圈
讀感應器要一直重複讀。新程式裡已經有綠色的「開始」積木,後面接一個橘色的「迴圈(Loop)」,迴圈裡放「等待(Wait)」積木,每 0.1 秒讀一次。
- 打開 EV3 官方軟體(EV3-G),新增一個專案。
- 從橘色的「流程控制」拖出「迴圈」,接在開始積木後面(預設就是一直重複)。
- 再拖一顆「等待」放進迴圈,模式選「時間」,秒數改成 0.1。
在 EV3 官方軟體(EV3-G)裡,測距者 8 路會被當成樂高的紅外線感應器,所以不用匯入函式庫,直接用紅外線感應器的積木、選對模式就能讀。左邊一步一步做,右邊的積木會跟著長出來;這些圖是在 EV3-G 裡打開程式後直接截下來的(100% 大小,英文介面),跟你在軟體裡看到的一樣。
讀感應器要一直重複讀。新程式裡已經有綠色的「開始」積木,後面接一個橘色的「迴圈(Loop)」,迴圈裡放「等待(Wait)」積木,每 0.1 秒讀一次。
測距者 8 路插在 EV3 上會被當成樂高的紅外線感應器。從黃色的「感應器」拖出「紅外線感應器」積木,按積木左下角選模式;右上角是孔號,選 1(感應器插 1 號孔)。產品把不同的值放在不同的模式裡:
| 積木 | 讀到的是 | 範圍 |
|---|---|---|
| 測量 → 近接(Proximity) | 正前方距離 | 0 ~ 100(1 格 = 1.2 公分,100 = 前面沒東西) |
| 測量 → 信標(Beacon)頻道 1:方向(Heading) | 每一顆的距離(第 1 個:D1) | 0 ~ 100(1 格 = 1.2 公分) |
| 測量 → 信標(Beacon)頻道 1:近接(Proximity) | 每一顆的距離(第 2 個:D2) | 0 ~ 100(1 格 = 1.2 公分) |
| 測量 → 遙控(Remote)頻道 1 | 最近的東西在哪個方向 | -7 ~ +7(負 = 左、正 = 右;±8 = 沒有東西) |
| 測量 → 遙控(Remote)頻道 2 | 最近的東西有多遠 | 0 ~ 100(1 格 = 1.2 公分) |
| 測量 → 遙控(Remote)頻道 3 | 最空曠的方向 | -7 ~ +7(負 = 左、正 = 右) |
| 測量 → 遙控(Remote)頻道 4 | 最空曠方向的距離 | 0 ~ 100(1 格 = 1.2 公分) |
一支程式只用同一種模式的積木(近接、信標、遙控三選一)。EV3 每換一次模式要卡約 1.1 秒。
用紅色「資料運算」裡的「文字(Text)」積木,把名字(例如 POS)和讀到的數字接在一起,再接到綠色「顯示(Display)」積木(模式「文字 → 格點」,Y 填行數)。黃色、橘色的線是資料線:從感應器拉到文字積木,再拉到顯示積木。迴圈前面先放一顆「顯示 → 重設螢幕」。點一個功能,積木和結果會換成它的範例。
模擬畫面是示意:只用畫面上障礙物的位置換算,EV3 的距離 = 公分 × 100 ÷ 120,不是感應器內部的算法。
EV3-G 讀得到的值,每個都有一支可以照著拼的小程式(感應器插 1 號孔)。按「試試看」會切到第 3 步。
EV3-G 讀不到的:公釐(mm)距離、每一顆的公釐距離、雷射初始化與故障狀態。韌體 v4.0 新增的模式 3~6(例如公釐距離、位元圖、連線狀態、裝置 ID)EV3-G 的積木也讀不到。要用這些,改用 Pybricks(EV3 要換開機卡)或 clev3r。
----,而且每讀一次要等約 1.2 秒;程式不會停,插回去會自動恢復。