我假定Z軸爲-0.7,因爲軟件假定地球的引力是9.8(這在海平面上是平均的)。然而,傳感器的測量結果爲9.1,因此差異小於0.7(約減少7%)。
雖然地球的引力是變化的(見:http://en.wikipedia.org/wiki/Gravity_of_Earth),但最大變異約爲0.7%,比較山頂非常低的重力和北冰洋異常高的重力。
從維基百科頁面,我們發現方程:
gh = g * square(r/(r+h))
/* gh = gravity at h
* h = height
* r = earth's radius
* g = earth's gravity
*/
重新排列的公式得到:
h = r/sqrt(gh/g) - r
計算你的測量重力(用大括號擺弄後)我插上這給谷歌:
(radius of earth/sqrt((9.1m/(s^2))/earth gravity)) - radius of earth
而谷歌返回結果:243.012479公里
爲了便於比較,LEO衛星軌道從160km開始。所以你要麼在太空中,要麼你的Android設備沒有被校準。我猜測第二,因爲如果你在太空中,你會自由墜落,你的設備應該接近零重力而不是9.1。
至於小動作。那麼,除非你將設備完全從地面上隔離開來,否則大多數現代MEMS加速度計都足夠敏感,可以接收外面的車輛或走在房間裏的人的交通。如果你的Z軸沒有被校準,那麼如果你的其他軸也報告錯誤,我不會感到驚訝。
嗯,這可能是我得到不準確的數據的原因。你知道是否有什麼方法可以重新校準Android中的加速度計? –
不確定,我從來沒有做過Android編程。我所有使用加速度計的經驗都與爲嵌入式設備編寫固件有關。可能是一個新問題的候選人? – slebetman