X-Git-Url: http://git.rot13.org/?p=Arduino;a=blobdiff_plain;f=rpi_promini%2Frpi_promini.ino;h=cfaa94806396062392d3368b93dfa0f9cff15b41;hp=38d318df460b4898c64d8afedcf9600c09023609;hb=99877d9a11dcfc0b4dd37bac6e04fdba2103b72f;hpb=3f119f62c021a7576f999a2acd1aed430d7bf3ad diff --git a/rpi_promini/rpi_promini.ino b/rpi_promini/rpi_promini.ino index 38d318d..cfaa948 100644 --- a/rpi_promini/rpi_promini.ino +++ b/rpi_promini/rpi_promini.ino @@ -40,7 +40,7 @@ DallasTemperature sensors(&oneWire); int int_0 = 300; // ms int int_1 = 900; // ms int wait = 2000; // ms -int repeat = 20; // times (5 times seem a little low for sensors which are more than 10m away) +int repeat = 5; // times (5 times seem a little low for sensors which are more than 10m away) void send_315(char *code) { Serial.print("send 315Mhz "); @@ -114,11 +114,13 @@ 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 < 10 ) 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();