C# で小さな Windows Phone アプリケーションを開発しています。このアプリは、加速度データ、GPS 位置情報、コンパス データを記録しています。
加速度データを取得するためのコードは次のとおりです。
void accelerometer_ReadingChanged(object sender, AccelerometerReadingEventArgs e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => MyReadingChanged(e));
}
void MyReadingChanged(AccelerometerReadingEventArgs e)
{
if (accelerometer != null)
{
xdata = e.X.ToString("0.000");
ydata = e.Y.ToString("0.000");
zdata = e.Z.ToString("0.000");
}
}
その後、別のコードがデータを MySQL-Database に保存します...
私のアプリは 1 秒あたり 8 つの値を取得しています。そこで、データを使用してセンチメートル [cm] 単位で振幅 (高さ) を計算したいと思います。通常、加速度データを使用して振幅を計算する式は次のとおりです。
s = 0,5 * a * t^2 (+ s0)
s: メートル単位の距離 - t: 秒単位の時間 - a: 加速度 im m/s^2
それを使って振幅を計算しようとしましたが、うまくいきません。間違った値しかありませんでした。
だから私の質問:
加速度計からの特定の出力を持つユニットまたはフォーマットはどれですか? 本当にメートル/秒^2 [m/s^2] ですか? そうでない場合は、適切な単位、せいぜい完全な式/計算方法を送っていただければ幸いです. 保存されたデータは完全に正しいので、数式にいくつかの間違いがあると思います... Nokia Lumia 1520を使用しています。
私の英語力のおかげで、あなたが私の問題を理解してくれることを願っています。;)
前もって感謝します!