jueves, 12 de marzo de 2015

Encender y apagar un LED presionando un botón

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.

Puedes ver el proyecto en el siguiente enlace:


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