Reloj de 6 dígitos con Arduino






















Reloj de 6 dígitos con Arduino
Proyecto de construcción de un reloj digital de seis dígitos en tiempo real que muestra las horas, minutos y segundos.
Para su implementación he utilizado fundamentalmente los siguientes componentes:
-
Seis displays de 7 segmentos: En concreto para este proyecto he utilizado unos de cátodo común cuya referencia es HSN-5623S.
-
Un integrado MAXIM7219: Es un estupendo chip para realizar el multiplexado capaz de controlar hasta 8 dígitos de 7 segmentos o 64 diodos LED independientes. El chip incorpora un decoder BCD code-B y una memoria RAM interna de 8x8 para almacenar el valor de cada dígito. Solamente se necesita de una resistencia externa para hacerlo funcionar. Se maneja tan sólo con 3 patillas. El MAX7219 es ideal para controlar fácilmente una gran cantidad de diodos LED o dígitos de 7 segmentos, como nos ocupa en este proyecto.
-
Un módulo de reloj en tiempo real RTC DS1307: Esta placa está diseñada en base al conocido chip reloj DS1307 y se utiliza para almacenar la fecha y hora actual con ayuda de una batería para que el reloj no pierda la hora cuando el Arduino no esté alimentado. Se maneja mediante el bus I2C de Arduino. Podemos leer valores tales como horas, minutos, segundos, día, mes y año, etc.
Al final de este artículo podéis encontrar un paquete de descarga que contiene el código Arduino que he implementado como cerebro del reloj. El sketch está bastante comentado por lo que no creo que tengáis problemas para entender lo que hago en cada momento y adaptarlo a vuestras necesidades.
También encontraréis las librerías necesarias para dialogar con los periféricos. Es importante que utilicéis las mismas librerías que he utilizado yo para que el código compile. Para este proyecto en concreto he utilizado las siguientes:
• LedControl.h
• RTClib.h
• Wire.h
Estas librerías tendréis que descomprimirlas y poner su contenido en la carpeta de Arduino correspondiente para que funcionen. Esta ubicación depende de dónde haya instalado cada uno Arduino, pero suele ser C:\Program Files (x86)\Arduino\libraries.
También os adjunto los PCB que he diseñado por si alguien quiere reproducir exactamente este mismo proyecto.
Por último, también podréis encontrar en descargas un poco más de información sobre los componentes utilizados, datasheets, configuración de pines, etc.Con el mismo hardware se podría implementar facialmente un contador digital ascendente o descendente, así como un temporizador. Ni que decir tiene que cada uno puede utilizar estos u otros componentes, así como adaptar el código, en función de sus necesidades.
Espero que os sirva de ayuda.
Daniel.