#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()); temp = atof(buf); return temp; } float readHumidity() { char buf[10]; sprintf(buf, "%.1f", bme.readHumidity()); humidity = atof(buf); return humidity; } void readAll() { bme.takeForcedMeasurement(); 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; } /* Settings from examples: advancedsettings.ino */ // -- Weather Station Scenario -- Serial.println("-- Weather Station Scenario --"); bme.setSampling(Adafruit_BME280::MODE_FORCED, /* Operating Mode. */ Adafruit_BME280::SAMPLING_X1, // temperature Adafruit_BME280::SAMPLING_X1, // pressure Adafruit_BME280::SAMPLING_X1, // humidity Adafruit_BME280::FILTER_OFF); } }