- Published on
Arduinoに「LSM6DS3」を接続し制御する
1640文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Arduinoを使用して様々なセンサーやデバイスを制御することは、IoTやロボット工学などの分野で一般的です。この記事では、「LSM6DS3」と呼ばれる加速度計とジャイロスコープを組み合わせたセンサーモジュールをArduinoに接続し、制御する方法について解説します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. LSM6DS3センサーモジュールの概要
LSM6DS3は、加速度計(Accelerometer)とジャイロスコープ(Gyroscope)を統合したモジュールです。これにより、デバイスの傾きや振動を検知することができます。このセンサーをArduinoに接続し、取得したデータを利用することで、様々なプロジェクトを実現することが可能です。
2. LSM6DS3の接続
LSM6DS3モジュールは通常、I2C通信を使用してデータを送受信します。接続するためには、以下のピンが存在します。
- VCC(電源): 3.3Vまたは5V
- GND(接地): GNDに接続
- SDA(データライン): ArduinoのA4ピンに接続
- SCL(クロックライン): ArduinoのA5ピンに接続
3. Arduinoコードの作成
Arduino IDEを開いて、I2C通信を扱うためのライブラリをインストールし、次に以下のような基本的なコードを作成します。
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM6DS3.h>
Adafruit_LSM6DS3 lsm6ds3;
void setup() {
Serial.begin(9600);
if (!lsm6ds3.begin()) {
Serial.println("Could not find LSM6DS3 sensor, check wiring!");
while (1);
}
}
void loop() {
sensors_event_t accel, gyro, temp;
lsm6ds3.getEvent(&accel, &gyro, &temp);
Serial.print("Accelerometer: ");
Serial.print(accel.acceleration.x);
Serial.print(" m/s^2 ");
Serial.print(accel.acceleration.y);
Serial.print(" m/s^2 ");
Serial.print(accel.acceleration.z);
Serial.println(" m/s^2 ");
Serial.print("Gyroscope: ");
Serial.print(gyro.gyro.x);
Serial.print(" rad/s ");
Serial.print(gyro.gyro.y);
Serial.print(" rad/s ");
Serial.print(gyro.gyro.z);
Serial.println(" rad/s ");
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println(" degC ");
delay(1000); // 1秒ごとにデータを更新
}
このコードは、LSM6DS3から取得した加速度、ジャイロ、温度のデータをシリアルモニターに表示するものです。
4. コードのアップロードと動作確認
Arduinoにコードをアップロードし、シリアルモニターを開いて、データが正しく表示されるか確認します。LSM6DS3が動作していれば、加速度やジャイロのデータがリアルタイムで表示されるはずです。
これで、LSM6DS3をArduinoに接続し、制御する基本的な手順が完了しました。センサーのデータを活用して、傾き検知や動きに反応するプロジェクトを進化させることができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚