3

シェイク認識機能を実装する必要があり、そのためにデバイスの加速度計を使用しています。ただし、センサーから取得した値を確認すると、デバイスごとに大きく異なるようです。たとえば、あるデバイスでは (いくつかの計算の後) 力として 0 ~ 8 の値の範囲を取得し、他のデバイスでは 0 ~ 4 の値の範囲を取得します。

したがって、それらは非常に異なる範囲を持っているようです。

これらの範囲を等しくするためにできることはありますか? または、かなり強い揺れが何であるかを何らかの方法で計算するために使用できる変数がいくつかありますか?

4

3 に答える 3

2

仕様によると、加速度計は を返す必要がありMeasures the acceleration force in m/s2ます。したがって、校正する必要があります。ただし、確認できることの1つは、SensorクラスのgetMaximumRange()およびgetResolution()

于 2012-11-14T15:45:34.853 に答える
0

センサーを校正する必要があります。

どうやらそうではありません。異なる方向(つまり、x、y、z)でのゲインに大きな違いがない場合は、加速度計ベクトルの長さ^2の突然の変化を探すだけで十分ですx^2+y^2+z^2

ゲインも大幅に異なる場合は、加速度計のキャリブレーション用のアプリを作成する以外に選択肢はありません...

ちなみに、あなたは重大な不正確さを報告する最初の人ではありません。たとえば、Androidを参照してください。加速度センサーのz値の範囲はデバイスによって異なります

于 2012-11-14T18:18:08.953 に答える
0

PCB 上のチップの物理的な配置、デバイス内での PCB の固定、およびデバイスの構造はすべて、振動入力の力に応じてさまざまな減衰効果につながる可能性があります。

ドライバーレベルで実行されるサンプリングとフィルタリングに関連する影響がセンサーデータをどのように処理するかはわかりません。

期待する値の範囲でコードを柔軟にし、適切な範囲のデバイスでテストする必要があることは明らかです。

于 2012-11-14T16:55:09.823 に答える