set up:建立顏色感應器、選孔
不用匯入函式庫:在黃色「set up」下面接 Pybricks 內建的顏色感應器積木(ColorSensor),選掌控者插的孔,名字取 pad。
你用哪一款接收器?
- 在 Pybricks Code 按「+」新增檔案,選用積木(blocks)寫。
- 從「Sensors(感應器)」拖出顏色感應器的設定積木(感應器圖示),接在「set up」下面,名字改成
pad(可以取任何英文名字),孔選上面那個。
掌控者插在 SPIKE 上會被當成樂高顏色感應器,所以 Pybricks 內建的顏色感應器積木就讀得到:reflection()(反射光)和 ambient()(環境光)兩個數字,掌控者在裡面各裝了一組值,用數學積木拆開就能用。左邊一步一步做,右邊的積木會跟著長出來;積木圖是直接從 Pybricks Code 拼好匯出的。
MBC_gamepad.py,但PS2、PS4 都讀得到全部 16 個鍵、搖桿、手把有沒有連上、電量,一個功能一個積木。先確認:Pybricks 的積木模式要授權碼或 Patreon 贊助才能用。沒有授權可以直接寫 MicroPython,寫法一模一樣(右邊切到「對應的 MicroPython」)。
不用匯入函式庫:在黃色「set up」下面接 Pybricks 內建的顏色感應器積木(ColorSensor),選掌控者插的孔,名字取 pad。
你用哪一款接收器?
pad(可以取任何英文名字),孔選上面那個。在「program」下面放「repeat while true」,裡面用「print」印出 pad reflected light(reflection)和 pad ambient light(ambient),最後「wait 100 ms」。Pybricks 讀 reflection 時會自動把感應器切到 SPIKE 模式 5、讀 ambient 時切到模式 7,掌控者在這兩個模式各放一組數字:
模擬畫面現在讀到:
Pybricks 4.1 的 reflection() 會帶 1 位小數,先取整數(0~2047,不會變負數);ambient() 只剩 1 位小數:小數點前 LX、LY,小數第 1 位 RX。
先用「Variables」的「set to」把讀到的值存進變數:r=reflection,a=ambient(原值)。再用「Math」的 //(÷ 取整數)和 %(÷ 的餘數)拆成兩個值,印出來或拿來判斷。點一個功能,積木和輸出會換成它的範例。虛線框的是另一款接收器用的(點下去會幫你換)。
模擬畫面是示意:點一下按鍵=按住,再點一下放開;拖動搖桿的圓點改變位置(放開滑鼠會停在那裡,按「全部放開」回到中間)。搖桿 1 ~ 9、5 = 中間,往右、往上數字變大。PS4 手把的電量固定示意為 80。
每個功能都有一組可以照著拼的積木(名字 pad、C 孔)。按「試試看」會切到第 3 步,右邊的積木和輸出會換成這個範例。
想要更多值就改用 匯入函式庫的 Pybricks 積木 或 MicroPython。