SONY Spresense用の6軸センサー(BOSH社製BMI270)ボードをArduino IDEで動かしてみました。
BMI270ボードのSpresense Main boardへの取り付け方法
使用した機器
Spresense Main board
BMI270 Add-on board
プログラム開発環境
Arduino IDE
ベースにさせていただいたソースコード
TomonobuHayakawa/BMI270-Sensor-API
(いつもお世話になっている T.Hayakawa 様のGitHubリポジトリ)
上記のGitHubから Arduino IDE用のソースコードと必要なファイルをダウンロードします。
(丸ごとクローンしてローカルでコピーした方が早いかも)
必要なファイル
BMI270_Arduino_example/BMI270_Arduino_example.ino
bmi2.c
bmi2.h
bmi270.c
bmi270.h
bmi2_defs.h
この6個のファイルをArduino IDEの作業フォルダーに BMI270_Arduino_example フォルダーを作ってその中に入れます。
BMI270_Arduino_example.ino をダブルクリックすると Arduino IDE が起動して6個のファイルが開かれます。
エラー無くコンパイル出来るはずです。
なお、BMI270のI2Cアドレスは、ディフォルトのままであればソースの変更は必要ありませんが
JP1をショートしている場合は BMI270_Arduino_example.ino の64行目を
bmi2.dev_id = BMI2_I2C_PRIM_ADDR;
に変更してください。
実行結果
プログラムが起動したらなんでも良いので1文字送信してください、計測が始まり、
傾けたり、振ったりしたらデーが変化します。
ライブラリとしてインクルード
TomonobuHayakawa/BMI270-Sensor-APIはライブラリとして Arduino IDE に取り込むことが出来ました。
ライブラリとしてインクルードすると、もっと簡単に扱うことが出来ます。
メニューのスケッチからライブラリをインクルード ⇒ .ZIP形式のライブラリをインストールをクリックします。
ダウンロードしたBMI270-Sensor-API-master.zipを選択します。
ライブらラリが正しくインクルードされたら以下のメッセージが表示されます。
ファイルエクスプローラーで確認すると Arduino/librariesフォルダーの中に BMI270-Sensor-API-masterフォルダーが出来ているのが確認出来ます。
スケッチ例の中にBMI270_Arduino_exampleが有るのでこれを開いてください。
最後に
半導体不足の影響を受けて加速度センサー類の入手が難しくなっていて、このBMI270もやっと入手できました。
この記事はArduino IDEを使ったやり方について書きましたが、
Spresense SDK を使われる場合は以下の記事を参考にしてください。
SONY Spresense用 6軸IMU BMI270センサーボードをSPRESENSE SDKで制御してみました