int rainfall_sensor_pin = 2;
float rain_incr = 0.2794; // this is mm/m2 for each sensor tick
int rainfall_ticks = 0;
-
-// Timing
-unsigned long previousMillis= 0;
-unsigned long previousMillis2= 0;
+long debouncing_time = 30;
+volatile unsigned long last_micros;
// Initiate udp client
WiFiUDP udp;
void getRain ()
{
- rainfall_ticks ++ ;
+ if((long)(micros() - last_micros) >= debouncing_time * 1000) {
+ rainfall_ticks ++ ;
+ last_micros = micros();
+ }
}