El LED lleva su resistencia para que no se queme y el botón lleva también una resistencia pero es para hacer una derivación a masa (tierra o GND).
Usamos dos pines digitales, el 8 para leer el botón y el 2 para actuar sobre el LED.
Necesitamos:
- Placa Arduino
- LED
- Botón pulsador de 4 patillas
- una resistencia de 100 Ohm para el LED
- una resistencia de 10KOhm para la derivación a tierra del botón
Al pulsar el botón el LED se enciende y permanece encendido hasta que se vuelve a presionar el botón.
const int pinLed = 2; //El pin del LED
const int pinBtn = 8; // El pin del botón
int encender = 0; // Si está encendido el LED
int anterior = 0; // Pulsación anterior
int estado = 0; //El estado actual del botón
void setup()
{
pinMode(pinLed, OUTPUT); // Ponemos el pin del LED como salida
pinMode(pinBtn, INPUT); // Ponemos el pin del botón como entrada
}
void loop()
{
estado = digitalRead(pinBtn); //Comprobamos el estado
if (estado && anterior == 0) // Comprobamos si el anterior era sin pulsar y el estado actual es pulsado
{
encender = 1 - encender; // Asignamos el estado contrario
delay(30); // Anti-rebote
}
anterior = estado; // Guardamos el estado actual para posteriores comprobaciones
if(encender) // Si encender es 1
digitalWrite(pinLed, HIGH); // Endendemos el LED
else // Si no
digitalWrite(pinLed, LOW); // Apagamos el LED
}


No hay comentarios:
Publicar un comentario