added RunningAverage for DHT11
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 12 Aug 2021 09:13:33 +0000 (11:13 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 12 Aug 2021 09:13:33 +0000 (11:13 +0200)
GroveSensor.ino
Makefile

index 480a062..6437b02 100644 (file)
@@ -1,6 +1,11 @@
 #include <Arduino.h>
 #include <U8x8lib.h>
 
 #include <Arduino.h>
 #include <U8x8lib.h>
 
+#include "RunningAverage.h"
+
+RunningAverage temp_avg(10);
+RunningAverage hum_avg(10);
+
 #include "DHT.h"
 
 #include <Adafruit_BMP280.h>
 #include "DHT.h"
 
 #include <Adafruit_BMP280.h>
@@ -74,9 +79,10 @@ void loop(void) {
   int oled_active = ! digitalRead(BUTTON_PIN);
   u8x8.setPowerSave( oled_active );
 
   int oled_active = ! digitalRead(BUTTON_PIN);
   u8x8.setPowerSave( oled_active );
 
-  float temp, humi;
-  temp = dht.readTemperature();
-  humi = dht.readHumidity();
+  temp_avg.addValue( dht.readTemperature() );
+  hum_avg.addValue( dht.readHumidity() );
+  float temp = temp_avg.getAverage();
+  float humi = hum_avg.getAverage();
 
   u8x8.setFont(u8x8_font_chroma48medium8_r);
   u8x8.setCursor(0, 0);
 
   u8x8.setFont(u8x8_font_chroma48medium8_r);
   u8x8.setCursor(0, 0);
@@ -97,6 +103,7 @@ void loop(void) {
   u8x8.print("Humidity:");
   u8x8.print(humi);
   u8x8.print("%");
   u8x8.print("Humidity:");
   u8x8.print(humi);
   u8x8.print("%");
+
   Serial.print(",dht_humidity=");
   Serial.print(humi);
 
   Serial.print(",dht_humidity=");
   Serial.print(humi);
 
index b07983f..764582e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -11,6 +11,7 @@ install:
        ./bin/arduino-cli lib install U8g2
        ./bin/arduino-cli lib install 'Adafruit BMP280 Library'
        ./bin/arduino-cli lib install Grove-3-Axis-Digital-Accelerometer-2g-to-16g-LIS3DHTR
        ./bin/arduino-cli lib install U8g2
        ./bin/arduino-cli lib install 'Adafruit BMP280 Library'
        ./bin/arduino-cli lib install Grove-3-Axis-Digital-Accelerometer-2g-to-16g-LIS3DHTR
+       ./bin/arduino-cli lib install RunningAverage
 
 
 upload:
 
 
 upload: