Skip to main content

Grove - IMU 10DOF

note

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

pir

Grove - IMU 10DOF は、Grove - IMU 9DOF と Grove - Barometer Sensor (BMP180) を組み合わせたモジュールです。このモジュールは MPU-9250 と BMP180 を基盤としており、MPU-9250 は 3 軸ジャイロスコープ、3 軸加速度計、3 軸磁力計、デジタルモーションプロセッサ (DMP) を組み合わせた 9 軸モーショントラッキングデバイスです。一方、BMP180 は高精度で超低消費電力のデジタル圧力センサーで、消費者向けアプリケーションに適しています。このモジュールは、スマートフォン、タブレット、ウェアラブルデバイスのアプリケーションに非常に適しています。

pir

仕様

  • I2C インターフェース
  • MPU-9250 の I2C アドレス選択可能
  • 低消費電力
  • すべてのレジスタとの通信のための 400kHz 高速モード I2C
  • ユーザーがプログラム可能なフルスケール範囲(±250、±500、±1000、±2000°/秒)を持つデジタル出力 X、Y、Z 軸角速度センサー(ジャイロスコープ)
  • プログラム可能なフルスケール範囲(±2g、±4g、±8g、±16g)を持つデジタル出力 3 軸加速度計
  • フルスケール範囲(±4800uT)を持つデジタル出力磁力計
  • 範囲 300 ~ 1100hPa(海抜に関連して +9000m ~ -500m)のデジタル出力気圧計
  • 寸法: 25.43mm x 20.35mm
  • I2C アドレス: デフォルト 0x68、ハードウェア概要を参照して 0x69 に変更可能
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

  • 1:MPU-9250 I2C アドレス選択パッド。デフォルトでは ab が接続されており、アドレスは 0x68 です。bc を接続するとアドレスは 0x69 になります。
  • 2:MPU-9250 割り込みピン。割り込みは設定する必要があります。利用可能な割り込みソースは以下の通りです:モーション検出、FIFO オーバーフロー、データ準備完了、I2C マスターエラー。

はじめに

ここでは、このセンサーの使用方法を示す例を提供します。

Arduino を使ってみる

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Seeeduino V4.2ベースシールドGrove-IMU_10DOF

pir

pir

pir

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

pir

note
Grove Base Shield がない場合は、以下のようにこのモジュールを直接 Seeeduino に接続することもできます。
seeeduino_v4Grove-IMU_10DOF
5VVCC
GNDGND
SDASDA
SCLSCL

ソフトウェア

ステップ 1. ライブラリ を Github からダウンロードします。

ステップ 2. ライブラリのインストール方法 を参照して、Arduino 用のライブラリをインストールします。

ステップ 3. 次のパスからコードを直接開きます:File -> Example -> IMU_10DOF_Test。

以下はコードの一部です:


void setup()
{
// I2C バスに参加 (I2Cdev ライブラリはこれを自動的に行いません)
Wire.begin();

// シリアル通信を初期化
// (38400 は 8MHz と 16MHz の両方で動作するため選択されていますが、
// プロジェクトに応じて変更可能です)
Serial.begin(38400);

// デバイスを初期化
Serial.println("I2C デバイスを初期化中...");
accelgyro.initialize();
Barometer.init();

// 接続を確認
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 のジャイロ (度/秒):");
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(" ");

temperature = Barometer.bmp180GetTemperature(Barometer.bmp180ReadUT()); // 温度を取得します。bmp180ReadUT を最初に呼び出す必要があります
pressure = Barometer.bmp180GetPressure(Barometer.bmp180ReadUP());// 温度を取得します
altitude = Barometer.calcAltitude(pressure); // 補正されていない計算 - メートル単位
atm = pressure / 101325;

Serial.print("温度: ");
Serial.print(temperature, 2); // 小数点以下 2 桁を表示
Serial.println("度 C");

Serial.print("圧力: ");
Serial.print(pressure, 0); // 整数のみを表示
Serial.println(" Pa");

Serial.print("相対大気圧: ");
Serial.println(atm, 4); // 小数点以下 4 桁を表示

Serial.print("高度: ");
Serial.print(altitude, 2); // 小数点以下 2 桁を表示
Serial.println(" m");

Serial.println();
delay(1000);

}

ステップ 4. コードをアップロードします。正しいボードタイプと COM ポートを選択してください。

以下のように表示されます:

pir

参考資料

  • 軸の方向 以下の図は、感度軸の方向と回転の極性を示しています。

    pir

Grove - IMU 10DOF v1.0

Grove - IMU 10DOF v1.1

リソース

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

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

Loading Comments...