//Define las variables
int abrir_porton = 13;
int cerrar_porton = 12;
int buttonPin1 = 10;//SENSOR CARRERA APERTURA
int buttonPin2 = 9;//SENSOR CARRERA CIERRE
int buttonPin3 = 8;//PULSADOR DE APERTURA CIERRE
int s_apertura = 0;
int s_cierre = 0;
int abrir_cerrar = 0;
void setup()
{
//Define los pines como entrada o salida
pinMode(abrir_porton, OUTPUT);
pinMode(cerrar_porton, OUTPUT);
pinMode(s_apertura, INPUT_PULLUP);
pinMode(s_cierre, INPUT_PULLUP);
pinMode(abrir_cerrar, INPUT_PULLUP);
}
void loop()
{ //Lee el estado actual del pulsador
s_apertura = digitalRead(buttonPin1);
s_cierre = digitalRead(buttonPin2);
abrir_cerrar = digitalRead(buttonPin3);
//Verifica si el pulsador ha sido tocado
if (s_apertura == 0 && s_cierre == 1 && abrir_cerrar == 0) {
//Si el pulsador ha sido accionado, destella el LED Rojo
while (s_cierre != 1)
{
digitalWrite(cerrar_porton, HIGH); // envía un 1 al pin 13
s_apertura = digitalRead(buttonPin1);
s_cierre = digitalRead(buttonPin2);
abrir_cerrar = digitalRead(buttonPin3);
}
}else{
digitalWrite(cerrar_porton, LOW);
}
//Verifica si el pulsador ha sido tocado
if (s_apertura == 1 && s_cierre == 0 && abrir_cerrar == 0) {
//Si el pulsador ha sido accionado, destella el LED Verde
while (s_cierre != 1)
{
digitalWrite(abrir_porton, HIGH); // envía un 1 al pin 12
s_apertura = digitalRead(buttonPin1);
s_cierre = digitalRead(buttonPin2);
abrir_cerrar = digitalRead(buttonPin3);
}
}else{
digitalWrite(abrir_porton, LOW);
}
//Verifica si los pulsadores estan presesionados al mismo tiempo
}