Hola, tengo un proyecto en el que tengo 2 bombas de agua y al apretar un botón (son 3 botones diferentes) las bombas tiran agua a un vaso. Mi problema es que tengo un sensor de proximidad HC-SR04 , para que solo al detectar el vaso se enciendan las bombas, pero no se como escribir el código (pondré en el código uno que encontré en internet y creo que puede funcionar) y tampoco como conectarlo para que esto funcione.
El código funciona perfecto sin el codigo del sensor, solo me faltaría conectarlo al Arduino y probarlo.
Si alguien me puede ayudar con el código seria de mucha ayuda, aquí el código para que lo revisen.
const int boton1 = 2;
const int boton2 = 3;
const int boton3 = 4;
const int pin = 9;
const int pin2 = 11;
long dis;
long tiem;
int led = 8;
int bs0_1=0;
int bs1_1=0;
int bs2_1=0;
int bs0_2=0;
int bs1_2=0;
int bs2_2=0;
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(boton1, INPUT);
pinMode(boton2, INPUT);
pinMode(boton3, INPUT);
pinMode(pin, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(6, OUTPUT); //salida del pulso generado por el sensor ultrasónico
pinMode(5, INPUT);//entrada del pulso generado por el sensor ultrasónico
pinMode(8, INPUT);//alarma de la distancia(encenderá el led)
}
void loop() {
bs0_1=bs0_2;
bs1_1=bs1_2;
bs2_1=bs2_2;
bs0_2=digitalRead(boton1);
bs1_2=digitalRead(boton2);
bs2_2=digitalRead(boton3);
digitalWrite;(6,LOW);//recibimiento del pulso.
delayMicroseconds(5);
digitalWrite(6, HIGH);//envió del pulso.
delayMicroseconds(10);
tiem=pulseIn(5, HIGH);//fórmula para medir el pulso entrante.
dis= long(0.017*tiem);//fórmula para calcular la distancia del sensor ultrasónico.
delay(100);
while (dis>3){
digitalWrite(led, HIGH);
if ((bs0_2 == HIGH )&&(bs0_1 == LOW)) {
digitalWrite(pin, HIGH);
delay(5000);
digitalWrite(pin2, HIGH);
delay(10000);
}
else if ((bs1_2 == HIGH )&&(bs1_1 == LOW)) {
digitalWrite(pin, HIGH);
delay(7000);
digitalWrite(pin2, HIGH);
delay(10000);
}
else if ((bs2_2 == HIGH )&&(bs2_1 == LOW)) {
digitalWrite(pin, HIGH);
delay(10000);
digitalWrite(pin2, HIGH);
delay(10000);
}
digitalWrite(pin, LOW);
digitalWrite(pin2, LOW);
digitalWrite(led, LOW);
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("LA DISTANCIA MEDIDA ES:");
Serial.println(dis);
Serial.println("cm");
delay(500);
}
}
Graciasssssss