#include // put function declarations here: int myFunction(int, int); /*************************************************************************** This is a library for the BME280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BME280 Breakout ----> http://www.adafruit.com/products/2650 These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. The device's I2C address is either 0x76 or 0x77. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Limor Fried & Kevin Townsend for Adafruit Industries. BSD license, all text above must be included in any redistribution ***************************************************************************/ #include #include #include #include #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10 #define SEALEVELPRESSURE_HPA (1013.25) #define Korrektur_Luftdruck KorrekturLuftdruck // Korrekturwert um Abweichungen zu offiziellen Wetterstationen auszugleichen Adafruit_BME280 bme; // I2C //Adafruit_BME280 bme(BME_CS); // hardware SPI //Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI unsigned long delayTime; void printValues(); void setup() { Serial.begin(115200); Serial.println(F("BME280 test")); unsigned status; // default settings status = bme.begin(); // You can also pass in a Wire library object like &Wire2 // status = bme.begin(0x76, &Wire2) if (!status) { Serial.println("Could not find a valid BME280 sensor, check wiring, address, sensor ID!"); Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID(),16); Serial.print(" ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n"); Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n"); Serial.print(" ID of 0x60 represents a BME 280.\n"); Serial.print(" ID of 0x61 represents a BME 680.\n"); while (1) delay(10); } delayTime = 10000; Serial.println(); } void loop() { printValues(); delay(delayTime); } void printValues() { float t = 0.0; float p = 0.0; float a = 0.0; float h = 0.0; char ct[15]; char cp[15]; char ca[15]; char ch[15]; Serial.print("Temperature:\t\t"); t = bme.readTemperature(); dtostrf(t,11,3,ct); Serial.print(ct); Serial.println(" °C"); Serial.print("Humidity:\t\t"); h = bme.readHumidity(); dtostrf(h,11,3,ch); Serial.print(ch); Serial.println(" %"); Serial.print("Pressure:\t\t"); p = bme.readPressure() / 100.0F; p = p + Korrektur_Luftdruck; dtostrf(p,9,1,cp); Serial.print(cp); Serial.println(" hPa"); Serial.print("Approx. Altitude:\t"); a = bme.readAltitude(SEALEVELPRESSURE_HPA); dtostrf(a,11,3,ca); Serial.print(ca); Serial.println(" m über NN"); Serial.println(); }