[Spresense] BMP280 BMI160 搭載アドオンボードを使ってみる

Spresense

今回は下記のボードを使ってみました。

SPRESENSE用3軸加速度・3軸ジャイロ・気圧・温度センサ アドオンボード BMP280 BMI160搭載--在庫限り - スイッチサイエンス
SPRESENSE用アドオンボードです。Bosch Sensortec社BMI160(3軸加速度・3軸ジャイロ)BMP280(気圧・温度センサ)を搭載した基板です。

これ、もう Switch Science では在庫ないんですよねー・・・。↑の写真のように ELTRES ボードとの相性バッチリ (ちょうどピンが埋まる) ので、また発売してくれればいいのにと思います。

製品情報ページでの動作確認をなぞるだけで、手元でも確認できました。楽ちん。


BMP280 については下記のプログラムを実行すると値が読めました。

samplecodes/BME280 at master · SWITCHSCIENCE/samplecodes
Contribute to SWITCHSCIENCE/samplecodes development by creating an account on GitHub.

気温・気圧の他に湿度も読み取るサンプルプログラムなのですが、サンプルは BM”E”280 用でどうも BME280 は湿度センサも付いているようですね。BM”P”280 は気温・気圧のみなので、湿度は 0 で返ってきます。ちょっと高くなってもいいから BME280 を搭載してくれれば良かったのに・・・、と思いましたがそう簡単な話でもなかったのかも。


BMI160 についてはまず下記から zip でコードを落としてきて、Arduino のライブラリにインクルードします。

GitHub - hanyazou/BMI160-Arduino
Contribute to hanyazou/BMI160-Arduino development by creating an account on GitHub.

その後は下記のようなプログラムを書けば値が読み取れました。

  • BMI160.begin する。そのさい I2C_MODE を指定
  • BMI160.readAccelerometer(x, y, z) で3軸加速度の値が読める
  • BMI160.readGyro(x, y, z) で3軸ジャイロの値が読める

ただ、このままだと重力の影響とノイズが入りまくりなので、フィルタ処理が必要でしょうね・・・。

コメント

タイトルとURLをコピーしました