Minibomba de agua

Necesito Ayuda con este codigo, es un proyecto con 2 sensores de nivel de agua uno en la parte superior y otro en la parte inferior, esto tambien acompañado de un relay y la minibomba de agua el problem es que tengo todo ensamblado pero el bucle de volver a llenar el tanque de agua no se repite

int bajo = 9;              //Sensor de la parte inferior
int arriba = 4;            //Sensor de la parte superior
int motor = 7;              //Para el rele que activara la minibomba

void setup() {
 pinMode(bajo, INPUT);
 pinMode(arriba, INPUT);
 pinMode(motor, OUTPUT);
}

void loop() {
 int estadobajo = digitalRead(bajo);
 int estadoarriba = digitalRead(arriba);
 
 if(estadobajo==0 && estadoarriba==1){
    while(estadobajo==0 && estadoarriba==1){
     digitalWrite(motor,LOW);                    //Prendera el motor
     int estadobajo = digitalRead(bajo);
     int estadoarriba = digitalRead(arriba);
   }
 }
 digitalWrite(motor,HIGH);
 delay(0);       
}

Yo veo esto mal (esta en negritas)

if(estadobajo==0 && estadoarriba==1){
     while(estadobajo==0 && estadoarriba==1){     [b]Para que usas el while si ya  tienes el if?[/b]
      digitalWrite(motor,LOW);                    //Prendera el motor
      int estadobajo = digitalRead(bajo);             [b]Para que vuelves hacer esto si ya lo tienes arriba?[/b]
      int estadoarriba = digitalRead(arriba);

Otra cosa: Para que usas un delay con cero milisegundos???

No indicas como tienes tus conexiones y que tipo de sensores usas, por lo que es mas dificil ayudarte, es mas facil si pones el diagrama