前回の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
結果はこちら。
後日記事にする予定ですが、気温高いのはパーツの配置ミスです。。
コメント