読者です 読者をやめる 読者になる 読者になる

wide_snow’s blog

30代の組込みエンジニア(ファーマー)による技術メモの記録

スポンサードリンク

Raspberry Pi 2でI2C (MPU-6050の制御) Python編-3 (傾き計算-1)

前回の記事で、加速度がg(重力加速度)で表示されるようになりました。

wide-snow.hatenablog.com

重力加速度が検出できるということは、重力がどの向きにかかっているかが分かります。

重力がどの向きにかかっているかがわかれば

センサがどのくらい傾いているか検出することが出来ます。

今回はこの値を使って傾きを計算するプログラムを書いていこうと思います。

 

傾き/傾斜の計算(1軸の傾斜の計算)

MPU-6050は3軸加速度センサが実装されているので

本来はX軸、Y軸、Z軸の3つを使って傾きを計算すべきなのですが

まずはもっとも簡単な1軸だけを使った傾き計算を行います。

分解能が粗くても構わないようなアプリケーションであれば

1軸だけでもなんとかなります。

ただし測定対象となる1軸(例えばX軸)以外の傾き成分があると

X軸上の加速度の大きさが減少してしまい、傾き角度の計算に

誤差が生まれてしまうので注意が必要です。

 

1軸だけ使用した傾き計算プログラム

下記のようなプログラム(mpu-6050_3.py)を作成しました。

---

---

動かしてみる

pi@raspberrypi ~ $ python mpu-6050_3.py

で実行させると

f:id:wide_snow:20150928005232p:plain

のように表示されるようになりました。

(図はZ軸にほぼ全ての重力加速度がかかっていて

X軸、Y軸は水平のときのものです)

1軸だけ傾けると、それなりに傾き角度が計算されていることが分かりました。

しかしながら、1軸だけで計算すると

誤差が大きいことも改めて分かりましたので

次回は2軸を使用して傾きを計算してみたいと思います。

参考記事)MPU-6050の接続方法やマニュアルの場所等はこちら。

wide-snow.hatenablog.com

使っているデバイスはこちら。