STEMMAで広がるArduinoの世界㉒Step1 6軸加速度センサLSM6DSOX

 加速度センサ単体では、衝撃などを受けたときに加速度を検知できますが、進行(x軸)方向がどちらを向いていたか、回転しているかどうかなど知ることができません。

 LSM6DSOXはSTMicroelectronicsの製品で、加速度センサにジャイロ・センサが組み合わされています。3軸+3軸で6軸です。ジャイロ・センサによって回転がわかります。

Adafruitのブレークアウト・ボード

 IC自体が3.3V電源で使うデバイスのため、5V->3.3VのレギュレータとI2Cの信号レベル変換回路が入っています。Arduino UNOのような5Vで動作するボードでも正しく動作します。SDA/SCL信号のプルアップ抵抗は10kΩが入っています。

 STEMMA QT(JST SH 4ピン)コネクタは2か所に装着されていて、どちらにつないでもかまいません。このコネクタを使ってI2Cで制御する場合、特に、ジャンパ線をつなぐなどは不要です。光学式手ぶれ補正に使用される二つの割り込み出力のピンが用意されています。

  LSM6DSOX, ISM330DHC, & LSM6DSO32 6 DoF IMUs

6軸加速度センサLSM6DSOXのおもなスペック

  データシート

  • 動作電圧 3.3/5V
  • 加速度測定範囲 ±2、±4、±8、±16g
  • ジャイロ測定範囲 フルスケール・レンジ±250、 ±500、±1000、±2000dps
  • インターフェース I2C(最大400kHz)、SPI(最大10MHz)、MIPI I3C
  • I2Cアドレス デフォルト0x6a、裏面のジャンパで0x6bに変更可(I2Cバスをスキャンすると、このアドレス以外に0x7eが見つかる)

環境

  • Arduino UNO R3
  • Arduino IDE 1.8.13
  • Windows10 20H2

接続

 電源は5Vを使いました(3.3Vでも動く)。Arduino UNO R3のI2Cは、専用のSCLとSDA端子がありますが、SCLはA5に、SDAはA4につながっています。どちら側につないでもかまいません。白色のリード線は見えないので、黄色で配線図を描きました。

スケッチ

 利用手順は、LSM6DSOX, ISM330DHC, & LSM6DSO32 6 DoF IMUs Overviewに書かれています。

 ライブラリを導入します。メニューのツールから、「ライブラリを管理」を選び、検索欄にLSM6DSを入力します。見つけてきたAdafruit LSM6DSのインストールをクリックします。

 同時にサンプル・スケッチも導入されます。

 メニューのファイルからサンプルの入っているスケッチ例を選択します。Adafruit LSM6DSから、adafruit_lsm6dsox_testを選択します。

 実行中の様子です。

  • Temperature 温度
  • Accel 加速度
  • Gyro 角速度 

前へ

STEMMAで広がるArduinoの世界㉑Step1 6軸加速度センサMPU6050

次へ

ESP32活用② アナログ入力(1)電圧と読み取りの関係をグラフ化