From 9615b66a84a77666d724adea05ef3708fd2de5dd Mon Sep 17 00:00:00 2001 From: lexa Date: Thu, 1 Jul 2021 12:48:30 +0300 Subject: [PATCH] running median --- ExtSens/src/main.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/ExtSens/src/main.cpp b/ExtSens/src/main.cpp index 2aff172..e751a45 100644 --- a/ExtSens/src/main.cpp +++ b/ExtSens/src/main.cpp @@ -10,12 +10,12 @@ #define MY_DEFAULT_LED_BLINK_PERIOD 5 #include #include -#include "RunningMedian.h" +//#include "RunningMedian.h" uint32_t cRun; int BATTERY_SENSE_PIN = A0; int sensorValue, batteryPcnt; -float v; +float v, temp_out, hum_out; int oldBatteryPcnt = 0; void presentation(); @@ -31,11 +31,10 @@ void sendData(MyMessage msg, uint32_t status); AHT10 myAHT10(AHT10_ADDRESS_0X38); #define TIME_SLEEP 300000 -RunningMedian tempRM = RunningMedian(4); -RunningMedian humRM = RunningMedian(4); +// RunningMedian tempRM = RunningMedian(4); +// RunningMedian humRM = RunningMedian(4); void setup() { - float temp, hum; //analogReference(INTERNAL); //sensorValue = analogRead(BATTERY_SENSE_PIN); //v = sensorValue * 0.004659498; @@ -46,10 +45,11 @@ void setup() { delay(5000); } Serial.println(F("AHT10 OK")); - Serial.print(F("T: ")); Serial.print(temp = myAHT10.readTemperature(AHT10_FORCE_READ_DATA));// Serial.println(F(" +-0.3C")); - Serial.print(F("H: ")); Serial.print(hum = myAHT10.readHumidity(AHT10_USE_READ_DATA));// Serial.println(F(" +-2%")); - sendData(msgTemp, temp, 1); - sendData(msgHum, hum, 1); + Serial.print(F("T: ")); Serial.print(temp_out = myAHT10.readTemperature(AHT10_FORCE_READ_DATA));// Serial.println(F(" +-0.3C")); + Serial.print(F("H: ")); Serial.print(hum_out = myAHT10.readHumidity(AHT10_USE_READ_DATA));// Serial.println(F(" +-2%")); + + sendData(msgTemp, temp_out, 1); + sendData(msgHum, hum_out, 1); unsigned long battMV = hwCPUVoltage(); sendData(msgVolts, battMV / 1000.0, 2); cRun = 0; @@ -67,8 +67,10 @@ void loop() { //Serial.print(F("T: ")); Serial.println(temp);// Serial.println(F(" +-0.3C")); //Serial.print(F("H: ")); Serial.println(hum);// Serial.println(F(" +-2%")); if (temp < 200){ - tempRM.add(temp); - humRM.add(hum); + temp_out += (temp - temp_out) * 0.1; + hum_out += (hum - hum_out) * 0.1; + //tempRM.add(temp); + //humRM.add(hum); // send(msgTemp.set(temp, 1)); // send(msgHum.set(hum, 1)); } @@ -79,8 +81,8 @@ void loop() { //batteryPcnt = ((v-3.0) * 100) / 1.2; //sendBatteryLevel(batteryPcnt); if(nRun++ == 3){ - sendData(msgTemp, tempRM.getMedian(), 1); - sendData(msgHum, humRM.getMedian(), 1); + sendData(msgTemp, temp_out, 1); + sendData(msgHum, hum_out, 1); sendData(msgVolts, v, 2); //send(msgVolts.set(v, 2)); //Serial.println(F("Tm run")); Serial.println(millis() - t);