// https://wokwi.com/projects/359825094253241345
// https://forum.arduino.cc/t/water-pumps-ignoring-the-code/1104783
// Define los pines a los que estan conectados los componentes
const int bomba1 = 10;
const int bomba2 = 7;
const int boton1 = 2;
const int boton2 = 3;
const int boton3 = 4;
const int boton4 = 5;
const int led1 = 6;
const int led2 = 9;
const int buzzer = 11;
# define PRESSED LOW // HIGH for pulled down switches!
void setup() {
// Configura los pines como entradas o salidas
pinMode(bomba1, OUTPUT);
pinMode(bomba2, OUTPUT);
pinMode(boton1, INPUT_PULLUP);
pinMode(boton2, INPUT_PULLUP);
pinMode(boton3, INPUT_PULLUP);
pinMode(boton4, INPUT_PULLUP);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
// Comprueba si se ha pulsado algun boton
delay(100);
if (digitalRead(boton1) == PRESSED) {
// Enciende la bomba 1 durante 5 segundos
digitalWrite(bomba1, HIGH);
delay(1000); // Modifica el tiempo aqui, en milisegundos
digitalWrite(bomba1, LOW);
// Enciende la bomba 2 durante 5 segundos
digitalWrite(bomba2, HIGH);
delay(1000); // Modifica el tiempo aqui, en milisegundos
digitalWrite(bomba2, LOW);
// Parpadea los leds durante 5 segundos
for (int i = 0; i < 10; i++) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(250);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(250);
}
// Activa el buzzer durante 3 segundos
for (int i = 0; i < 6; i++) {
digitalWrite(buzzer, HIGH);
delay(250);
digitalWrite(buzzer, LOW);
delay(250);
}
} else if (digitalRead(boton2) == PRESSED) {
// Enciende la bomba 2 durante 5 segundos
digitalWrite(bomba2, HIGH);
delay(1000); // Modifica el tiempo aqui, en milisegundos
digitalWrite(bomba2, LOW);
// Enciende la bomba 1 durante 5 segundos
digitalWrite(bomba1, HIGH);
delay(1000); // Modifica el tiempo aqui, en milisegundos
digitalWrite(bomba1, LOW);
// Parpadea los leds durante 5 segundos
for (int i = 0; i < 10; i++) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(250);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(250);
}
// Activa el buzzer durante 3 segundos
for (int i = 0; i < 6; i++) {
digitalWrite(buzzer, HIGH);
delay(250);
digitalWrite(buzzer, LOW);
delay(250);
}
} else if (digitalRead(boton3) == PRESSED) {
// Enciende la bomba 1 durante 5 segundos
digitalWrite(bomba1, HIGH);
delay(5000); // Modifica el tiempo aquí, en milisegundos
digitalWrite(bomba1, LOW);
// Enciende el led 1 durante 5 segundos
digitalWrite(led1, HIGH);
delay(5000); // Modifica el tiempo aquí, en milisegundos
digitalWrite(led1, LOW);
// Activa el buzzer durante 3 segundos
for (int i = 0; i < 6; i++) {
digitalWrite(buzzer, HIGH);
delay(250);
digitalWrite(buzzer, LOW);
delay(250);
}
} else if (digitalRead(boton4) == PRESSED) {
// Enciende la bomba 2 durante 5 segundos
digitalWrite(bomba2, HIGH);
delay(5000); // Modifica el tiempo aquí, en milisegundos
digitalWrite(bomba2, LOW);
// Enciende el led 2 durante 5 segundos
digitalWrite(led2, HIGH);
delay(5000); // Modifica el tiempo aquí, en milisegundos
digitalWrite(led2, LOW);
// Activa el buzzer durante 3 segundos
for (int i = 0; i < 6; i++) {
digitalWrite(buzzer, HIGH);
delay(250);
digitalWrite(buzzer, LOW);
delay(250);
}
}
}