Web:Bit 九軸體感偵測 ( 此功能僅適用 Web:Bit V1 )
Web:Bit 內建一個 MPU-9250 九軸感測器,除了可以偵測空間內的加速度與旋轉,實作體感偵測、體感遊戲...等應用,更能透過磁力計的輔助偵測,實現偵測姿態角度、指南針...等進階效果。
九軸體感偵測積木清單
九軸體感偵測積木有兩種,一種可偵測指定的動作,另一種則可取得九軸感測器的數值。
九軸體感偵測積木必須搭配「開發板」積木,選擇模擬器時無法取得九軸體感數值,但可以透過指定動作的按鈕模擬對應動作,選擇 USB,執行後會透過 USB 連線方式控制實體開發板,選擇 Wi-Fi 則可透過 Wi-Fi 指定 Device ID 操控。
USB 控制模式為「安裝版編輯器」限定,請參考 Web:Bit 編輯器
Wi-Fi 模式需要開發板連接 Wi-Fi,請參考 Web:Bit 硬體開發板 ( 初始化設定 )
偵測指定的動作
「偵測指定的動作」積木能偵測靜止、晃動、正面朝上、背面朝上、向後向前翻轉、向左向右翻轉、向左向右旋轉、指向東西南北...等 14 種開發板動作。
下圖的例子,開發板往右旋轉會出現向右的綠色箭頭,開發板往左旋轉會出現向左的藍色箭頭,如果開發板晃動則會出現紅色笑臉。
如果是使用模擬器,執行後再開發板的右側會出現一排按鈕,並用文字提示正在偵測的指定動作,以上圖的例子而言,表示正在偵測向右旋轉、向左旋轉以及晃動。
取得九軸感測器的數值
「取得九軸感測器的數值」積木能夠取得加速度、磁力計、陀螺儀以及水平旋轉、前後左右翻轉的數值。( 模擬器無法模擬此塊積木,必須使用實體開發板 )
加速度計
加速度計主要偵測 x、y 和 z 三軸直線移動時「瞬間」加速度變化,將 Web:Bit 開發板正面朝上,金手指接腳朝向自己,垂直上下的方向為 z 軸 ( 往上為負,往下為正 ),水平左右為 x 軸 ( 往左為負,往右為正 ) 水平前後為 y 軸 ( 往自己的方向為負,遠離自己的方向為正 )。
由於偵測的數值為「加速度」,在啟動或停止的瞬間,可能會產生反向的加速度 ( 就如行駛的公車突然煞車或啟動,乘客會往前傾或後仰 ),因此在開發時要透過一些邏輯判斷來排除,或避免瞬間太大的啟動與停止動作。
由於「取得九軸感測器的數值」積木使用時只會偵測一次,搭配無限重複迴圈便可連續偵測,執行後上下左右揮動 Web:Bit 開發板,就能看見小怪獸講出加速度的數值。
因為所在位置以及感測器初始化校準的不同,每塊 Web:Bit 開發板在啟用加速度偵測時,都會有些微的誤差,Z 通常都會是負一千多 ( 單位為 mg,1 g 通常為一個重力參數 ),X 和 Y 通常會在 200 ~ -200 之間,此時可以拿起 Web:Bit 開發板上下左右揮動,就會看見數值發生變化,由於所偵測的數值為「加速度」,因此當開發板沒有移動或等速移動的時候,加速度會保持在一個穩定的數值區間內。
陀螺儀
陀螺儀則是偵測旋轉時「瞬間」的角度變化,如下圖所示,將 Web:Bit 開發板正面朝上,金手指接腳朝向自己,繞著 z 軸旋轉為 yaw ( 順時針旋轉為正,逆時針旋轉為負 ),繞著 x 軸旋轉為 roll ( 順時針朝自己旋轉為負,逆時針旋轉為正 ) 繞著 y 軸旋轉為 pitch ( 順時針旋轉為正,逆時針旋轉為負 )。
搭配無限重複迴圈便可連續偵測,執行後轉動 Web:Bit 開發板,就能看見小怪獸講出陀螺儀的數值,因為是瞬間角度變化,所以當我們停止轉動,角度就會回歸啟動時的數值 ( 預設是 0,若數值不為零,請重插開發板 USB 線,重新啟動再試一次 )。
姿態角度 ( roll、pitch、yaw )
姿態角度主要透過加速度計和陀螺儀的數值,組合成可以偵測 Web:Bit 開發板前後翻轉 ( roll )、左右翻轉 ( pitch ) 和水平旋轉 ( yaw ),將 Web:Bit 開發板正面朝上,金手指接腳朝向自己,繞著 z 軸旋轉為 yaw ( 逆時針旋轉角度遞增,區間為 -180~180 度 ),繞著 x 軸旋轉為 roll ( 順時針旋轉角度遞減,區間為 -180~180 度 ) 繞著 y 軸旋轉為 pitch ( 逆時針旋轉角度遞增,區間為 -90~90 度 )。
搭配無限重複迴圈便可連續偵測,執行後轉動 Web:Bit 開發板,就能看見小怪獸講出姿態角度的數值
磁力計
磁力計可以偵測所在磁場的變化 ( 主要是針對地球磁場 ),將 Web:Bit 開發板正面朝上,金手指接腳朝向自己,垂直上下的方向為 z 軸 ( 往上為正,往下為下 ),水平左右為 y 軸 ( 往左為正,往右為負 ) 水平前後為 x 軸 ( 往自己的方向為負,遠離自己的方向為正 )。
使用磁力計之前,需要對開發板進行「8 字校正」,將開發板插上電並拿起開發板,在空中畫出 8 的形狀進行校正,若遇到不準確的狀況,進行 8 字校正後就會準確許多。
搭配無限重複迴圈便可連續偵測,執行後轉動或移動 Web:Bit 開發板,就能看見小怪獸講出磁力計的數值 ( 測試時可以拿磁鐵靠近,會發現顯著的數值變化,但因為磁鐵會干擾磁力計,使用磁鐵後需要重新進行8 字校正還原初始狀態 )。
電子羅盤
電子羅盤為磁力計的延伸應用,使用前需要對開發板進行「8 字校正」,8 字校正後可以做為指南針,偵測東西南北方位,將 Web:Bit 開發板正面朝上,金手指接腳朝向自己,開發板的頂端指向正北方,正北方角度約為 0,正東方角度約為 90,正南方角度約為 180 或 -180,正西方角度約為 -90。
下圖的範例,除了讓綠色小怪獸講出方位角,更進一步透過邏輯判斷,讓紅色怪獸說出東西南北的方位。
範例下載:指南針 ( 使用滑鼠右鍵另存新檔 )
聯絡我們
如果對於 Webduino 產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/ ( 支援信用卡、超商取貨付款 )
企業&學校採購:來信 service@webduino.io 或來電 07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:service@webduino.io
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/