//Si se pulsan dos pulsadores al mismo tiempo, sólo se encenderá un LED verde. Si se pulsa sólo el primero, únicamente se encenderá un LED rojo.
//Si sólo es el segundo el que se pulsa, se encenderá uno amarillo. Si no se pulsa ninguno de los dos, los tres LEDs estarán apagados.
//Carles Ribis Palomares y Saúl Díaz López, 25-4-24
const int ledVerde = 11; //Se declara una variable constante.
const int ledRojo = 10; //Se declara una variable constante.
const int ledAmarillo = 9; //Se declara una variable constante.
const int pinPulsador1 = 4; //Se declara una variable constante.
const int pinPulsador2 = 3; //Se declara una variable constante.
void setup() {
pinMode(ledVerde, OUTPUT); //Declara ledVerde como salida.
pinMode(ledRojo, OUTPUT); //Declara ledRojo como salida.
pinMode(ledAmarillo, OUTPUT); //Declara ledAmarillo como salida.
pinMode(pinPulsador1, INPUT); //Declara pinPulsador1 como entrada.
pinMode(pinPulsador2, INPUT); //Declara pinPulsador2 como entrada.
}
void loop() {
int pulsador1 = digitalRead(pinPulsador1); //Declara una variable que depende de una lectura digital.
int pulsador2 = digitalRead(pinPulsador2); //Declara una variable que depende de una lectura digital.
if (pulsador1 == HIGH && pulsador2 == HIGH){ //Si las variables pulsador1 y pulsador2 son iguales a 1 (HIGH).
digitalWrite(ledVerde, HIGH); //ledVerde está en 5V, encendido.
digitalWrite(ledRojo, LOW); //ledRojo está en 0V, apagado.
digitalWrite(ledAmarillo, LOW); //ledAmarillo está en 0V, apagado.
}
if (pulsador1 == HIGH){ //Si la variable pulsador1 es igual a 1 (HIGH).
digitalWrite(ledVerde, LOW); //ledVerde está en 0V, apagado.
digitalWrite(ledRojo, HIGH); //ledRojo está en 5V, encendido.
digitalWrite(ledAmarillo, LOW); //ledAmarillo está en 0V, apagado.
}
if (pulsador2 == HIGH){ //Si la variable pulsador2 es igual a 1 (HIGH).
digitalWrite(ledVerde, LOW); //ledVerde está en 0V, apagado.
digitalWrite(ledRojo, LOW); //ledRojo está en 0V, apagado.
digitalWrite(ledAmarillo, HIGH); //ledAmarillo está en 5V, encendido.
}
if (pulsador1 == LOW && pulsador2 == LOW){ //Si las variables pulsador1 y pulsador2 son iguales a 0 (LOW).
digitalWrite(ledVerde, LOW); //ledVerde está en 0V, apagado.
digitalWrite(ledRojo, LOW); //ledRojo está en 0V, apagado.
digitalWrite(ledAmarillo, LOW); //ledAmarillo está en 0V, apagado.
}
}