Detector de agua fallando por la lenta subida del nivel de agua

Buenas, llevo unos días utilizando el detector de agua con un arduino mega para que me avise de cuando vaciar una garrafa que llena mi aire acondicionado.
El sensor funciona perfectamente cuando lo pruebo metiendolo en un vaso de agua,pero por algún motivo cuando el nivel del agua dentro de la garrafa llega al sensor, este no se activa hasta que lo muevo.

¿Es posible que debido a la lenta subida del nivel del agua, el sensor este fallando? Adjunto mi código, es bastante simple. Si detecta agua enciende un led y suena una música por un altavoz.

Si alguien puede echarme una mano para averiguar que esta pasando se lo agradeceria

#define Grove_Water_Sensor 8 
#define LED 9 
int buzzerPin = 7;
void setup() {
  pinMode(Grove_Water_Sensor, INPUT); 
  pinMode(LED, OUTPUT); 
  pinMode(buzzerPin, OUTPUT); 
  analogWrite(buzzerPin, 0);
}
void loop() {
  
  if ( digitalRead(Grove_Water_Sensor) == HIGH) {
    digitalWrite(LED, HIGH);
    tone(buzzerPin, 261, 200); 
    delay(300); 
    tone(buzzerPin, 261, 200);
    delay(300);
    tone(buzzerPin, 293, 400);
    delay(500);
    tone(buzzerPin, 261, 300);
    delay(400);
    tone(buzzerPin, 349, 300);
    delay(400);
    tone(buzzerPin, 329, 400);
    delay(3000);
  } else {
    digitalWrite(LED, LOW);
  }
}

Moderador
Por favor edita tu post usando etiquetas de código.
Tu consulta es mas para Software que para la sección Hardware.
Hilo movido.
Normas del foro