ショップ
製品概要
- BME280 温度・湿度・気圧センサーのブレークアウトボードです。
- SPIもしくはI2CでMCU等と接続します。
- 電源電圧および信号線電圧は 3.3V です。
- ボード上にプルアップ抵抗が乗っているので、I2Cで接続する場合には、信号線のプルアップは必要ありません。
ライブラリ
ライブラリのインストール
BME280 用のライブラリは、Arduino IDE のライブラリマネージャを利用してインストールすることができます。ライブラリマネージャの検索フィルタに[BME280] を入力して絞り込むと、BME280 用のライブラリが多数列挙されます。
ここでは、5年以上の実績がある[BME280 by Tyler Glenn] とタイトルが付けられているライブラリを選択してインストールします。
ライブラリマネージャのダイアログ上でインストールするライブラリの欄をクリックすると、インストールボタンが表示されるので、最新バージョンを選択して、ライブラリをインストールします。
なお、このライブラリは、以下のURL で取得することもできます。
ライブラリの利用
ライブラリのインストール後、Arduino IDE メニューから[ファイル] ) [スケッチ例] を選択すると、リストにBME280 フォルダが追加されているのが確認できます。BME280 フォルダの中を確認するといくつかのサンプルスケッチがあり、選択して実行することができます。
マイクロファンのボード製品では、BME280 モジュールはI2C で接続されているので、サンプルスケッチのうち[BME 280 I2C Test] を選択します。このサンプルスケッチは、温度、湿度、気圧を1.5 秒ごとに取得してシリアルモニタに出力します。
シリアルモニタの出力が文字化けする場合には、setup() 内で指定したボーレートと、シリアルモニタのボーレートが合致していることを確認してください。
基本的に上記のサンプルスケッチと同じですが、エッセンスを抜き出したスケッチを以下に示します。
#include <BME280I2C.h>
#include <Wire.h>
#define SERIAL_BAUD 115200
BME280I2C bme;
void setup()
{
Serial.begin(SERIAL_BAUD);
Wire.begin();
while(!bme.begin())
{
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
}
void loop()
{
float temp, hum, pres;
BME280::TempUnit tu(BME280::TempUnit_Celsius);
BME280::PresUnit pu(BME280::PresUnit_hPa);
bme.read(pres, temp, hum, tu, pu);
Serial.print("Sec: " + String(millis()/1000));
Serial.print("\t\tTemp: " + String(temp) + "°C");
Serial.print("\t\tHumidity: " + String(hum) + "% RH");
Serial.println("\t\tPressure: " + String(pres) + " hPa");
delay(5000);
}