logo
Published on

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

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

「BME280」は、気温、湿度、気圧を測定できるセンサーモジュールであり、Arduinoとの組み合わせにより、気象情報を取得するプロジェクトなどに利用されます。この記事では、BME280をArduinoに接続し、データを制御する方法について解説します。

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

1. BME280センサーの概要

BME280は、Bosch Sensortecによって開発された気温、湿度、気圧を同時に測定できるセンサーモジュールです。I2CまたはSPI通信プロトコルを使用してArduinoと通信します。このセンサーは、精度が高く、コンパクトであるため、様々なプロジェクトに適しています。

2. BME280の接続

BME280をArduinoに接続するためには、以下の通りに接続します。

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

3. Arduinoライブラリのインストール

BME280をArduinoで利用するためには、BME280用のライブラリをArduino IDEにインストールする必要があります。IDEのメニューから「スケッチ -> ライブラリを管理」を選択し、検索欄に「BME280」と入力して適切なライブラリをインストールします。

4. Arduinoコードの作成

BME280を制御するための基本的なArduinoコードを以下に示します。

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

#define SEALEVELPRESSURE_HPA (1013.25) // 海面気圧(hPa)

Adafruit_BME280 bme;

void setup() {
  Serial.begin(9600);

  if (!bme.begin()) {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
  }
}

void loop() {
  Serial.print("Temperature = ");
  Serial.print(bme.readTemperature());
  Serial.println(" °C");

  Serial.print("Humidity = ");
  Serial.print(bme.readHumidity());
  Serial.println(" %");

  Serial.print("Pressure = ");
  Serial.print(bme.readPressure() / 100.0F);
  Serial.println(" hPa");

  Serial.print("Altitude = ");
  Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
  Serial.println(" meters");

  delay(2000); // 2秒待つ
}

このコードは、BME280から温度、湿度、気圧、海抜を読み取り、シリアルモニターに表示するものです。

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

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

これで、ArduinoにBME280を接続し、気象情報を取得するための基本的な手順が完了しました。この情報を活用して、気象予測や環境モニタリングのプロジェクトを進めることができます。