GARDUINO with Ethernet Shield

Hi,

The problem doesn't appear to be timing. Your Water() function never checks to see if the plants are sufficiently watered. It continues to test the same value in moisture_val without updating moisture_val with another analogRead(). Water() needs something like this:

void Water() {      
//    if (moisture_val>260){  <- test used to say this
    if(analogRead(moistureSensor)>260) {
      On();
      Alarm.delay(10000);    
      TurnOff();
    } else {
      Serial.print("Moist Ok");
      Serial.println();
    } 
}

Hopefully this will help your future water bill :slight_smile:

Cheers ! Geoff