/* 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.
-modificado por Marta Verdú el 30/4/2024
*/
const int pinpulsador1 = 2;
const int pinpulsador2 = 3;
const int ledverde = 9;
const int ledamarillo = 10;
const int ledrojo = 11;
void setup() {
pinMode(pinpulsador1, INPUT_PULLUP); //indica que el pulsador es una entrada con resistencia de pull up
pinMode(pinpulsador2, INPUT_PULLUP); //indica que el pulsador es una entrada con resistencia de pull up
pinMode(ledverde,OUTPUT); //indica que el LED es una salida
pinMode(ledamarillo,OUTPUT); //indica que el LED es una salida
pinMode(ledrojo,OUTPUT); //indica que el LED es una salida
}
void loop() {
int pulsador1 = digitalRead(pinpulsador1);//lee el pin seleccionado y lo guarda en la constante
int pulsador2 = digitalRead(pinpulsador2);//lee el pin seleccionado y lo guarda en la constante
if (pulsador1 == HIGH && pulsador2 == HIGH) { //si ninguno de los pulsadores es activado, los LEDs estarán apagados
digitalWrite(ledverde, LOW);
digitalWrite(ledamarillo, LOW);
digitalWrite(ledrojo, LOW);
}
else if (pulsador1 == LOW && pulsador2 == LOW) { //si los dos pulsadores son activados, solo el led verde se encenderá
digitalWrite(ledverde, HIGH);
digitalWrite(ledamarillo, LOW);
digitalWrite(ledrojo, LOW);
}
else if (pulsador1 == LOW && pulsador2 == HIGH) { //si solo se activa el pulsador 1, solo el led rojo se encenderá
digitalWrite(ledverde, LOW);
digitalWrite(ledamarillo, LOW);
digitalWrite(ledrojo, HIGH);
}
else if (pulsador1 == HIGH && pulsador2 == LOW) { //si solo el pulsador 2 es activado, solo el led amarillo se encenderá
digitalWrite(ledverde, LOW);
digitalWrite(ledamarillo, HIGH);
digitalWrite(ledrojo, LOW);
}
}