Hola, llevo esto quiero hacerlo con mas reles pero de igual forma quiero que haga el mismo funcionamiento, podrías ayudarme!
// DECLARAMOS LAS VARIABLES QUE INDICAN LOS PINES QUE VAMOS A UTILIZAR
int s1 = A1; // Para el pin que controlará el pulsador del relé 1
int k1 = 5; // Para el pin que controlará el relé 1
int s2 = A2; // Para el pin que controlará el pulsador del relé 2
int k2 = 4; // Para el pin que controlará el relé 2
int s3 = A3; // Para el pin que controlará el pulsador del relé 3
int k3 = 3; // Para el pin que controlará el relé 3
int s4 = A4; // Para el pin que controlará el pulsador del relé 3
int k4 = 2; // Para el pin que controlará el relé 3
int s5 = A5; // Para el pin que controlará el pulsador del relé 3
int k5 = 6; // Para el pin que controlará el relé 3
int s7 = A7; // Para el pin que controlará el pulsador del relé 3
int k6 = 7; // Para el pin que controlará el relé 3
int valor_temporal_1 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele1
int valor_temporal_2 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele2
int valor_temporal_3 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele3
int valor_temporal_4 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele4
int valor_temporal_5 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele5
int valor_temporal_6 = 0; // Esta variable la utilizamos para almacenar el valor hasta el final de la comprobación del rele6
int pulso_temporal = 0; // Esta variable la utilizamos para leer en cada rele el estado de su pulsador
void setup() {
// Declaramos los pines que vamos a utilizar y el tipo que van a tener dichos pines
pinMode(k1, OUTPUT); // Para activar el rele 1
pinMode(s1, INPUT); // Para leer el interruptor que activa el rele 1
pinMode(k2, OUTPUT); // Para activar el rele 2
pinMode(s2, INPUT); // Para leer el interruptor que activa el rele 2
pinMode(k3, OUTPUT); // Para activar el rele 3
pinMode(s3, INPUT); // Para leer el interruptor que activa el rele 3
pinMode(k4, OUTPUT); // Para activar el rele 4
pinMode(s4, INPUT); // Para leer el interruptor que activa el rele 4
pinMode(k5, OUTPUT); // Para activar el rele 5
pinMode(s5, INPUT); // Para leer el interruptor que activa el rele 5
pinMode(k6, OUTPUT); // Para activar el rele 6
pinMode(s7, INPUT); // Para leer el interruptor que activa el rele 6
digitalWrite(k1,LOW); //apagamos las salida para inicializar el programa rele 1
digitalWrite(k2,LOW); //apagamos las salida para inicializar el programa rele 2
digitalWrite(k3,LOW); //apagamos las salida para inicializar el programa rele 3
digitalWrite(k4,LOW); //apagamos las salida para inicializar el programa rele 4
digitalWrite(k5,LOW); //apagamos las salida para inicializar el programa rele 5
digitalWrite(k6,LOW); //apagamos las salida para inicializar el programa rele 6
}
void loop() {
// PARA EL PULSADOR 1
pulso_temporal = digitalRead(s1); // leemos el valor del estado del pulsador correspondiente
if (pulso_temporal == HIGH) {
valor_temporal_1 = !valor_temporal_1 ; // le asignamos el valor contrario del que tenia antes el pulsador 1
delay(200);
}
if (valor_temporal_1 == HIGH) {
digitalWrite(k1, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 1
}
else {
digitalWrite(k1, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 1
}
// PARA EL PULSADOR 2
pulso_temporal = digitalRead(s2); // leemos el valor del estado del pulsador correspondiente
if (pulso_temporal == HIGH) {
valor_temporal_2 = !valor_temporal_2 ; // le asignamos el valor contrario del que tenia antes el pulsador 2
delay(200);
}
if (valor_temporal_2 == HIGH) {
digitalWrite(k2, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 2
}
else {
digitalWrite(k2, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 2
}
// PARA EL PULSADOR 3
pulso_temporal = digitalRead(s3);
if (pulso_temporal == HIGH) {
valor_temporal_3 = !valor_temporal_3 ; // le asignamos el valor contrario del que tenia antes el pulsador 3
delay(200);
}
if (valor_temporal_3 == HIGH) {
digitalWrite(k3, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 3
}
else {
digitalWrite(k3, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 3
}
// PARA EL PULSADOR 4
pulso_temporal = digitalRead(s4);
if (pulso_temporal == HIGH) {
valor_temporal_4 = !valor_temporal_4 ; // le asignamos el valor contrario del que tenia antes el pulsador 4
delay(200);
}
if (valor_temporal_4 == HIGH) {
digitalWrite(k4, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 4
}
else {
digitalWrite(k4, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 4
}
// PARA EL PULSADOR 5
pulso_temporal = digitalRead(s5);
if (pulso_temporal == HIGH) {
valor_temporal_5 = !valor_temporal_5 ; // le asignamos el valor contrario del que tenia antes el pulsador 5
delay(200);
}
if (valor_temporal_5 == HIGH) {
digitalWrite(k5, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 5
}
else {
digitalWrite(k5, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 5
}
// PARA EL PULSADOR 6
pulso_temporal = digitalRead(s7);
if (pulso_temporal == HIGH) {
valor_temporal_6 = !valor_temporal_6 ; // le asignamos el valor contrario del que tenia antes el pulsador 6
delay(200);
}
if (valor_temporal_6 == HIGH) {
digitalWrite(k6, HIGH); // si antes estaba apagado ahora la pasamos a activar el rele 6
}
else {
digitalWrite(k6, LOW); // si antes estaba encendida ahora la pasamos a apagar el rele 6
}
}