int triggerPin1 = 12;
int Echo_pin1 = 11;
int Relay = 13;

int llenartanque=10;
int yanollenartanque=9;
int automatico=9;


int estadoRelay=0;
int estadollenartanque=0;
int estadoyanollenartanque=0;
int estadoautomatico=0;


long duration1;
float Speed_of_sound =0.034;
float dist_in_cm1;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(triggerPin1, OUTPUT);
  pinMode(Echo_pin1, INPUT);
  pinMode(Relay, OUTPUT);
  pinMode(llenartanque, INPUT);
  pinMode(yanollenartanque, INPUT);
  pinMode(estadoautomatico,INPUT);
}
void loop() {

estadoRelay=digitalRead(Relay);
estadollenartanque=digitalRead(llenartanque);
estadoyanollenartanque=digitalRead(yanollenartanque);
estadoautomatico=digitalRead(automatico);
//LOS BOTONES SON PARA LLENAR EL TANQUE NO LA CISTERNA
// EL SENSOR ESTARA EN LA CISTERNA NO EL TANQUE
// PARA NO HACER FUNCIONAR LA BOMBA EN VACIO
Serial.println(estadollenartanque);
//------------MODOMANUAL------------
readSensor1();  
//PARA ENCENDER LA BOMBA Y  LLENAR ELTANQUE
// SI ESTA VACIO y SI LA CISTERNA ESTA LLENA
if ((estadollenartanque==1)&&(dist_in_cm1 < 100)) {
    digitalWrite(Relay, HIGH);
    delay(500);
}
//PARA APAGAR LA BOMBA SI EL TANQUE ESTA LLENO =SABREMOS
//SI EL TANQUE ESTA LLENO SI EL NIVEL DEL AGUA DE LA CISTERNA
//LLEGO A 250 DE DISTANCIA
if ((estadoyanollenartanque==1)&&(dist_in_cm1 >250)) {
    digitalWrite(Relay, LOW);
    delay(500);
    }  
//luego de apretar llenar tanque del valor" 1" pasa a "0 "
// con esto podemos asegurar que la bomba se apague al estar 
// lleno en caso se hayan olviado apagar la bomba
if ((estadollenartanque==0)&&(dist_in_cm1 > 250)&&(estadoRelay==1)) {
    digitalWrite(Relay, LOW);
    delay(500);}
//aunque la cisterna este llena y se queramos llenar el tanque esta 
//funcion evitara de que el tanque rebalce
if ((estadollenartanque==0)&&(dist_in_cm1 > 250)&&(estadoRelay==1)) {
    digitalWrite(Relay, LOW);
    delay(500);

} 
}
void readSensor1() {
  digitalWrite(triggerPin1, LOW);
  delayMicroseconds (2);
  digitalWrite(triggerPin1, HIGH);
  delayMicroseconds (10);
  digitalWrite(triggerPin1, LOW);


  duration1 =pulseIn(Echo_pin1,HIGH);
  dist_in_cm1=duration1*Speed_of_sound/2;
}
NOCOMNCVCCGNDINLED1PWRRelay Module
NOCOMNCVCCGNDINLED1PWRRelay Module