ラズパイでジャイロ、加速度センサーBMX055の使い方



この記事ではラズパイでジャイロセンサーおよび加速度センサーを使う方法をお伝えする。
使ったセンサーはBOSCHのBMX055で、ジャイロと加速度に加え磁気までをそれぞれxyzの3軸で測ることができる。
またこのセンサーはI2C通信でデータをやりとりする。

ラズパイで扱いやすいようにパッケージされたものが、秋月電子で購入できるのでそれを使用した。

9軸センサモジュール(BMX055)

» BMX055使用9軸センサーモジュール: センサ一般 秋月電子通商-電子部品・ネット通販


なお、本記事ではRaspberry Pi zeroを使用した。

Raspberry Pi Zero W - ヘッダー ハンダ付け済み - ラズベリー・パイ ゼロ W ワイヤレス

Amazon





ラズパイとBMX055の配線


秋月電子のBMX055センサモジュールは、ジャンパーピンの設定があるため半田付け作業をしておく。
センサーの電源は3.3Vを使用し、ラズパイのGPIOの電圧は3.3Vとなるので、JP7のみを半田付けしてショートさせておいた。

それではラズパイにBMX055を配線していく。



BMX055ピン番号役割ラズパイ接続先ラズパイ物理ピン
1GNDGND6番
2SDAGPIO23番
3SCLGPIO35番
43V3+3.3V1番
5VCCIO+3.3V1番
6VCC+3.3V1番

I2Cの設定方法はこちらの記事で書いたので、ここでは省略する。
» はじめてのI2C通信【ラズパイ/ADコンバータMCP3425】


配線が完了したら次のコマンドを実行してアドレスが表示されるか確認しよう。
$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- 13 -- -- -- -- -- 19 -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- 69 -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         


3つのアドレスが表示されるはずだ。
それぞれ次のようにセンサーが対応している。

センサーアドレス
加速度0x19
ジャイロ0x69
磁気0x13




加速度センサーの方向





ジャイロセンサーと加速度センサーの違い

ジャイロセンサーは角速度を測ることのできるセンサーである。

角速度とはかんたんに言えば、物体が回転しているスピードのことだ。
直線的な動きはジャイロセンサーでは測れない。

一方で加速度センサーは、直線運動する物体の加速度を測ることのできるセンサーである。



Pythonで動作確認


ここまで準備できたら、とりあえずジャイロと加速度の値を読み取れるか試してみよう。

次のようなプログラムで動作確認してみた。



センサーを動かすと値が変化する。
$ python bmx055.py 
Accl -> x:10, y:-290, z: 969
Gyro -> x:217, y:94, z: -314
Accl -> x:29, y:-286, z: 1017
Gyro -> x:1710, y:117, z: -64
Accl -> x:15, y:-280, z: 969
Gyro -> x:3480, y:320, z: -582
Accl -> x:23, y:-260, z: 1010
Gyro -> x:3054, y:247, z: -341




あなたにおすすめ