web-dev-qa-db-ja.com

加速度計データ:どのように解釈しますか?

私は3つの加速度計のブレークアウトボードを試しています。 X軸とY軸は非常に簡単に制御できますが、Z軸は少し謎です。コード内のデータを解釈して、デバイスが空中に持ち上げられたときに出力を増やし、下げたときに出力を減らす方法を見つけようとしています。これは可能ですか?もしそうなら、どのように?誰かが私を助けになる良い参考資料に向けることができれば。

12
decoderated

加速度計の基本的な理解:(概念を明確にするためのみ)

加速度計は、多くの場合、動きによって引き起こされる加速度を測定します。しかし、彼らが静止しているとき、加速度計が感知する唯一の加速度は、重力がそれを引き下げることによるものです。

小さなバネが箱の側面からまっすぐ突き出ている箱を想像してみてください。加速度計は、重力がそれらのバネをどれだけ強く伸ばしているかを測定します。側面のバネはすべて同じ量だけ曲がっていて、下部のバネはすべて伸びていて、上部のバネはまったく伸びていません(バネがそれ自体に引き戻されているため)ので、加速度計はそれを次のように認識します。重力を感じない、または0g(重力)。ボックスを90度回転させ、上部のバネをたどると。それは今横にあり、いくらかぶら下がっていて、センサーはそれが今0.5gを感じているのを見る。もう一度90度回転させると、底に伸びて伸び、1gの感触になります。もう一度90度回転すると、0.5gの感覚で再び横になり、再び90度回転すると、上部に戻って0gの感覚になります。そこで、完全に回転させたところ、加速度計はこれを確認しました:0g-> .5g-> 1g-> .5g-> 0g。

これを見ると、他の180度は単なる鏡像であるため、加速度計は実際には180度の動きの違いしか感知できないことを意味します。では、360度の動きをどのように感知できるでしょうか。

これの秘訣は、1つの軸は180度の違いしか感知できないのに対し、別の軸も感知できるが、異なる方法で感知することです。右のグラフを見ると、X軸を中心に回転しながら検出された値を確認できます。 (xは常に同じ方向を向いているため、変化することはありません)–したがって、y値とz値を組み合わせて、Atan2と呼ばれる三角関数を使用してxを見つけることができます。この関数は、値を-180ºから180ºとして返します(ただし、ラジアンでは、したがって、それは-πからπであり、それをうまく解釈する必要があります)。

Sensed gravity during rotation around X-axis

興味がある場合は、記事全体を読む必要があります ADXL335 + Arduinoを使用したセンシングオリエンテーション 。ジャイロを加速度計と一緒に使用することにした場合、これの受け入れられた回答からいくつかの有用な情報を得るかもしれません 質問 あなたがやることになるかもしれないことです。

28
Sajib Mahmood

なんらかの文脈がなければ、これは答えるのが難しいです...

加速度計の測定値加速度

物理学では、加速度は時間の経過に伴う速度の変化率です。一次元では、加速は何かが加速または減速する速度です。

  • 正の値速度の増加を示します。
  • 負の値速度の減少を示します。
  • ゼロ値一定の速度を示します(ゼロではない場合があります)。
19
Blender

重力(地球の引力)は約9.8m/s/sの一定加速度に等しいと言えます。したがって、加速度を計算する前に、メジャーからこの値を差し引く必要があります。

1
Suzan Cioc

加速度計を活用するコードを作成しました。それはそれ自身の3つの軸のそれぞれでデバイスの回転を測定します。ゲームを作るのに最適です。加速度計は線形ではなくangular加速度を測定します。基本的には、これを使用して3次元でデバイスの向きを決定できます。オブジェクトが回転する3つの異なる方法を考えてみてください。それらのx、y、zの数は何ですか。

0
Ryan Dines