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