El estado "0" indica que el tanque está lleno. Hay 2 formas de usar el sensor de nivel de líquidos, boca arriba o boca abajo, yo lo dejo en el agua y es el resultado que me da el código.
La doble asignación es un error, tienes toda la razón, sobra "digitalWrite(water_pump, HIGH)"; debió quedar ahí cuando hice pruebas con un relé.
Kike_GL:
Estas seguro que 0 es tanque lleno ?Porque la doble asignación de water_pump ? comenta con // alguno en todo caso.
analogWrite(water_pump, water_pump_speed);
digitalWrite(water_pump, HIGH);