#pragma once #include namespace Bme { Adafruit_BME280 bme; // I2C Interface struct { float temp; float humidity; float pressure; float readTemp() { char buf[10]; sprintf(buf, "%.1f", bme.readTemperature() - 2); temp = atof(buf); return temp; } float readHumidity() { char buf[10]; sprintf(buf, "%.1f", bme.readHumidity() - 2); humidity = atof(buf); return humidity; } void readAll() { readTemp(); readHumidity(); pressure = bme.readPressure() / 100; } } data; void setup() { Serial.println(F("BME280 setup")); if (!bme.begin(BME280_ADDRESS_ALTERNATE, &Wire)) { Serial.println(F("Could not find a valid BME280 sensor, check wiring!")); return; } /* Default settings from datasheet. */ bme.setSampling(Adafruit_BME280::MODE_NORMAL, /* Operating Mode. */ Adafruit_BME280::SAMPLING_X2, // temperature Adafruit_BME280::SAMPLING_X16, // pressure Adafruit_BME280::SAMPLING_X2, // humidity Adafruit_BME280::FILTER_X16, Adafruit_BME280::STANDBY_MS_500); /* Standby time. */ } }