見出し画像

Spresenseで3軸加速度・3軸ジャイロセンサの検証

SPRESENSE用アドオンボードを購入(秋葉原で2,000円弱)
・BMI160(3軸加速度・3軸ジャイロ)
・BMP280(気圧・温度センサ)
の2つのセンサが搭載されています。

スイッチサイエンス製 SPRESENSE用アドオンボード

かなり小さいです。(1円玉と比較)
基盤の中央より少ししたに2つ箱があります。
左の黒い箱が、BMI160(3軸加速度・3軸ジャイロ)
右の銀の箱が、BMP280(気圧・温度センサ)だと思います。(たぶん)
今回は、黒い箱の方(BMI160)を使って検証します。

事前準備

まずは、この基盤をSpresenseメインボードへ取付
カメラ用コネクタの手前に取り付けます。

センサ取付後のSpresenseメインボード

次に、センサーを制御するためのBMI160-Arduino のライブラリをIDEへインストールします。

動作検証

先日、導入したSpresense Arduino LibraryにBMI160で使えそうなサンプルスケッチが付いていたので、コンパイルしてブートローダーへインストール、
COMポートからあがってくる情報をIDEでモニタリングしました。

シリアルモニタ

ソースをみると、このサンプルスケッチは、以下の構造体の情報をそのままダンプしているシンプルなものでした。

StepCounterStepInfo Struct Reference

BMI160@物理センサと、ソニー製行動認識アルゴリズムStep Counter (AESM)@論理センサが連動して動作しているそうです。
このAESMで機械学習を用いた行動認識を行い、その認識結果がこの構造体に出力されます。

構造体の名前からも想像がつきますが、この情報を活用すれば、オリジナルの万歩計がつくれることが分かりました。

<ご参考:各属性の説明(和訳)>

◆ tempo
入力加速度データから算出した歩行・ジョギングのテンポを示します。単位は[Hz]です。

◆ stride
入力加速度データから計算された歩幅を示します。単位は[cm]です。

◆ speed
入力された加速度データから計算された歩行/ジョギングの速度を示します。単位は[m / s]です。

◆ distance
入力された加速度データから計算された累積移動距離を示します。単位は[m]です。

◆ step
入力された加速度データから計算されたステップ数を示します。単位は[ステップ]です。

◆ motion_type
入力された加速度データから計算された歩行タイプを示します。

◆ time_stamp
使用した加速度センサーデータの最新のタイムスタンプを示します。

この記事が気に入ったらサポートをしてみませんか?