X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=rpi_promini%2Frpi_promini.ino;h=a2ee8d1139c09abfe4ed49f0cb66c90f1a33d900;hb=HEAD;hp=5e98806c1e0565e046d3073fe197fa20a75ae709;hpb=199ec5e3f285729f2852324a11eb16f8e97db0a8;p=Arduino diff --git a/rpi_promini/rpi_promini.ino b/rpi_promini/rpi_promini.ino index 5e98806..c89b2cf 100644 --- a/rpi_promini/rpi_promini.ino +++ b/rpi_promini/rpi_promini.ino @@ -88,7 +88,7 @@ void help() { } void setup() { - Serial.begin(9600); + Serial.begin(115200); mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2 mySwitch.enableTransmit(10); // with sender wired in receiving doesn't work, pin #10 mySwitch.setRepeatTransmit(repeat); // or change to be different for 433 and 315 MHz @@ -107,18 +107,20 @@ void setup() { int serial_pos = 0; char serial_data[2]; // socket (0-9), state (0-1) char binary_data[32]; -int dht22_errors = 0; +unsigned int dht22_errors = 0; unsigned long time = millis(); void loop() { if ( millis() - time > 2000 ) { float t = dht.getTemperature(); - if ( dht.getStatus() == 0 ) + float delta_t = abs(t - temp_avg.getAverage()); + if ( dht.getStatus() == 0 && delta_t < 5 ) temp_avg.addValue( t ); else dht22_errors++; float h = dht.getHumidity(); - if ( dht.getStatus() == 0 ) + float delta_h = abs(h - hum_avg.getAverage()); + if ( dht.getStatus() == 0 && delta_h < 10 ) hum_avg.addValue( h ); else dht22_errors++; time = millis();