最近聽到有人在study 9軸感應器(陀螺儀+加速計+磁力計),也想弄一個來玩玩看!目前先研究手邊剛好有的東西(Acer Iconia Tab B1-A71), 寫程式下去查的結果,這台只有G-sensor(重力感應器或稱加速計). 若有不周,歡迎批評指教,缺漏的部份日後會慢慢補上. 轉貼或引用本篇blog內文章段落, 不必交代出處.不過程式碼的部分是拿網路上某人寫的Android sample code而寫成的,所以相關著作權法律的問題請注意一下!
過程:
在網上有看到一篇Acer在澳洲官網的技術支援網頁刊登如何校正Iconia Tab B1-A71的重力感應器, 試了一下ok, 步驟如下:
1.設定->關於平板電腦,
2.點一下"裝置資訊",
3.在"重力感應器驅動程式版本"上連續點10下(就是一直點到畫面變到下一張圖為止),
4.按下"重力校準"依照指示開始校正,
說明:高中物理教的重力加速度約9.8m/s^2(平方表示為^2,就是米/秒的平方),面板就是X-Y軸構成的平面, Z軸是X軸跟Y軸的向量外積(X close Y)後的方向. 加速計能測各種使平板產生加速度的力,含靜止時只受重力.底下示範靜止受重力, 3軸量到的值,下圖表示左手提著平板,在Y軸方向受到一個重力,在X軸跟Z軸沒受到任何重力, 所以得到Y值就是9.8 m/s^2, 其他兩軸約為0 m/s^2.
同理可證,照下圖這種拿法,在X軸受到一個重力,在Y軸跟Z軸方向沒有受到任何重力,所以X值就是9.8 m/s^2, Y值跟Z值都是0 m/s^2,
所以如果從平板螢幕的四個角落用手指捏著,讓平板自然垂落,這時X軸跟Y軸自然受到重力在這兩個方向的分量, X跟Y的值都小於9.8 m/s^2, Z軸因為沒受到任何重力,所以Z值為0 m/s^2.
這邊再附上寫程式去測平板上有哪些sensor的實測畫面:
所有程式碼下載連結:
https://drive.google.com/file/d/0B6EVEd5P2B9cekJiWlZEblBqc2M/view?usp=sharing