- Slider: 以移動滑條方式控制單 Channel 的動作.
- Joystick: 以雙向搖桿方式控制雙 Channels 的動作.
- Button: 以按鈕的 On/Off 開關方式控制單 Channel 的動作.
- Clinometer: 測斜儀, 藉由偵測作為遙控裝置(手機 或 平板)的三種運動方式 - Pitch(俯仰)' Yaw(偏擺) 與 Roll(翻滾), 控制三 Channels 的動作.
- Sequence: 同時控制多個 Channels 依據時間序列執行指定的動作.
- Circuit: 藉由讀取指定 Channel 或 感應器的值(Input), 比對設定的條件(Logic), 觸發符合條件的控制指令(Target).
功能測試
為了測試這三種進階控制項, 將製作一台以 PF 馬達驅動的四輪車(如下圖), 主要功能包含:
- 以 PF Servo motor 控制車輛的轉向以及以 PF L motor 驅動車輛的行進, 另以三個 PF LED 燈分別作為車頭燈 與 左右轉向指示燈.
- 以 Clinometer 控制項偵測手機的 俯仰 與 偏擺 動作, 遙控車輛的 進退 與 轉向,
- 以兩個 Sequence 控制項顯示左' 右轉向指示燈的閃爍效果.
- 以一個 Circuit 控制項偵測車輛是否處於前進狀態, 以自動點亮 或 關閉 車頭燈.
- 以兩個 Circuit 控制項偵測車輛是否處於左' 右轉向狀態, 以自動啟動 或 關閉左' 右轉向指示燈的閃爍顯示, 模擬真實車輛的運作.
上述功能的實作, 可以參考以下影片:
控制介面設計
要使用 SBrick 手機 app 的控制介面, 須先於電腦以 Profile Designer 進行設計與建立, 包含: 設定背景圖片與加入所有會使用到的控制項(Controls), 完成之後將 Profile 存放在 SBrick 的網站中, 接著再以手機 app 連結下載之後, 對 Profile 控制項的 Channels 與 SBrick 的實體 Ports 進行對應, 這樣才可以在 SBrick 的手機 app 中使用設計好的控制介面遙控連接在 SBrick 上的 PF 馬達或 LED 燈.
一、設計控制介面的 Profile:
如上圖所示, 在本次測試的控制介面中共使用了 8 個控制項, 每個控制項的用途與設定方式, 如以下說明(依序自左上起):
(1) Clinometer - 透過手機姿態的變化遙控車輛的行進與轉向, 共包含三個 Channels: Pitch(俯仰)' Yaw(偏擺) 與 Roll(翻滾), 但車輛的控制只需要其中兩種, 實際以 iPhone 測試驗證此控制項的回應方式, 選擇以 Pitch Channel 作為轉向控制(左右偏擺), 而以 Roll Channel 作為行進控制(前後俯仰), 這樣似乎與Channel 的名稱定義不同, 不過這是經由實際測試得到的結論, 所以可能是 SBrick 原廠的失誤.
(2) Close button - 結束 app
(3) FlashLeftLights - 以 0.5 秒的間隔週期, 閃爍顯示左轉燈的 Sequence 控制項
(4) HeadLights - 開關頭燈的 Button 控制項:
(5) FlashRightLights - 以 0.5 秒的間隔週期, 閃爍顯示右轉燈的 Sequence 控制項:
(6) Circuit-SteerLeft - 偵測若車輛正在左轉時, 會自動啟動 FlashLeftLights Sequence 的 Circuit 控制項
(7) LitHeadLights - 偵測當車輛前進時, 會自動設定 HeadLights 為 ON 的 Circuit 控制項
(8) Circuit-SteerRight - 當偵測到車輛正在右轉時, 會自動啟動 FlashRightLights Sequence 的 Circuit 控制項
二、設定 SBrick 實體 Ports 與 Profile Control - Channels 的對應:
完成設計控制介面的 Profile 之後, 接下來需要在 SBrick 的手機 app 中將 Profile 所有控制項的 Channels 對應到連接實體 PF 設備的 SBrick Ports, 這樣手機 app 才能夠使用自行設計的控制介面遙控以 SBrick 所建構的車輛.
沒有留言:
張貼留言