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

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

 LSM303AGRは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で制御する場合、特に、ジャンパ線をつなぐなどは不要です。

  LSM303AGR

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

  データシート

  • 動作電圧 2.16~3.6V
  • 加速度測定範囲 ±2、±4、±8、±16g
  • 地磁気(磁気) 3軸 最大±50gauss
  • インターフェース I2C(最大3.4MHz)、SPI(最大10MHz)
  • I2Cアドレス デフォルト0x19と0x1e

環境

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

接続

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

スケッチ

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

 More infoでとんだページがadafruit/Adafruit_LSM303_Accelです。このGitHubにはLSM303AGRとLSM303DLHに対応していると書かれています。

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

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

 実行中の様子です。

前へ

ESP32活用② アナログ入力(2)アナログ入力の様子を調べる

次へ

STEMMAで広がるArduinoの世界㉓Step1 9軸加速度センサBNO-055