Grove - IMU 9DOF v2.0
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Grove - IMU 9DOF v2.0は、Grove - IMU 9DOF v1.0のアップグレード版であり、高性能な9軸モーション追跡モジュールです。このモジュールはMPU-9250をベースにしています。MPU-9250は、スマートフォン、タブレット、ウェアラブルセンサーなどの消費者向け電子機器の低消費電力、低コスト、高性能要件に対応するために設計された統合型9軸モーション追跡デバイスです。MPU-9250は、ジャイロスコープ出力をデジタル化するための3つの16ビットADC、加速度計出力をデジタル化するための3つの16ビットADC、および磁力計出力をデジタル化するための3つの16ビットADCを備えています。
仕様
- I2C/SPIインターフェース
- 補助I2C
- 低消費電力
- すべてのレジスタとの通信のための400kHz高速モードI2C
- ユーザーがプログラム可能なフルスケール範囲(±250、±500、±1000、±2000°/秒)を持つデジタル出力3軸角速度センサー(ジャイロスコープ)
- プログラム可能なフルスケール範囲(±2g、±4g、±8g、±16g)を持つデジタル出力3軸加速度計
- フルスケール測定範囲が±4800μTのデジタル出力3軸加速度計
- I2Cアドレス: 0x68
複数のI2Cデバイスを使用したい場合は、[Software I2C](https://wiki.seeedstudio.com/ja/Arduino_Software_I2C_user_guide/)を参照してください。
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。
対応プラットフォーム
Arduino | Raspberry Pi |
---|---|
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。
ハードウェア概要
① - Groveインターフェース、I2Cに接続
② - I2CまたはSPI選択パッド(デフォルトはI2C)。SPIを使用する場合、このパッドを切断
③ - アドレス選択パッド。デフォルトではbとcが接続され、アドレスは0x68。bとaを接続するとアドレスは0x69。SPIを使用する場合、このパッドをどちらか一方に切断
④ - SPIインターフェース
⑤ - 補助I2Cマスターシリアルデータ
⑥ - 補助I2Cマスターシリアルクロック
⑦ - 割り込みデジタル出力
はじめに
Arduinoで遊ぶ
ハードウェア
- ステップ1. 以下のアイテムを準備してください:
Seeeduino V4.2 | Base Shield | Grove-IMU_9DOF_v2.0 |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ2. Grove-IMU_9DOF_v2.0をGrove-Base ShieldのI2Cポートに接続します。
- ステップ3. Grove - Base ShieldをSeeeduinoに差し込みます。
- ステップ4. USBケーブルを使用してSeeeduinoをPCに接続します。
Grove Base Shieldがない場合でも、以下のようにこのモジュールをSeeeduinoに直接接続することができます。
Seeeduino_v4 | Grove-IMU_9DOF_v2.0 |
---|---|
5V | VCC |
GND | GND |
SDA | SDA |
SCL | SCL |
ソフトウェア
ステップ1. ライブラリをGithubからダウンロードします。
ステップ2. Arduinoライブラリのインストール方法を参照して、Arduino用のライブラリをインストールします。
ステップ3. 新しいArduinoスケッチを作成し、以下のコードを貼り付けるか、次のパスから直接コードを開きます:File -> Example -> IMU_9DOF_Demo_Compass_Calibrated -> IMU_9DOF_Demo_Compass_Calibrated。
以下はコードの主要部分です:
void setup() {
// I2Cバスに接続(I2Cdevライブラリはこれを自動で行いません)
Wire.begin();
// シリアル通信を初期化
// (38400は8MHzでも16MHzでも動作するため選択されていますが、プロジェクトに応じて変更可能)
Serial.begin(38400);
// デバイスを初期化
Serial.println("I2Cデバイスを初期化中...");
accelgyro.initialize();
// 接続を確認
Serial.println("デバイス接続をテスト中...");
Serial.println(accelgyro.testConnection() ? "MPU9250接続成功" : "MPU9250接続失敗");
delay(1000);
Serial.println(" ");
// Mxyz_init_calibrated();
}
void loop()
{
getAccel_Data();
getGyro_Data();
getCompassDate_calibrated(); // コンパスデータはここでキャリブレーションされています
getHeading(); // この関数を使用する前に 'getCompassDate_calibrated()' を実行してキャリブレーション済みデータを取得し、正しい角度を得る必要があります
getTiltHeading();
Serial.println("キャリブレーションパラメータ: ");
Serial.print(mx_centre);
Serial.print(" ");
Serial.print(my_centre);
Serial.print(" ");
Serial.println(mz_centre);
Serial.println(" ");
Serial.println("X, Y, Zの加速度(g):");
Serial.print(Axyz[0]);
Serial.print(",");
Serial.print(Axyz[1]);
Serial.print(",");
Serial.println(Axyz[2]);
Serial.println("X, Y, Zのジャイロ(degress/s):");
Serial.print(Gxyz[0]);
Serial.print(",");
Serial.print(Gxyz[1]);
Serial.print(",");
Serial.println(Gxyz[2]);
Serial.println("X, Y, Zのコンパス値:");
Serial.print(Mxyz[0]);
Serial.print(",");
Serial.print(Mxyz[1]);
Serial.print(",");
Serial.println(Mxyz[2]);
Serial.println("磁北とX軸の間の時計回りの角度:");
Serial.print(heading);
Serial.println(" ");
Serial.println("磁北と水平面上の正のX軸の投影との間の時計回りの角度:");
Serial.println(tiltheading);
Serial.println(" ");
Serial.println(" ");
Serial.println(" ");
delay(300);
}
Grove Base Shieldがない場合でも、このモジュールをSeeeduino LoRaWANに直接接続できますが、以下の画像のように3行のコードを追加する必要があります。
ステップ4. コードをアップロードした後、以下のように表示されます:
静止状態では、z軸の出力値は約0.98gです。これを参考にしてセンサーが正常に動作しているかをテストできます。
参考資料
軸の方向
以下の図は、加速度計とジャイロスコープの感度軸の方向および回転の極性を示しています。図中のピン1識別子(•)に注意してください。
- 加速度計およびジャイロスコープの感度軸の方向と回転の極性
- コンパスの感度軸の方向
回路図オンラインビューア
リソース
- [Eagle&PDF] Grove - IMU 9DOF v2.0 Eagle ファイル
- [Library] Grove - IMU 9DOF v2.0 ライブラリ
- [PDF] MPU-9250 データシート
- [PDF] MPU-9250 レジスタマップ
プロジェクト
LinkIt ONE を使用した MPU9150 の機能の速度テスト:
このプロジェクトは、MPU9150 の標準機能の実行にかかる時間(ミリ秒単位)を測定することを目的として設定されました。
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なるニーズや好みに応じた複数のコミュニケーションチャネルをご用意しています。