logo
Published on

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

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

BMP388は、気圧と温度を同時に測定できる高精度なセンサーモジュールです。この記事では、ArduinoとBMP388を接続し、気圧と温度のデータを取得して制御する方法について解説します。

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

1. BMP388センサーの概要

BMP388は、気圧と温度のデジタルセンサーで、I2CまたはSPI通信を介してデータを取得します。非常に高い測定精度を持ち、屋内外の気象観測や、高度の測定に利用されます。

2. BMP388の接続

BMP388をArduinoに接続するためには、通常、以下のような配線が必要です。

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

これらを対応するArduinoのピンに接続します。また、必要に応じてプルアップ抵抗を使用することもあります。

3. Arduinoコードの作成

BMP388を制御するためのArduinoコードを作成します。以下は、BMP388が接続された場合の基本的な例です。

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP3XX.h>

Adafruit_BMP3XX bmp;

void setup() {
  Serial.begin(9600);
  
  if (!bmp.begin()) {
    Serial.println("Could not find a valid BMP3 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  sensors_event_t event;
  bmp.getEvent(&event);

  if (event.pressure) {
    Serial.print("Pressure: ");
    Serial.print(event.pressure);
    Serial.println(" hPa");
  } else {
    Serial.println("Error reading pressure!");
  }

  if (event.temperature) {
    Serial.print("Temperature: ");
    Serial.print(event.temperature);
    Serial.println(" °C");
  } else {
    Serial.println("Error reading temperature!");
  }

  delay(1000);
}

このコードはBMP388から気圧と温度のデータを読み取り、シリアルモニタに表示する基本的な例です。

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

コードをArduinoにアップロードし、シリアルモニタを開いてBMP388からのデータを確認します。正しく接続されていれば、気圧と温度の情報が表示されるはずです。

これで、ArduinoにBMP388を接続して気圧と温度を取得し、制御するための基本的な手順が完了しました。このデータを利用して、気象観測や高度計のようなプロジェクトを構築することができます。