Cómo hacer un reloj digital con Arduino

En esta entrada os enseñaremos cómo podéis hacer un reloj digital con Arduino, de una manera muy sencilla, barata y rápida.

Para hacer un reloj digital como este necesitaremos los siguientes componentes:

  • Arduino UNO. Podéis usar cualquier Arduino que tenga al menos 13 entradas digitales.
  • Un display de 7 segmentos y 4 dígitos.
  • Una placa de pruebas (o protoboard) para montar el circuito.
  • 6 resistencias de 220 ohmios o similar valor.
  • Una pila para alimentar el Arduino. Para este ejemplo nosotros hemos usado una pila de 9V.
  • Un par de pulsadores. Los cuales usaremos para poner el reloj en hora.
  • Cables.

El display que hemos elegido es un display de 7 segmentos con 4 dígitos. La ventaja de este tipo de display es que con 12 pines, podemos representar 4 dígitos, mientras que con un display de 7 segmentos de 1 dígito, necesitaríamos 10 pines por cada dígito, lo cual requeriría de 40 pines en Arduino, además de hacer el circuito mucho más tedioso.

El significado de cada pin de este display, se puede ver en la siguiente ilustración:

Figura 1. Display 7 segmentos y 4 dígitos

Los pines 12 (D1), 9 (D2), 8 (D3) y 6 (D4), sirven para indicar qué dígito queremos que se ilumine en cada momento, mientras que los demás pines, representan cada uno de los 7 segmentos de los que se compone cada dígito (ver figura 2).

Figura 2. Display 7 segmentos

Por ejemplo, si queremos pintar un 1 en el dígito que está más a la derecha, deberíamos «activar» el pin 6 (D4) para indicar que queremos iluminar el dígito 4 (el de más a la derecha) y los segmentos B y C, es decir, los pines 7 y 4. Por contra, si queremos mostrar un 7 en el dígito de más a la izquierda, los pines a activar serían 12 (D1), 11 (A), 7 (B) y 4 (C).

Quizá esto os pueda resultar algo confuso. No os preocupéis. No necesitáis entenderlo para montar el reloj digital, ya que al final de esta entrada podéis encontrar el código para descargarlo y cargarlo en vuestro Arduino.

El circuito final sería el siguiente:

Figura 3. Circuito

A pesar de parecer bastante tedioso, es fácil de montar, solo tenéis que tener un poco de paciencia y seguir cada cable uno a uno.

Como podéis observar, al circuito le hemos añadido un par de botones o pulsadores. Estos se usarán para poner el reloj en hora cuando iniciamos el programa en nuestro Arduino.

El botón de la izquierda, sirve para cambiar la hora, mientras que el de la derecha para cambiar los minutos.

Resumiendo, los pasos a seguir para montar nuestro reloj son:

  • Montar el circuito de la figura 3.
  • Descargar el código de https://github.com/Keroelv/reloj-digital-arduino/blob/master/reloj.cpp
  • Cargar el programa en nuestro Arduino. NOTA IMPORTANTE: A la hora de cargar el programa en nuestro Arduino, necesitaremos tener desconectado el pin 1 (ya que este pin se utiliza normalmente para mandar información por el puerto Serial). Si no, la carga del programa dará error.
  • Una vez cargado, volver a conectar el pin 1. Y pulsar el botón de reset del Arduino, para comenzar el programa.
  • Poner la hora usando los botones que montamos en nuestro circuito.
  • Opcional: Añadir una pila de 9V para alimentar el circuito.

Esperemos que os haya resultado útil.

En caso de que tengáis alguna duda a la hora de montar el circuito o sugerencia, podéis dejarnos un comentario y os responderemos lo antes posible.