前回のNano(互換)と気温・湿度・気圧の計れるBME280でI2Cテストしてみます。

Nano側-BME280側(+3V3-VIN,GND-GND,SCL-A5(SCL),SDA-A4(SDA))
Arduinoはライブラリ揃ってて楽ですね。
今回はSparkFun BME280を使いました。

ソースはこちら。
温度と湿度で不快指数が出せるので足してみました。
print文の記述、もっと綺麗な方法ないのかな。
#include "Wire.h"
#include "SparkFunBME280.h"
#define I2C_ADDR 0x76
BME280 sensor;
void setup()
{
Serial.begin(9600);
Wire.begin();
sensor.setI2CAddress(0x76);
sensor.beginI2C();
}
void loop()
{
double te = sensor.readTempC();
double hu = sensor.readFloatHumidity();
double pr = sensor.readFloatPressure() / 100.0;
double di = 0.81 * te + 0.01 * hu * (0.99 * te - 14.3) + 46.3;
//double te = sensor.readFloatAltitudeMeters(); // 高度
//double te = sensor.dewPointC(); // 露店温度
Serial.print("温度: ");
Serial.print(te, 2);
Serial.print(" °C, 湿度: ");
Serial.print(hu, 2);
Serial.print(" %, 気圧: ");
Serial.print(pr, 1);
Serial.print(" hPa ");
Serial.print("不快指数: ");
Serial.println(di, 1);
delay(5000);
}
//EOF
結果はこちら。
後日記事にする予定ですが、気温高いのはパーツの配置ミスです。。



コメント