Arduino で Adafruit 9-DOF を使用する方法: 完全ガイド

  • 9-DOF センサーは、加速度計、磁力計、ジャイロスコープを単一チップ上で提供し、3D の動きを検出します。
  • I2C と SPI 接続の両方をサポートしており、Arduino に特定のライブラリがインストールされている必要があります。
  • センサーの構成と使用方法はモデルによって異なりますが、正確な方向と回転の情報を共有することは共通の機能です。

アダフルーツ 9-dof

9 自由度 (9-DOF) センサーを Arduino プロジェクトに統合したい場合は、ここが適切な場所です。これらのデバイスは、9 次元空間における方向、加速度、回転を測定するのに非常に役立ちます。この記事では、Adafruit XNUMX-DOFの使い方やArduinoとの接続・設定などを徹底解説していきます。

9-DOF センサーは、加速度計、磁力計、ジャイロスコープの 9 つの異なるタイプのセンサーを組み合わせています。そのため、方向や動きを正確に追跡するために不可欠なツールとなります。これらの手順に従って、Adafruit XNUMX-DOF センサーを Arduino で迅速かつ効率的に使用し始めることができます。

9 自由度 (9-DOF) センサーとは何ですか?

9-DOF センサーには XNUMX つのセンサーが XNUMX つにまとめられています。 加速度計磁力計ジャイロスコープ。加速度計は 3 軸の加速度を測定し、重力に対する方向を検出できるようにします。磁力計は磁場を検出し、磁北の方向を決定するのに役立ちます。最後に、ジャイロスコープは角度回転を測定します。

これら 3 つのセンサーを組み合わせることで、 動きの三次元認識 ロボット、ドローン、ウェアラブル デバイスなどのアプリケーションに最適です。

9-DOF センサーを Arduino に接続する

センサーを入手したら、次のステップはそれを Arduino ボードに接続することです。を使用する予定がある場合は、 I2Cインターフェース、これが最も一般的ですが、Adafruit 9-DOF センサーのデフォルトの I2C アドレスは 0x69 です。ただし、アドレス ピンを GND に接続することで、0x68 に変更することもできます。

I2C経由での接続

接続手順は簡単です。 STEMMA QT コネクタまたは 無はんだブレッドボード、電源ピンとデータピンを一致させるだけです。 STEMMA コネクタを使用する場合は、I2C ピン (SCL および SDA) に接続するだけで済みます。

SPI で 9-DOF センサーを使用する

SPI インターフェイスを使用する場合は、接続用の CS、SCK、MOSI、および MISO ピンを有効にし、コードで設定を指定する必要があります。

Arduinoに必要なライブラリをインストールする

Arduino IDE、データ型、プログラミング

Adafruit センサーが Arduino で適切に動作するには、いくつかのライブラリをインストールする必要があります。まず必要なのは、 Adafruit ICM20X ライブラリ、ICM20948 および ICM20649 センサーと互換性があります。インストールするには、 図書館マネージャー Arduino IDE で「Adafruit ICM20X」を検索します。

これに加えて、次のものもインストールする必要があります。 Adafruit BusIO ライブラリAdafruit 統合センサー ライブラリ.

Adafruit 9-DOF センサーのコード例

すべてを接続し、必要なライブラリをインストールしたら、サンプルの 1 つをロードして、すべてが正常に動作することを確認できます。に行く ファイル -> 例 -> Adafruit ICM20X センサーと互換性のあるテストを選択します。

この例では、次のような値が出力されます。 temperatura、軸上の値も同様です X、Y、Z ジャイロスコープ、加速度計、磁力計の。 115200 ボーに設定されたシリアル モニターで結果を確認できます。

ICM20948を使用した基本的な測定例

#include <Adafruit_ICM20X.h>#include <Adafruit_ICM20948.h>#include <Adafruit_Sensor.h>#include <Wire.h>

ライブラリの例で提供されているコードを使用すると、さまざまなセンサーからイベントを取得できます。ただし、より高度なプロジェクトの場合は、必要に応じて加速度計とジャイロスコープの両方の感度範囲設定を変更できます。

BNO085 センサーでの回転レポートの仕組み

ICM20948 センサーに加えて、次のような 9-DOF センサーを使用している場合 BNO085、これにより、 ローテーションレポート、複雑な動きにおける向きに関するより詳細なデータを取得するために重要です。

覚えておくべき重要な点は、このセンサーにはマイクロコントローラーが必要であるということです。 より大きなメモリ容量、SAMD21、SAMD51、nRF52など。 Uno や Leonardo などのより基本的な Arduino ボードの使用は、十分な RAM がないためお勧めできません。

さらに、BNO085 は、すべてのシステムでサポートされているわけではない特別な I2C 実装を採用しています。たとえば、このセンサーは次のようなチップでは正しく動作しません。 ESP32 または I2C マルチプレクサを使用します。ただし、次のようなプラットフォームではその動作は非常に信頼できます。 RP2040、STM32F4、または SAMD51.

LSM9DS1 ブレークアウトの設計と機能

LSM9DS9 1-DOF センサーは、他の同様のセンサーと比較して手頃な価格で、方向と動きの追跡に最適です。プロジェクトに必要な精度レベルを調整できる複数の測定範囲が統合されています。

このセンサーには、 I2Cインターフェース y SPI、さまざまな開発プラットフォームに多用途に使用できます。 3 ~ 5V の電圧を提供し、I2C ピンを Arduino に簡単に接続できます。 SCL y SDA.

LSM9DS0との違い

主な違いの 1 つは、 加速度計の範囲、LSM9DS1 では±2、±4、±8、±16 g ですが、LSM9DS0 などの他のセンサーには ±6 g の追加範囲が含まれます。

Adafruit 9-DOF センサーで何ができますか?

このタイプのセンサーは、次のようなプロジェクトの開発に最適です。 自律型ロボット、ナビゲーション システムおよびジェスチャ ベースのデバイス。提供される加速度、回転、方向の情報を利用して、複雑な動きを正確に追跡するデバイスを構築できます。


優先ソースとして追加