Tabla de contenido:
- Suministros
- Paso 1: conecte los componentes
- Paso 2: Piezas impresas en 3D
- Paso 3: el código
- Paso 4: funcionamiento y configuración
Video: Reloj de jubilación / Cuenta ascendente / Reloj Dn: 4 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Tenía algunas de estas pantallas LED de matriz de puntos de 8x8 en el cajón y estaba pensando qué hacer con ellas. Inspirado por otros instructables, tuve la idea de construir una pantalla de cuenta regresiva / ascendente para contar regresivamente hasta una fecha / hora futura y si el tiempo objetivo pasaba, cuenta hacia arriba. Hice de este ahora mi reloj de jubilación en el estante.
La idea de ponerlo en una botella fue más un accidente pensando en una funda. Otros ponen barcos en una botella, ¿por qué no un reloj?
También quería que el reloj obedeciera al horario de verano y, por supuesto, recordar la configuración y la hora al desconectarlo. Estoy alimentando el reloj a través de USB, lo que lo hace reprogramable si desea hacer algo diferente o simplemente agregar funciones al código. El código es bastante simple y también podría necesitar mucha optimización. No me preocupé mucho por el consumo de RAM, tengo que admitirlo. Si tengo el tiempo y la motivación, volveré a hacerlo.
Suministros
1. Arduino Nano
2. RTC (utilicé el DS3231 común que también tiene una EEPROM)
3. Módulo de matriz de puntos de 12x 8x8. (Tenía los módulos cuádruples que son más fáciles de alinear)
4. LDR para ajustar el brillo de la pantalla
5. Resistencia de 10 kOhmios
6. Condensador 5x 100 uF suprimiendo picos de la pantalla
7. Para aumentar el contraste de los módulos de 8x8, utilicé la "Película de ventana" teñida de oscuro. La pantalla muestra los LED como puntos blancos si no están iluminados. La película de la ventana le da un aspecto negro brillante.
Paso 1: conecte los componentes
Usé tres de las pantallas cuádruples para ensamblar la pantalla. Para mostrar una fecha con barras y la hora con dos puntos, necesitamos espacio para 8 caracteres. Usando la fuente típica de 5x7, necesitaríamos seis bloques de 8x8 por fila. Corté uno de los bloques cuádruples por la mitad y los dispuse como dos filas por seis bloques como se muestra en el esquema de la placa de pruebas.
Paso 2: Piezas impresas en 3D
Para sostener las dos filas de la pantalla y colocarlas en la botella, imprimí anillos de distancia redondos para el marco de la pantalla. Agregué los archivos que usé a continuación. Para poder imprimirlos sin soporte, se dividen en partes. La captura de pantalla muestra los dos anillos pegados al marco de la pantalla. La tapa del cuello de la botella aloja los tres botones para cambiar entre los modos de visualización y configurar la hora actual y la hora objetivo. La tapa del cuello de la botella la imprimí en TPU, lo que permite deslizar el cable USB en la tapa sin cortar los conectores y atarlo con algunos devanados de alambre. Olvidé mencionar que usé una botella de vino de 1,5 L que corté en la parte inferior. Todas las piezas a imprimir se colocan en una plataforma de impresora de 20x20 cm (8x8 in).
Paso 3: el código
El código de Arduino utiliza algunas bibliotecas de uso común.
MD_MAX72xx
SPI
Cable
RTClib
Zona horaria
TimeLib
Hay algunas líneas en el archivo INO que pueden necesitar ser cambiadas:
Línea 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- depende del módulo 8x8 y su orientación
en lugar de FC16_HW podría uno de:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
El código está usando la configuración para la hora central de EE. UU. Y debe ajustarse para otras zonas horarias:
Línea 53/54:
TimeChangeRule myDST = {"CDT", segundo, domingo, 2 de marzo, -300}; // Hora de verano UTC-5TimeChangeRule mySTD = {"CST", primero, domingo, 2 de noviembre, -360}; // Hora estándar UTC -6
Esto es fácil de ajustar. El nombre CST / CDT es solo para tener una referencia. No muestro la abreviatura de tres letras, por lo que no importa. Los siguientes parámetros se refieren a qué día del mes se está produciendo el cambio. El ajuste es en minutos, por lo que las ubicaciones que utilicen ajustes de +/- 30 minutos también funcionarán.
El RTC se ejecuta internamente en UTC-Time, lo que permite que la biblioteca de zona horaria funcione según lo previsto. Es posible que se pregunte por qué el código hace referencia al chip DS1307 más antiguo a diferencia del chip de reloj que usé, pero esto no importa. La biblioteca funciona bien con cualquiera de los chips. El DS1307 tiene la tendencia a desviarse más que el DS3132. el DS3132 es el reloj preferido. Para aquellos que deseen agregar tiempo de Internet, un ESP8266 hará el trabajo con bastante facilidad. Esto podría hacer que el RTC sea obsoleto. Si está realizando estos cambios, use la EEPROM de Arduino para almacenar el tiempo objetivo, usé la EEPROM de RTC para hacerlo.
Paso 4: funcionamiento y configuración
Hay tres botones
1. Menú / configuración
2. Arriba
3. Abajo
El botón de menú permite recorrer los tres tipos de visualización: hora actual, hora objetivo, hora delta. El tiempo delta muestra el número de días, HH / MM / SS entre la hora actual y la hora objetivo. Mostrará t- y una cuenta regresiva si el objetivo está en el futuro ot + y contará hacia arriba si el objetivo está en el pasado.
Para ajustar la hora actual o la hora objetivo, seleccione la visualización de la hora actual o la hora objetivo. Para cambiar la hora, mantenga presionado el botón de menú durante 2 segundos y suéltelo, lo que lo llevará al modo de configuración. El vecino "/" o ":" se convertirá en "" para indicar qué dígito está ajustando. Utilice los botones arriba / abajo para ajustar el hh / mm / ss y el mm / dd / aa individuales. No agregué una configuración para cambiar entre mm / dd / aa y dd / mm / aa, esto debe cambiarse en el código o tal vez alguien esté dispuesto a agregar esta función.
Notará que si pasa los minutos por encima de 59 o por debajo de 00, la visualización de la hora también se ajustará. lo mismo es cierto para segundos, horas y días cambiando el siguiente valor más alto si cruza por debajo de 0 o por encima del máximo para este dígito. Hice esto para evitar programar los distintos límites de meses individuales y si febrero necesita 29 días en un año bisiesto. El ajuste del tiempo se realiza en realidad en tiempo de época, segundos desde el 1 de enero de 1970.
Agregué un video simple para mostrar el conteo. Quería hacerlos como una pantalla de rueda giratoria. Si desea ajustar la duración del cambio, la línea 69 del INO le ofrece algunas opciones para acelerar o ralentizar el cambio. 120 ms haría que los dígitos se desplazaran lo suficientemente lento, ya que sería una rueda en funcionamiento continuo.
Espero que hayas disfrutado de este instructivo.
Patrick Geschwindner
Recomendado:
Reloj de cuenta regresiva para la inauguración presidencial (Wifi): 6 pasos
Reloj de cuenta regresiva para la inauguración presidencial (Wifi): Descripción general: El reloj de cuenta regresiva es similar a los productos comerciales, con algunos cambios: a) Cuando se alcanza la hora del evento objetivo, el reloj de cuenta regresiva: muestra un anuncio de desplazamiento y reproduce efectos de sonido y una canción mp3. en este caso, el REM canción: & ld
Temporizador de cuenta regresiva con GLCD Shield: 8 pasos (con imágenes)
Temporizador de cuenta regresiva usando el escudo GLCD: en este proyecto dibujo un temporizador de cuenta regresiva en el escudo GLCD de 1 capa, el usuario de este proyecto puede Determina la duración del temporizador usando el botón dibujado en el GLCD, cuando el temporizador llegue a 0, se escuchará un zumbador y vibración
Cómo hacer un banco de energía por su cuenta fácilmente: 7 pasos (con imágenes)
Cómo hacer un banco de energía por su cuenta fácilmente: en este instructivo le mostraré cómo puede hacer su propio banco de energía utilizando componentes económicos y fácilmente disponibles. Esta batería de respaldo contiene una batería de iones de litio 18650 de una computadora portátil vieja o puede comprar una nueva. Más tarde hice una carcasa de madera con
¡Cada litro cuenta! Dosificador de agua Arduino "Shield": 7 pasos (con imágenes)
¡Cada litro cuenta! Dosificador de agua Arduino "Shield": ¡Hola! Con este instructable, puede dosificar la cantidad deseada de agua. El sistema puede funcionar en mL y L. Usaremos un Arduino UNO, un caudalímetro para contar la cantidad de agua, un LCD para mostrar el estado, pulsadores para cambiar configuraciones y un relé para ac
Un reloj de cuenta regresiva con LED: 3 pasos
Un reloj de cuenta regresiva con LED: estas son algunas notas breves sobre un 'reloj de cuenta regresiva' que construí hace 10 años para el año 2000. El reloj mide 4 pies cuadrados desde el frente. Tiene aproximadamente 4 pulgadas de grosor y se ejecuta en un microcontrolador integrado. Cada segmento está hecho de alrededor de 20 x LED de 10 mm. Yo ca