Construcción de un display LED de reloj y texto con matrices LED. Este display se configura desde un teléfono móvil vía WiFi. La información de la fecha y hora se sincroniza a través de un servidor NTP, convirtiéndolo así en un reloj muy preciso. Este display está construido con el módulo ESP32 y 4 matrices LED de 8×8 pixel. De forma opcional, también se puede montar un segundo display OLED de 64×48 pixel (0,66 pulgadas).
Este display lo he montado con un módulo LED que ya contiene las 4 matrices, en lugar de los 4 módulos independientes que utilicé en el montaje anterior:
En la construcción del último reloj LED que monté, lo hice conectando 4 matrices LED de 8×8 pixel. Estas matrices llevan las conexiones de entrada y salida por la cara inferior y superior, y esto obliga a que el tamaño del reloj sea más grande de lo necesario.
En este caso voy a montar otro reloj con un display LED del mismo tamaño, pero será más pequeño que el anterior. Aunque el nuevo firmware también permite utilizar un segundo display OLED, en este caso no lo voy a montar, y además utilizaré 4 matrices LED interconectadas en un sólo PCB.
Esquema de montaje
El montaje de este reloj es muy rápido y sencillo, sólo hay que conectar 5 hilos entre un lateral del display LED y el módulo ESP32.
Configuración con doble interface WEB
Ahora el display LED permite mostrar la hora, o textos rotantes de hasta 255 caracteres. Tanto el modo de funcionamiento como su configuración, se programa a través de una conexión WiFi, y se guarda en la memoria EEPROM del módulo ESP32. De esta forma el reloj arranca siempre en el modo en el que se dejó la última vez: modo texto, o modo reloj.
Esta nueva versión de firmware incluye un menú WEB con nuevas opciones, y también animaciones cada vez que se reciben datos desde el reloj.
Firmware
El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el repositorio GitHub: Clock-Text_ESP32
Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.
Fabricación de un Reloj-Cronómetro-Temperatura, encadenando 4 módulos SMD de 7 segmentos con control serie. El controlador de este reloj está construido a partir del micro controlador AT89S52, con encapsulado TQFP de 44 pines (SMD).
ESQUEMAS
Módulo RTC: DS1302
Las comunicaciones entre el micro-controlador y el chip de reloj DS1302 se realizan mediante 3 hilos:
Reloj (SCLK)
Entrada/Salida de datos (I/O)
Habilitación (CE)
El módulo RTC ya incluye el cristal de cuarzo que necesita el chip DS1302, y una pila de 3V para mantener sus datos cuando falta la alimentación. La conexión entre este módulo y la CPU es de 5 hilos, 2 de la alimentación y 3 de control.
Sensor de temperatura: DS18B20
El control de este sensor de temperatura es bidireccional y se realiza mediante un sólo pin, así su encapsulado sólo tiene 3 pines: VCC, GND y Datos.
El DS18B20 se puede comprar con encapsulado normal, su aspecto es el de un transistor, o ya montado dentro de una cápsula de acero inoxidable. El encapsulado en acero inoxidable permite sumergir el sensor en líquidos, y también es muy aconsejable para utilizarlo en el exterior.
El chip DS18B20 es un sensor temperatura digital, su resolución es configurable entre 9 y 12 bits. Por defecto, de fábrica está configurado con 12 bits. A máxima resolución, sus últimos 4 bits se corresponden con las lecturas decimales de: 0,5°/ 0,25° / 0,125° / 0,0625°. Puedes ver más detalles técnicos de este sensor en el siguiente artículo:
Para alimentar este reloj se necesita una fuente de alimentación de 12 VDC, con una corriente mínima de 200 mA. La solución más barata y eficaz, es incluir dentro de la caja del reloj una pequeña fuente de alimentación conmutada de 12V / 400 mA.
CONFIGURACIÓN
Para cambiar los datos de fecha, hora, cronómetro y el resto de parámetros de configuración, se utilizan dos pulsadores:
MODE
PLUS
Para modificar los datos del reloj, seguir el siguiente diagrama de configuración:
SELECCIONAR MODO: RELOJ/CRONÓMETRO
El modo de funcionamiento RELOJ/CRONÓMETRO se determina durante la fase de arranque, mientras se está mostrando en el display un mensaje de texto rotando, en la que se muestra la versión del firmware. Si no se toca ningún pulsador, el modo de funcionamiento será: RELOJ. Para cambiar a modo CRONÓMETRO en cualquier momento, seguir los siguientes pasos:
Pulsar los dos botones a la vez: RESET
Cuando aparezca el mensaje rotante, mantener pulsado el botón 1 (MODE)
Una vez que que hayamos entrado en el modo CRONÓMETRO, ya podremos configurar sus parámetros de funcionamiento. Estos valores se guardarán en el chip de memoria del reloj (DS1302), y estos serán los nuevos valores de arranque del cronómetro. Al igual que sucede con los parámetros del reloj, tendremos que tener conectada la pila de tampón en el chip, si no queremos perder todos los datos cuando falte la alimentación.
Detalles de la presentación del Display
Cuando se está funcionando en modo RELOJ, es posible seleccionar entre 3 tipos de presentación. La información que muestra el display se cambia mediante una breve pulsación del botón 2 (PLUS):
Hora / (*) Alterno: Hora y Temperatura
Temperatura
Alterno: Hora, Fecha y Temperatura
(*) El modo alterno de la presentación 1ª, se muestra en caso de que se active la alarma de temperatura en el menú de configuración. En caso contrario, la presentación 1ª mostrará la hora de forma permanente.
Cuando se active el modo de presentación alterno, la temperatura se mostrará de forma síncrona con el reloj, y lo hará cada 5 segundos. Entre el segundo 5 y el 55 de cada minuto, nunca se mostrará en el segundo ‘0’ de cada minuto. La temperatura sólo aparecerá durante un segundo de cada 5, en total 11 veces en cada minuto.
Alarma de Temperatura
La lectura del sensor de Temperatura se realiza cada 10 segundos. De manera que entre dos presentaciones sucesivas de 5 segundos, sólo una de las lecturas será en tiempo real. Cuando está utilizando la presentación 1ª en modo alterno, los segundos acabados en ‘0’ mostrarán la temperatura leída anteriormente, excepto en el segundo ‘0’ de cada minuto que no se muestra. En el caso de que la temperatura sobrepasara alguno de los dos umbrales de alarma, el aviso acústico se realizará cuando el valor acaba de ser leído. Es decir, la alarma de temperatura sólo sonaría en los segundos acabados en ‘5’.
Alarmas horarias
El reloj permite configurar 2 alarmas horarias, sin prioridad entre ellas pero siguiendo este criterio: Cuando una de las dos alarmas se dispara, mientras permanezca en su periodo activo, la otra alarma nunca podrá dispararse.
Las dos alarmas horarias pueden valer para los 7 días de la semana, o estar limitadas a los 5 días laborables, quedando inactivas todos los Sábados y Domingos. En modo RELOJ, el punto decimal del dígito de la derecha (esquina inferior derecha del display) esta asociado a la alarma horaria. Las alarmas horarias pueden configurarse para que suenen una sola vez (1 minuto si no se silencia antes) o con repeticiones. Las repeticiones se realizarán cada 5 segundos. Para silenciar el sonido de una alarma, realizar una breve pulsación en el botón 2 (PLUS). Si después de sonar una alarma se quieren anular todas sus repeticiones sin cambiar la configuración del reloj, es necesario pulsar los dos botones a la vez (RESET).
Estados posibles del LED indicador de alarma horaria:
APAGADO: No existe ninguna alarma horaria en las próximas 24 horas
PARPADEANDO: Existe alguna alarma horaria dentro de las próximas 24 horas.
FIJO: Alarma ACTIVA, sonando o dentro del periodo de repetición.
Hora: Verano/Invierno
En algunos países existen dos tipos horarios:
Horario estándar, el que corresponde con el huso horario (Horario de invierno).
Horario de verano:
El cambio de hora se aplica una vez al año, haciendo que del horario estándar (o de invierno) se pase al horario de verano. Aunque la primera vez que se aplicó este cambio de hora fue durante la Primera Guerra Mundial, dejo de aplicarse hasta la crisis del petróleo de 1973. El objetivo es el de aprovechar mejor la luz solar, consumiendo menos electricidad.
HORARIO DE VERANO
Último domingo de MARZO: A las 2:00 AM se adelanta a las 3:00 AM
… se adelante 1 hora el reloj
HORARIO DE INVIERNO
Último domingo de OCTUBRE: A las 3:00 AM se atrasa a las 2:00 AM
… se atrasa 1 hora el reloj
FIRMWARE
El firmware de este reloj se programa una vez montado el micro controlador (AT89S52) en su circuito impreso, a través de su interface de programación serie ICSP. Lo ideal sería utilizar un programador que tuviera dicho interface, pero si no lo tienes, puedes hacerlo con ARDUINO.
En esta versión se corrige el tamaño de los taladros, se incluye la posibilidad de utilizar dos tipos de conector en sus salidas y se añade una toma auxiliar de +5V
Archivos GERBER para fabricar el PCB del Display ( 1 dígito de 7 segmentos):
Ganador del sorteo de un PCB con tecnología SMD, para montar un display de 7 segmentos con control serie.
El circuito impreso sorteado es el que se mostró en el video anterior, el cual incluye el circuito integrado TPIC6B595 -Shift Register- ya montado en el PCB.
El sorteo se realizó entre los suscriptores que hicieron un comentario en el video anterior, utilizando el software online: You2Pick
Construcción de un Bingo electrónico de grandes dimensiones, para colgarlo en la pared de un salón social. El panel tiene unas dimensiones de 1 metro de ancho por 80 centímetros de alto, y está construido con la tapa de madera de un cajón de embalaje. En esta segunda parte, se finaliza el montaje del Bingo y se realizan pruebas de funcionamiento.
Rotulación
Para rotular los 90 números en el panel he construido una plantilla para centrar los números en cada cuadro, y otra para los números. El primer paso es rotular todos los números en la madera.
Una vez rotulados todos los números, con la ayuda de un pincel de punta fina, especial para la rotulación, se pinta el interior de los números. Yo utilicé esmalte metálico de color verde.
Mecanizado
A continuación se taladran los 90 agujeros para montar los diodos LED. Aunque el diodo es de 10 mm, es conveniente hacer el agujero a 9 mm y ajustar el hueco con la ayuda de una lima, o utilizando una pequeña fresa y un taladro de mano.
Los diodos LED se colocan por la parte trasera del mural, y se fijan con adhesivo termo fundible.
Conexiones
Para cablear la matriz, hay que conectar los ánodos de los diodos LED de las 9 líneas (sus resistencias limitadoras), y los cátodos de las 10 columnas. Al final se conecta un cable de cinta plana para los cátodos (10 hilos) y otro para los ánodos (9 hilos). Es importante identificar la primera línea y la primera columna, conectando el hilo que lleva la marca roja en esta posición.
Por finalizar, se monta un anclaje para la CPU y se fija el display y el pulsador en el mural. El conexionado es muy rápido, porque todas las conexiones se hacen con terminales y no es necesario utilizar el soldador.
Funcionamiento
Al conectar el panel aparece un texto en el display, mostrando la versión del firmware, y se iluminan los 90 diodos LED del panel durante unos segundos.
En el siguiente video se muestran todos los detalles de montaje y funcionamiento de este Bingo electrónico.
Construcción de una matriz LED de 7 segmentos y 2 dígitos. Cada dígito tiene un tamaño de 8 centímetros de alto y 4 de ancho. Se utilizan 2 diodos LED de 5mm (alto brillo) por cada segmento y se monta una resistencia limitadora en cada diodo LED. Los diodos LED se podrían sustituir por tiras LED de tipo SMD, consiguiendo así una luz más uniforme en todo el segmento. Siguiendo este proceso, se podría construir cualquier display a medida… independientemente de su tamaño y número de dígitos. También es posible construir un display incluyendo diferentes tamaños en la misma matriz, incluir logotipos o gráficos controlados con luz, etc.
Construcción, paso a paso
El soporte base de la matriz está hecho con un trozo de cartón prensado, cartón piedra laminado en color blanco. El color no importa, porque habrá que pintarlo en negro mate. El corte lo he realizado con una fresadora digital (CNC), pero también se puede cortar a mano, utilizando una sierra de ‘pelo’.
Para el frontal de la matriz, cortaremos un trozo de metacrilato semi transparente (plexiglás), del mismo tamaño que el cartón piedra. Sujetaremos ambas piezas con cinta adhesiva de papel, colocando el lado más brillante del frontal hacia dentro.
Rellenamos todos los huecos de los segmentos con adhesivo termo-fundible. Hay que tener especial cuidado con las burbujas, si queda alguna habrá que quitarla.
Para iluminar los segmentos, se pueden utilizar trozos de tiras LED SMD. En este caso, yo lo hago poniendo un diodo LED en los extremos de cada segmento (2 diodos LED por segmento). Cada diodo LED lleva su propia resistencia limitadora. Dependiendo de la tensión de alimentación y el brillo que queramos obtener, calcularemos el valor más óptimo de la resistencia. Los diodos LED se introducen con un ángulo aproximado de 30º en los extremos de cada segmento, calentando previamente el adhesivo con aire caliente.
La matriz la podemos hacer de ánodo o cátodo común. Como yo lo hago de ánodo común, todas las resistencias de cada dígito (conectadas al ánodo de los LED) van conectadas a un hilo común. Los 2 cátodos LED de cada segmento van conectados en paralelo con su correspondiente del otro dígito, saliendo un cable de conexión por cada segmento. En total tendremos los 2 cables del ánodo de cada dígito (ánodo común) y los 7-8 hilos del cátodo de los segmentos (8 si se añade el punto decimal).
En el siguiente video puedes ver con más detalle todo el proceso de construcción.