今回は下記のボードを使ってみました。
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軸ジャイロの値が読める
ただ、このままだと重力の影響とノイズが入りまくりなので、フィルタ処理が必要でしょうね・・・。
コメント