- Published on
Arduinoに「ADXL345」を接続し制御する
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Arduinoは様々なセンサーやモジュールと組み合わせて利用でき、その中でも加速度センサー「ADXL345」は動きや振動を検知するのに適しています。この記事では、ArduinoにADXL345を接続し、制御する方法について詳しく説明します。
1. ADXL345の概要
ADXL345は、小型で低消費電力な3軸加速度センサーであり、I2C通信を使用してデータを取得します。これにより、Arduinoと容易に接続し、動きや振動に関する情報を取得できます。
2. ADXL345の接続
ADXL345は通常、以下のピンが存在します。
- VCC: 電源(3.3Vまたは5V)
- GND: 接地
- SDA: I2Cデータライン
- SCL: I2Cクロックライン
これらのピンを対応するArduinoのピンに接続します。注意点として、ADXL345は通常3.3Vの動作ですが、一部のモジュールは5Vでも動作することがあります。動作電圧に合わせて接続してください。
3. Arduinoコードの作成
ADXL345を制御するためには、先に「Adafruit ADXL345ライブラリ」をArduino IDEに追加する必要があります。これを行うには、IDEの「スケッチ」 → 「ライブラリをインクルード」 → 「ライブラリの管理」から「Adafruit ADXL345」を検索してインストールします。
以下は、ADXL345を使用してシリアルモニターに加速度データを表示する基本的なコードの例です。
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
void setup(void) {
Serial.begin(9600);
if(!accel.begin()) {
Serial.println("Could not find a valid ADXL345 sensor, check wiring!");
while(1);
}
}
void loop(void) {
sensors_event_t event;
accel.getEvent(&event);
Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" ");
Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.println();
delay(500);
}
このコードでは、ADXL345から取得したX、Y、Z軸の加速度データをシリアルモニターに表示します。
4. コードのアップロードと動作確認
書いたコードをArduinoにアップロードし、シリアルモニターを開いてADXL345からの加速度データを確認します。Arduinoが振動や傾きに反応して適切なデータを出力すれば、接続と制御は成功しています。
これで、ArduinoにADXL345を接続し、動きや振動を検知する基本的な手順が完了しました。利用シーンに応じて、このセンサーを活用したプロジェクトを進めていくことができます。