Publicado el Deja un comentario

34. On-Off alternativos

Objetivo

Nuestro nuevo proyecto consiste en montar un circuito con Arduino UNO que nos permita encender y un led con un pulsador y apagarlo al volver a pulsar.

Las pulsaciones deben ser rápidas y no prolongadas, como cuando pulsamos en el botón de un ascensor.

Materiales

  • Led rojo
  • Resistencia 220 ohm
  • Pulsador de 4 pines
  • Resistencia de 10 Kohm

Montaje

Observa la imagen de la diapositiva, como puedes ver se ha montado un led rojo con una resistencia adecuada en serie entre el pin 4 de salida. Por otra parte se ha instalado un pulsador conectado con una segunda resistencia a tierra (pull-down) por un lado y conectado al pin 8 de entrada por otro.

Sketch

El programa no tiene ninguna novedad ni dificultad adicional a lo visto hasta ahora. Fíjate bien cómo se han configurado los dos pines en la sección setup, uno de entrada para recibir la señal de pulsación del pulsador y otro de salida para iluminar el led.

En el bucle principal (loop) Arduino está permanentemente en cada pasada del bucle leyendo el valor ofrecido por el pin 8 y almacenándolo en la variable entera «estado«.

Atento a la argucia informática siguiente:

estado = 1 - estado;

¿Qué hace esta línea y por qué lo hace?

A continuación, si el estado es HIGH se encenderá el led y si es LOW se apagará.

Problema

El proyecto tiene un pequeño «defecto», y es que nos hemos topado con el problema del «rebote» que evita que funcione a la perfección. ¿Por qué falla a veces cuando pulsamos el pulsador?

No pases a la lección próxima hasta que no hayas entendido bien esta.

¡Deja un comentario! Todas las críticas son bienvenidas.