Skip to main content

Grove - IMU 9DOF v2.0

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

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を備えています。

pir

仕様

  • I2C/SPIインターフェース
  • 補助I2C
  • 低消費電力
  • すべてのレジスタとの通信のための400kHz高速モードI2C
  • ユーザーがプログラム可能なフルスケール範囲(±250、±500、±1000、±2000°/秒)を持つデジタル出力3軸角速度センサー(ジャイロスコープ)
  • プログラム可能なフルスケール範囲(±2g、±4g、±8g、±16g)を持つデジタル出力3軸加速度計
  • フルスケール測定範囲が±4800μTのデジタル出力3軸加速度計
  • I2Cアドレス: 0x68
note
複数のI2Cデバイスを使用したい場合は、[Software I2C](https://wiki.seeedstudio.com/ja/Arduino_Software_I2C_user_guide/)を参照してください。
tip
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。

対応プラットフォーム

ArduinoRaspberry Pi

pir

pir

caution
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

ハードウェア概要

pir

pir

① - Groveインターフェース、I2Cに接続

② - I2CまたはSPI選択パッド(デフォルトはI2C)。SPIを使用する場合、このパッドを切断

③ - アドレス選択パッド。デフォルトではbとcが接続され、アドレスは0x68。bとaを接続するとアドレスは0x69。SPIを使用する場合、このパッドをどちらか一方に切断

④ - SPIインターフェース

⑤ - 補助I2Cマスターシリアルデータ

⑥ - 補助I2Cマスターシリアルクロック

⑦ - 割り込みデジタル出力

はじめに

Arduinoで遊ぶ

ハードウェア

  • ステップ1. 以下のアイテムを準備してください:
Seeeduino V4.2Base ShieldGrove-IMU_9DOF_v2.0

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ2. Grove-IMU_9DOF_v2.0をGrove-Base ShieldのI2Cポートに接続します。
  • ステップ3. Grove - Base ShieldをSeeeduinoに差し込みます。
  • ステップ4. USBケーブルを使用してSeeeduinoをPCに接続します。

pir

note

Grove Base Shieldがない場合でも、以下のようにこのモジュールをSeeeduinoに直接接続することができます。

Seeeduino_v4Grove-IMU_9DOF_v2.0
5VVCC
GNDGND
SDASDA
SCLSCL

ソフトウェア

ステップ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);
}
note

Grove Base Shieldがない場合でも、このモジュールをSeeeduino LoRaWANに直接接続できますが、以下の画像のように3行のコードを追加する必要があります。

pir

ステップ4. コードをアップロードした後、以下のように表示されます:

pir

静止状態では、z軸の出力値は約0.98gです。これを参考にしてセンサーが正常に動作しているかをテストできます。

参考資料

軸の方向

以下の図は、加速度計とジャイロスコープの感度軸の方向および回転の極性を示しています。図中のピン1識別子(•)に注意してください。

  • 加速度計およびジャイロスコープの感度軸の方向と回転の極性

pir

  • コンパスの感度軸の方向

pir

回路図オンラインビューア

リソース

プロジェクト

LinkIt ONE を使用した MPU9150 の機能の速度テスト:
このプロジェクトは、MPU9150 の標準機能の実行にかかる時間(ミリ秒単位)を測定することを目的として設定されました。

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なるニーズや好みに応じた複数のコミュニケーションチャネルをご用意しています。

Loading Comments...