STEMMAで広がるArduinoの世界⑲Step1 3軸加速度センサLIS331HH
STMicroelectronicsの3軸加速度センサLIS331HHは、3軸それぞれで±24gまでを測定できます。
IC自体が3.3V電源で使うデバイスのため、5V->3.3VのレギュレータとI2Cの信号レベル変換回路が入っています。Arduino UNOのような5Vで動作するボードでも正しく動作します。SDA/SCL信号のプルアップ抵抗は10kΩが入っています。
●Adafruitのブレークアウト・ボード
STEMMA QT(JST SH 4ピン)コネクタは2か所に装着されていて、どちらにつないでもかまいません。このコネクタを使ってI2Cで制御する場合、特に、ジャンパ線をつなぐなどは不要です。割り込み出力、SPI用のピンが用意されています。
Adafruit H3LIS331 and LIS331 High-g 3-Axis Accelerometers
●3軸加速度センサLIS331のおもなスペック
- 動作電圧 3.3/5V
- 測定範囲 ±6g/±12g/±24gの選択可能なスケーリング
- インターフェース I2C(最大400kHz)、SPI(最大10MHz)
- I2Cアドレス デフォルト0x18、裏面のジャンパで0x19に設定できる
●環境
- Arduino UNO R3
- Arduino IDE 1.8.13
- Windows10 20H2
●接続
電源は5Vを使いました。Arduino UNO R3のI2Cは、専用のSCLとSDA端子がありますが、SCLはA5に、SDAはA4につながっています。どちら側につないでもかまいません。白色のリード線は見えないので、黄色で配線図を描きました。
●スケッチ
利用手順は、Adafruit H3LIS331 and LIS331 High-g 3-Axis Accelerometers Overviewに書かれています。
ライブラリを導入します。メニューのツールから、「ライブラリを管理」を選び、検索欄にLIS331を入力します。見つけてきたAdafruit LIS331のインストールをクリックします。
同時にサンプル・スケッチも導入されます。
メニューのファイルからサンプルの入っているスケッチ例を選択します。そこから、h3lis331_accel_demoを選択します。
実行中の様子です。
h3lis331_accel_plotterを読み込んで実行します。
h3lis331_filter_demoです。z軸だけの描画です。enableHighPassFilter(true, LIS331_HPF_0_0025_ODR)という関数を呼んでいます。
●落下実験
Loop()の最後にあるdelayを1000から1へ変更したh3lis331_accel_demoを動かし、シリアルモニタの「出力をクリア」をクリックしたと同時に、床から1m上から手を放して落下させました。
Y軸とZ軸に0.00が現れています。
h3lis331_accel_plotterを動かしています。床から1m上から落下させました。
3軸とも0になる時間帯があり、その直後に床にぶつかって大きな加速度が生じています。
自由落下時、9.8m/s2になることが知られています。これはSI単位系で、加速度センサではMKS重力単位のG(ジー)が使われます。1[g] = 9.8[m/s2]の関係です。