#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp;
const int window_size = 5;
int sum = 0;
int index = 0;
int a[window_size];
float averaged = 0;
void setup()
{
Serial.begin(9600);
if (!bmp.begin(0x76))
{
Serial.println("Could not find a valid BMP280 sensor, check wiring!");
while (1);
}
for (int i = 0; i < window_size; i++)
{
a[i] = bmp.readPressure() / 100;
sum += a[i];
}
}
void loop()
{
sum -= a[index];
a[index] = bmp.readPressure() / 100;
sum += a[index];
index = (index + 1) % window_size;
averaged = (float)sum / window_size;
Serial.print("Pressure (Smoothed): ");
Serial.print(averaged);
Serial.println(" hPa");
delay(1000);
}