si el depósito está lleno (valor 0) o vacio (valor 1). El sensor nivel de líquidos detecta si el depósito está lleno o vacio pero el problema es que el motor de la bomba de agua sigue funcionando cuando no hay agua en el depósito
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);