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