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で制御する場合、特に、ジャンパ線をつなぐなどは不要です。
●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を選択します。
実行中の様子です。