Llenado de tanque automatico con pausa

tengo un proyecto con un sensor ultrasonico , leds y un reley como le prodria hacer para que ejecute todo el programa cuando lo encienda y despues de llenarse yo tengo que sacarle el agua pero nose debe de activar el reley hasta que esta vacio se vuelva activar para llenarse pero los leds si tienen que marcar que se esta vaciando


int ECO = 6;
int TRIG = 7;
int LEDV = 8;
int LEDA = 9;
int LEDR = 10;
int DURACION;
int DISTANCIA;
int RELE = 12;


void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECO, INPUT);
  pinMode(LEDV, OUTPUT);
  pinMode(LEDA, OUTPUT);
  pinMode(LEDR, OUTPUT);
  pinMode(RELE, OUTPUT);
  Serial.begin(9600);

}

void loop() {
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);   // genera el pulso de triger por 10ms
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  DURACION = pulseIn(ECO, HIGH);
  DISTANCIA = DURACION / 58.2;
  Serial.println(DISTANCIA);

  delay(250);


  if (DISTANCIA <= 4.2)
  {
    digitalWrite(LEDV, HIGH);
    digitalWrite(LEDR, LOW);
    digitalWrite(LEDA, LOW);
    digitalWrite (RELE , HIGH);
  }

  if (DISTANCIA < 17 && DISTANCIA > 4)
  {
    digitalWrite (LEDV, LOW);
    digitalWrite(LEDR, LOW);
    digitalWrite(LEDA, HIGH);
    digitalWrite (RELE , HIGH);
  }

  if (DISTANCIA > 18)
  {
    digitalWrite (LEDV, LOW);
    digitalWrite(LEDR, HIGH);
    digitalWrite(LEDA, LOW);
    digitalWrite (RELE , HIGH);
  }
  

  if (DISTANCIA >= 3.8 && DISTANCIA >= 0)
  {
    digitalWrite(RELE , LOW);

  }

}

Moderador.
Veo que no entiendes español
1 dia de sanción por triple posteo.
Ya te lo advertí en este hilo ayer


Hilo cerrado. Repites y tendras 2 dias.
Sigue en este hilo