Arduino Nano R4の活用 ⑬ I2C 動きセンサLSM6DSOXTR

 Arduino Nano R4に動きセンサLSM6DSOXTRを接続します。3軸デジタル加速度センサと3軸ディジタル・ジャイロ・センサが搭載された6軸モーション・センサです。加速度センサで傾きを検出し、ユーザの位置が変化したことを通知します。

  機械学習コア、有限ステート・マシンおよび高度なデジタル機能を搭載した超低消費電力の6軸モーション・センサ バッテリ駆動のIoT機器、ゲーム機、ウェアラブル機器およびパーソナル電子機器向け

環境

  • Arduino IDE;2.3.5
  • Windows11;24H2
  • Arduino Nano R4 1.5.1 PCはマザーボードのUSBポートから直接つなぐ。

LSM6DSOXTの主なスペック

  • センサの名称 LSM6DSOXTR
  • 動作電圧 1.71~3.6V
  • 消費電流 Accelerometer:170µA、 Gyroscope:0.55mA
  • 測定レンジ  ±125~±2000dps
  • 確度 Accelerometer:±20mg、Gyroscope:±1dps
  • 分解能 Accelerometer:0.061~0.488mg/LSB、Gyroscope:4.375~70mdps/LSB
  • インターフェース I2C(最大1MHz)、SPI、MIPI I3CSM

動きセンサLSM6DSOXTRのボード

 利用したLSM6DSOXTRのボードはArduinoの製品で、HS3003、VL53L4CDと同じくスイッチサイエンスから入手しました。

 Arduino Modulinシリーズの中の一つです。

  Modulino Distance

接続

 Arduino Nano R4のQWIICコネクタにつなぎます。

ライブラリの導入とサンプル例

 前回、Arduino_Modulinoライブラリを導入しました。このライブラリはArduino Modulinすべてのボードに対応しているので、そのまま利用できます。

 サンプル例は、Modulino_MovementのMovement_Basicを選びます。

 実行した様子です。

  Aはacceleration 加速度で、続く三つの値は、x,y,z軸の値です。

  Gはgyroscope ジャイロスコープで、続く三つの値は、roll、pitch、yawの値です。

シリアルプロッタを見る

 Movement_Basic.inoを実行すると、シリアルプロッタに表示が出ません。二つのセンサの一つだけを生かすように変更します。

 Print gyroscope values以下の行をコメントアウトします。
 Serial.print("A: ");もコメントアウトします。
 Serial.println(z, 3); z軸の表示をprintlnに変更します。
 
 コンパイルして実行したときのaccelerationの3軸の値です。
 

  同様に、accelerationをコメントアウトして、gyroscopeのroll、pitch、yawを表示した画面です。
 

 Google AIによると、
  • Roll(ロール): 機体(またはデバイス)がY軸(翼の方向)を中心に左右に傾く動き(横揺れ)。
  • Pitch(ピッチ): 機体がX軸(機首から尾部)を中心に上下に傾く動き(縦揺れ、機首上げ/下げ)。
  • Yaw(ヨー): 機体がZ軸(機体上部から下部)を中心に左右に首を振る動き(水平方向の回転)。 

ですが、単独でそれぞれの値を見ていても何もわかりません。3D描画ができればわかりやすいですね。

前へ

Arduino Nano R4の活用 ⑫ I2C 距離センサVL53L4CD