tank_cooler/firmware/sensor_bmp280.ino
2023-04-13 16:16:34 +02:00

39 lines
1.6 KiB
C++

#include <Adafruit_BMP280.h> // Install from library manager - sensor board info: https://www.bastelgarage.ch/bmp280-temperatur-luftdruck-sensor
Adafruit_BMP280 _sensor_bmp280;
Adafruit_Sensor *_sensor_bmp280_temp = _sensor_bmp280.getTemperatureSensor();
Adafruit_Sensor *_sensor_bmp280_pressure = _sensor_bmp280.getPressureSensor();
#define BPM280_TEMP_FACTOR 1.0
bool sensor_bmp280_begin(uint8_t addr) {
bool status = _sensor_bmp280.begin(addr);
if (status) {
Serial.println("BMP280 Connected");
_sensor_bmp280.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */
Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */
Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */
Adafruit_BMP280::FILTER_X16, /* Filtering. */
Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
} else {
Serial.println("Could not find a valid BMP280 sensor, check wiring or try a different address!");
Serial.println("SensorID was: " + String(_sensor_bmp280.sensorID()));
Serial.println(" ID of 0xFF probably means a bad address, a BMP180 or BMP085");
Serial.println(" ID of 0x56-0x58 represents a BMP280,");
Serial.println(" ID of 0x60 represents a BME280,");
Serial.println(" ID of 0x61 represents a BME680.");
}
return status;
}
float sensor_bmp280_temperature() {
sensors_event_t temp_event, pressure_event;
_sensor_bmp280_temp->getEvent(&temp_event);
return temp_event.temperature * BPM280_TEMP_FACTOR;
}