//CÓDIGO PARA ENCENDER Y APAGAR UN LED USANDO UN BOTÓN.
//Definimos los pines a los que estarán conectados el botón y el LED.
int buttonPin1 = 10;
int buttonPin2 = 11;
int buttonPin3 = 12;
int ledPin1 = 1;
int ledPin2 = 2;
int ledPin3 = 42;
int buttonState1 = 1;
int buttonState2 = 1;
int buttonState3 = 1;
int ledState1 = 1;
int ledState2 = 1;
int ledState3 = 1;
bool buttonPressed1;
bool buttonPressed2;
bool buttonPressed3;
void setup() {
//Inicialización del pin del botón como entrada y el pin del LED como salida.
//Botones 1,2 y 3.
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
//LED 1,2 y 3.
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
//---------------------------------------------------------//
//Se lee el estado del botón 1 (presionado o no presionado).
buttonPressed1 = digitalRead(buttonPin1) == LOW;
//Comprobar si el botón ha sido presionado.
if(buttonPressed1 && buttonState1 == 0){
//Cambiar el estado del LED.
ledState1 = 1 - ledState1; // Alternar entre 0 y 1.
digitalWrite(ledPin1, ledState1);
}
//Actualizamos el estado del botón.
buttonState1 = buttonPressed1;
//---------------------------------------------------------//
//Se lee el estado del botón 2 (presionado o no presionado).
buttonPressed2 = digitalRead(buttonPin2) == LOW;
//Comprobar si el botón ha sido presionado.
if(buttonPressed2 && buttonState2 == 0){
//Cambiar el estado del LED.
ledState2 = 1 - ledState2; // Alternar entre 0 y 1.
digitalWrite(ledPin2, ledState2);
}
//Actualizamos el estado del botón.
buttonState2 = buttonPressed2;
//---------------------------------------------------------//
//Se lee el estado del botón 2 (presionado o no presionado).
buttonPressed3 = digitalRead(buttonPin3) == LOW;
//Comprobar si el botón ha sido presionado.
if(buttonPressed3 && buttonState3 == 0){
//Cambiar el estado del LED.
ledState3 = 1 - ledState3; // Alternar entre 0 y 1.
digitalWrite(ledPin3, ledState3);
}
//Actualizamos el estado del botón.
buttonState3 = buttonPressed3;
//---------------------------------------------------------//
//Retardo para evitar rebotes.
delay(200);
}