【M5Stack】BMP280ユニットで温度・湿度・気圧測定(Arduino/MicroPython)

M5Stack(Arduino/MicroPython)とBMP280モジュールで温度・湿度・気圧測定方法について紹介します。

【Arduino編】BMP280 ENV ユニットで温度・湿度・気圧測定

BMP280 ENV Unit(amazonで1000円程度で入手可能)を使うことで簡単に温度・湿度・気圧を測定できます。

Amazon:M5Stack Mini ENV Unit with DHT12 BMP280 Digital DHT-12 Temperature Humidity Aire Pressure Sensor I2C Grove Connector
※2019年8月4日現在、Amazonで900円で入手できました

前準備

① Arduino IDEのメニューから[ファイル] -> [設定] -> [追加のボードマネージャURL]に以下のURLを追加します。

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

② メニューから[スケッチ] -> [ライブラリをインクルード] -> [ライブラリを管理]を選択します。

③ ダイアログで[Adafruit BMP280]と検索し、「Adafruit BMP280 Library」をインストールします。

これで事前準備は完了です。

ソースコード

Arduinoプロジェクト一式は下記githubから入手できます。

ソースコード一式
1 https://github.com/nishizumi-lab/study/tree/master/m5stack/bmp280/arduino/bmp280

bmp.ino

※このソースコード単体では動作しません。(プロジェクト一式に入っているヘッダファイル等も必要)

#include <M5Stack.h>
#include "DHT12.h"
#include <Wire.h> //The DHT12 uses I2C comunication.
#include "Adafruit_Sensor.h"
#include <Adafruit_BMP280.h>

DHT12 dht12; //Preset scale CELSIUS and ID 0x5c.
Adafruit_BMP280 bme;

void setup() {
    M5.begin();
    Wire.begin();

    M5.Lcd.setBrightness(10);

    Serial.println(F("ENV Unit(DHT12 and BMP280) test..."));

    while (!bme.begin(0x76)){  
      Serial.println("Could not find a valid BMP280 sensor, check wiring!");
      M5.Lcd.println("Could not find a valid BMP280 sensor, check wiring!");
    }
    // LCD初期化
    M5.Lcd.clear(BLACK);
    M5.Lcd.println("ENV Unit test...");
}

void loop() {
    // 温度の取得
    float tmp = dht12.readTemperature();

    // 湿度の取得
    float hum = dht12.readHumidity();

    // 気圧の取得[hPa = Pa * 0.01]
    float pressure = bme.readPressure() * 0.01;

    // 温度、湿度、気圧をシリアル通信で送信
    Serial.printf("Temperatura: %2.2f*C  Humedad: %0.2f%%  Pressure: %0.2fPa\r\n", tmp, hum, pressure);

    // LCDに温度、湿度、気圧を表示
    M5.Lcd.setCursor(0, 0); // カーソル
    M5.Lcd.setTextColor(WHITE, BLACK);  // 色
    M5.Lcd.setTextSize(4);  // 文字サイズ
    M5.Lcd.printf("Temp:%2.1f \nHumi:%2.0f%% \nPres:%2.0fhPa \n", tmp, hum, pressure);

    delay(100);
} 

実行例

【MicroPython編】BMP280 ENV ユニットで温度・湿度・気圧測定

準備中

関連記事
1 【M5Stack入門】できること・使い方
2 M5Core クイックスタート – Arduino Win
M5Stack
技術雑記

コメント

タイトルとURLをコピーしました