開始:程式開始+一直重複
讀感應器要一直重複讀。新專案裡已經有黃色的「when program starts」,下面接「forever」(一直重複),裡面放「wait 0.1 seconds」,每 0.1 秒讀一次。
- 打開 EV3 Classroom,按「New Project」開一個新專案。
- 從「Control」拖出「forever」,接在「when program starts」下面。
- 再拖一顆「wait 1 seconds」放進 forever,數字改成 0.1。
在 EV3 Classroom 裡,掌控者 PS2/PS4會被當成樂高的紅外線感應器,所以不用匯入函式庫、不用裝擴充,直接用紅外線感應器的積木讀。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是用 EV3 Classroom 1.5.3 拼好後直接從軟體畫面匯出的,跟你在軟體裡看到的一樣。EV3 Classroom 沒有繁體中文介面,所以積木是英文。
讀感應器要一直重複讀。新專案裡已經有黃色的「when program starts」,下面接「forever」(一直重複),裡面放「wait 0.1 seconds」,每 0.1 秒讀一次。
掌控者 PS2/PS4插在 EV3 上會被當成樂高的紅外線感應器,所以用「Sensors」裡紅外線感應器的積木讀,不用裝擴充。積木最前面的數字是孔號,選 1(感應器插 1 號孔)。產品把不同的值放在不同的積木裡:
| 積木 | 讀到的是 | 範圍 |
|---|---|---|
| proximity | 方向鍵 | 0 ~ 15 |
| heading to beacon 2 | 形狀鍵 | 0 ~ 15 |
| heading to beacon 3 | 肩鍵 | 0 ~ 15 |
| heading to beacon 4 | 功能鍵 | 0 ~ 15 |
| proximity to beacon 1 | 左搖桿(第 1 個:LX) | 0 ~ 99(50 = 中間) |
| proximity to beacon 2 | 左搖桿(第 2 個:LY) | 0 ~ 99(50 = 中間) |
| proximity to beacon 3 | 右搖桿(第 1 個:RX) | 0 ~ 99(50 = 中間) |
| proximity to beacon 4 | 右搖桿(第 2 個:RY) | 0 ~ 99(50 = 中間) |
一支程式只用同一種模式的積木(近接、信標、遙控三選一)。EV3 每換一次模式要卡約 1.1 秒。
把讀值積木放進「Display」的「write … at line …」,前面用「Operators」的「join」加一個名字(例如 POS),程式一開始先放「clear display」清螢幕。點一個功能,積木和結果會換成它的範例。
模擬畫面是示意:點一下按鍵=按住,再點一下放開;拖動搖桿的圓點改變位置(放開滑鼠會停在那裡,按「全部放開」回到中間)。EV3 上搖桿是 0 ~ 99、50 = 中間,往右、往上數字變大。
EV3 Classroom 讀得到的值,每個都有一支可以照著拼的小程式(感應器插 1 號孔)。按「試試看」會切到第 3 步。
EV3 Classroom 讀不到的:16 鍵合成數字、手把有沒有連上(模式 3)、電量、L2/R2 按多深、PS 鍵與觸控板、手把種類、裝置 ID 與韌體版本;PS4 才有的震動、燈條是「命令」,EV3 接頭不能送命令。韌體 v4.0 新增的模式 3~6(例如公釐距離、位元圖、連線狀態、裝置 ID)EV3 Classroom 的積木也讀不到。要用這些,改用 Pybricks(EV3 要換開機卡)或 clev3r。
----,而且每讀一次要等約 1.2 秒;程式不會停,插回去會自動恢復。