logo
Published on

Arduinoに「HMC5883L」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

「HMC5883L」は、三軸磁気センサーモジュールであり、地磁気を測定することができます。この記事では、ArduinoにHMC5883Lを接続し、磁気センサーからのデータを取得して制御する方法について説明します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. HMC5883Lモジュールの概要

HMC5883Lは、三軸の地磁気フィールドを計測するデジタルコンパスです。I2C通信を介してArduinoと通信し、磁気の強さや方向などのデータを提供します。このモジュールは、方位磁石や地磁気センシングに広く利用されています。

2. HMC5883Lの接続

HMC5883LをArduinoに接続するには、4つのピンがあります。

  • VCC(赤色): 3.3Vまたは5Vの電源
  • GND(茶色): 接地
  • SDA(緑色): I2Cデータライン
  • SCL(青色): I2Cクロックライン

これらのピンを対応するArduinoのピンに接続します。Arduino Unoの場合、通常A4がSDA、A5がSCLになります。

3. Arduinoライブラリの導入

Arduino IDEでHMC5883Lを利用するには、Wireライブラリが必要です。IDE内の「ツール」→「ライブラリマネージャ」からWireライブラリを検索し、インストールしてください。

4. Arduinoコードの作成

次に、Arduino IDEを開いてHMC5883Lを制御するためのコードを書きます。

#include <Wire.h>
#include <HMC5883L.h>

HMC5883L compass;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  compass.begin();
}

void loop() {
  int heading = compass.readHeading();
  Serial.print("Heading: ");
  Serial.println(heading);
  delay(1000);
}

このコードは、HMC5883Lから取得した方向データをシリアルモニターに表示するものです。適宜、データを利用してロボットの方向制御や他の応用プロジェクトを構築することができます。

5. コードのアップロードと動作確認

最後に、書いたコードをArduinoにアップロードし、シリアルモニターでHMC5883Lからのデータが正しく表示されるか確認します。

これで、ArduinoにHMC5883Lを接続し、磁気センサーデータを取得する基本的な手順が完了しました。この情報を基に、様々なアプリケーションやプロジェクトに応用していくことができます。