MBC 掌控者 PS2/PS4 × 樂高官方 SPIKE App

三個步驟用樂高官方 SPIKE App 讀掌控者遙控接收器

在樂高官方 SPIKE App 裡,掌控者接收器會被當成顏色感應器,所以不用匯入函式庫,直接用顏色感應器的積木讀,再換算成按鍵和搖桿。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是直接從官方網頁版 App(spike.legoeducation.com)拼好匯出的,跟你在 App 裡看到的一樣。

1

開始:程式開始+一直重複

讀手把要一直重複讀。先放黃色的「when program starts」,下面接「forever(一直重複)」,裡面放「wait 0.1 seconds」,每 0.1 秒讀一次。

  1. 打開樂高官方 SPIKE App,新增專案,選「Word Blocks(文字積木)」。
  2. 從「Events」拖出「when program starts」,從「Control」拖出「forever」接在下面。
  3. 再拖一顆「wait 1 seconds」放進 forever,數字改成 0.1。
2

認識四顆讀值積木,選對孔

官方 App 用顏色感應器的四顆積木讀掌控者,每顆積木最前面都有孔的下拉選單,要選接收器插的那個孔。讀到的數字要換算才是按鍵和搖桿:

接收器插在哪個孔?
官方積木讀到的是換算
reflected light(反射光,在 Sensors)方向鍵+圖形鍵上 1、右 2、下 4、左 8、△ 16、○ 32、✕ 64、□ 128,同時按就相加(0 ~ 255)
color(顏色,在 Sensors)肩鍵+功能鍵L2 1、R2 2、L1 4、R1 8、SELECT(PS4:SHARE)16、L3 32、R3 64、START(PS4:OPTIONS)-128,同時按就相加
raw red(原始紅色,在「More Sensors」擴充)左搖桿:X×10+Y放開時是 55。上下(Y)=除以 10 的餘數;左右(X)=除以 10 取整數,都是 1 ~ 9
raw green(原始綠色,在「More Sensors」擴充)右搖桿:X×10+Y跟原始紅色一樣換算

要用 raw red、raw green,先按 App 左下角的擴充按鈕,加入「More Sensors」。「原始藍色」這頁不用。

3

存進變數、使用

在「Variables」新增一個變數(例如「按鍵」或「左Y」),用「set … to …」把讀到(或換算好)的值存進去,等於幫這個值取名字;之後顯示、判斷都用這個變數。判斷某個鍵有沒有按:(變數 ÷ 那個鍵的數字) 取整數(floor),再除以 2 的餘數是不是 1。點一個功能,積木和結果會換成它的範例。

模擬手把:點按鍵、拖動搖桿,看右邊的結果怎麼變

模擬畫面是示意:點一下按鍵=按住,再點一下放開;拖動搖桿的圓點改變位置(放開滑鼠會停在那裡,按「全部放開」回到中間)。下面一行是四顆官方積木讀到的數字。

每個功能的積木範例

官方 App 能讀到的功能,每個都有一組可以照著拼的積木(C 孔)。按「試試看」會切到第 3 步。

官方 App 讀不到的功能:官方 App 只讀接收器的「組合資料」,所以手把有沒有連上、手把電量、接收器是哪一款、感應器身分、韌體版本、感應器有接好 這些讀不到。要用這些功能,改用 Pybricks(主機要換 Pybricks 韌體)。只是想直接選「哪一個鍵」、讀 1 ~ 9 的搖桿、不想自己換算,可以改用 MBC SPIKE 積木網站。

使用注意

  1. 官方 App 的感應器積木選「顏色感應器」那一組。掌控者接收器對官方 App 來說就是一顆顏色感應器,不用另外裝東西;接收器要是 SPIKE 版韌體。
  2. 這頁是教育版(SPIKE 3)的讀法。家用版(Robot Inventor)的「顏色」積木讀法不一樣,這頁的範例不適用。
  3. 判斷某個鍵一定要換算。用「(值 ÷ 鍵的數字) 取整數,除以 2 的餘數 = 1」;不要用「顏色是不是紅色」這種比對積木,一定要用「顏色」的數字。START(PS4:OPTIONS)在顏色積木裡是負數 -128,用同一個換算也算得對。
  4. 搖桿當開關時用 7 以上、3 以下。只推一點點時,往左、往下很快就變 4,往右、往上要推到一半左右才變 6,兩邊不一樣靈敏;把 4 ~ 6 當成「在中間」。
  5. 方向:搖桿往右、往上數字變大(到底 9),往左、往下變小(到底 1),放開是 5。手把沒連線時,按鍵全部是 0、搖桿在中間(原始紅色、原始綠色是 55)。