- Published on
Arduinoに「AK8963」を接続し制御する
1337文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
「AK8963」は、三軸磁気センサーモジュールであり、地磁気の計測に利用されます。この記事では、ArduinoとAK8963を接続し、制御する手順について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. AK8963磁気センサーモジュールの概要
AK8963は、地磁気を計測するためのセンサーモジュールで、三軸のデータを提供します。このモジュールは、小型でI2C通信プロトコルを使用してデータを送受信します。Arduinoなどのマイコンボードと組み合わせて使用することが一般的です。
2. AK8963の接続
AK8963モジュールは、通常、VCC、GND、SCL、SDAの4本のピンで構成されています。それぞれのピンをArduinoに接続します。
- VCC: 5Vの電源
- GND: 接地
- SCL: I2C通信のクロックライン
- SDA: I2C通信のデータライン
3. Arduinoライブラリの導入
ArduinoでAK8963を利用するには、専用のライブラリを導入する必要があります。ライブラリマネージャーから「AK8963」を検索し、インストールします。
4. Arduinoコードの作成
AK8963を制御するArduinoコードを作成します。以下は、AK8963が接続された場合に地磁気データをシリアルモニターに表示する簡単な例です。
#include <Wire.h>
#include <AK8963.h>
AK8963 ak8963;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!ak8963.init()) {
Serial.println("AK8963 initialization failed!");
while (1);
}
}
void loop() {
ak8963.update();
float magX = ak8963.getMagX();
float magY = ak8963.getMagY();
float magZ = ak8963.getMagZ();
Serial.print("Magnetic Field (uT) - X: ");
Serial.print(magX);
Serial.print(", Y: ");
Serial.print(magY);
Serial.print(", Z: ");
Serial.println(magZ);
delay(1000);
}
このコードは、AK8963から取得した地磁気データをシリアルモニターに表示するものです。必要に応じて、取得したデータを用いて様々なアプリケーションを開発することができます。
5. コードのアップロードと動作確認
最後に、書いたコードをArduinoにアップロードし、シリアルモニターを確認してAK8963から正しい地磁気データが得られるか確認します。アップロードが成功したら、AK8963の制御が正しく行われているはずです。
これで、ArduinoにAK8963を接続し、基本的な制御手順を理解する準備が整いました。 AK8963のデータを活用して、様々なプロジェクトやセンシングアプリケーションを開発することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚