Sistema de riego: La bomba de agua sigue funcionando con el depósito vacio

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);