ArduinoNano と BME280

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

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

結果はこちら。
後日記事にする予定ですが、気温高いのはパーツの配置ミスです。。

コメント

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