La Pantalla LED de Matriz 4x64 evidentemente le interesó a nuestro cliente Hans-Ulrich Küster, quien había compartido con nosotros su proyecto de "Reloj de arena electrónico / Temporizador de huevos". Ya que también es adecuado para una pantalla de gran tamaño. Él escribe: "La vejez representa que no pueda escuchar ni ver correctamente. Así es para un familiar mío."
No puede visualizar un reloj normal por la noche, y el reloj parlante tampoco funciona sin un dispositivo auditivo. Así que hicimos una gran actualización del reloj de arena electrónico.
Para conseguir la pantalla más grande posible, puse dos MAX7219 8x32 4 en 1 Pantalla LED Matriz de puntos uno encima del otro. Un Reloj en tiempo real RTC DS3231 I2C se utilizó como reloj.
Yo también he construido este proyecto y me gustaría compartirlo con usted. En una segunda parte informaré de cómo he sustituido el microcontrolador con ATMEGA 328P por el microcontrolador WLAN de Espressif. Ya que al final de este blog, me gustaría escribir sobre el desarrollo posterior del reloj de arena del Sr. Küster.
Hardware utilizado
En mi reconstrucción provisional, después de soldar la segunda tira de pines en ángulo, simplemente conecté las dos pantallas de matrices con una pieza larga de cinta adhesiva, conecté la "cadena de margaritas" con el cable adjunto e hice la conexión a la fuente de alimentación y a la interfaz SPI del microcontrolador.
El circuito no tiene características especiales: la interfaz SPI en el microcontrolador es la asignación secundaria de los pines digitales D13 = SCK (= Serial Clock), D12 = MISO (= Master in-Slave out, no necesario en las pantallas), D11 = MOSI (= Master Out - Slave in) y D10 = SS (= Save Select). Las designaciones en la pantalla de la matriz difieren ligeramente: DIN (= Data in) está conectado a MOSI, CS (= Chip Select) es un sinónimo de SS (= Slave Select) y SCL es la línea de reloj y está conectada a SCK. Entonces sólo falta la fuente de alimentación: GND a GND y VCC a 5V.
El reloj en tiempo real (RTC DS3231) utilizado tiene una interfaz I2C, por lo que, SDA al PIN analógico A4 y SCI a A5, la fuente de alimentación a GND y VCC a 3.3V o 5V.
Al comienzo del sketch, se cargan tres librerías de programas para integrar fácilmente el hardware utilizado:
// Display
#include // i2c interface
// Real Time Clock ZS-042
Si aun no lo ha hecho, búsquelas y añádalas de la forma habitual en la opción de menú / Tools / Manage_libraries.
La inclusión de la pantalla se realiza con
HARDWARE_TYPE MD_MAX72XX::FC16_HW
// Number of segments
MD_MAX72XX uhr = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
Dado que la librería MD_MAX72xx.h puede utilizarse para diferentes pantallas, la pantalla MATRIX utilizada aquí y distribuida por AZ-Delivery se define como FC16_HW. Dado que un total de 8 pantallas de matrices están conectadas en serie (en cascada), se define MAX_DEVICES 8. La interfaz SPI está integrada en la librería MD_MAX72xx.h.
Si quiere utilizar una pantalla diferente, puede usar el sketch de ejemplo MD_MAX72xx_HW_MAPPER para determinar su configuración.
Las otras dos librerías son necesarias para activar la interfaz I2C y el reloj en tiempo real.
Para los números grandes no encontrará ninguna plantilla en Internet. A continuación, el Sr. Küster los describió en funciones definidas por él mismo.
Para la sincronización del reloj en tiempo real, se utiliza la hora del sistema del ordenador al subir el sketch. Para este propósito, la variable de la línea 22
bool syncOnFirstStart = false; // true sincroniza con el PC, en caso contrario false
se establece como verdadero cuando se carga por primera vez, y como false cuando se vuelve a cargar.
Aquí el sketch completo para Descargar
Actualizar el reloj de arena / temporizador de huevo
Ahora, tal y como se anunció, una breve actualización del Reloj de arena electrónico / Temporizador de huevos.
Para poder introducir el tiempo de la cuenta regresiva de forma aún más flexible, se ha sustituido el interruptor 2 por un potenciómetro.
El valor de potenciómetro no es crítico, todo entre 1 kOhm y 10 kOhm es posible. Ahora, el tiempo. En la parte de la declaración, pause_1 y pause_x son responsables de los tiempos. Si el potenciómetro se ajusta al valor mínimo, pause_1 determina el tiempo en el sketch con el valor de 5 minutos. Si el potenciómetro está sjutado al valor máximo, pause_x determina el tiempo.
Cambiando el valor de pause_x, se puede cambiar el lapso de tiempo que se puede establecer. Se midieron los siguientes valores:
35 -> 6:05 minutos
30 -> 6:15 minutos
25 -> 6:30 minutos
20 -> 6:50 minutos
15 -> 7:30 minutos
10 -> 8:45 minutos
9 -> 9:10 minutos
8 -> 9:40 minutos
7 -> 10:20 minutos
6 -> 11:15 minutos
5 -> 12:30 minutos
Sin embargo, si cambia el valor de pause_1, todas las demás configuraciones cambian y tiene que volver a probar los tiempos.
Sin duda tiene sentido, independientemente de los valores que elija, crear una escala para su propio potenciómetro.
Aquí está el sketch HourGlass_Poti para Descargar
Diviértase con las sugerencias del Sr. Küster. La próxima vez utilizaremos un microcontrolador WLAN de Espressif para la visualización de la pantalla del reloj.
1 comentario
Himmerlich
Nachdem der Sommer vorbei ist habe ich wieder mehr Zeit zum Basteln. Mir gefällt die Uhr mit Großbuchstaben sehr gut, so dass ich diese gebaut habe. Es klappt auch mit der Anzeige, nur müssen in der 2. Reihe die Punkte verschoben oder gespiegelt werden. Ich habe schon die FC16_HW ersetzt durch ICSTATION_HW. Da ist jetzt die Zeit schon zu erahnen. Gibt es noch weitere xxxxx-HW?
Vielleicht kann mir jemand helfen. Ich baue erst einmal auf den ESP32 um. Wozu kann ich dann WIFI verwenden?
Viele Grüße
Wolfgang