Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Ya sea que esté trotando por el mundo o simplemente esté interesado en saber qué hora es antes de hacer esa llamada nocturna, un reloj mundial de 5 zonas encaja perfectamente. Como obtuve algunas pantallas adicionales de 7 dígitos TM1637 en mi último envío, decidí armar un reloj para todas las ocasiones. Decidí usar un Arduino Uno para el proyecto, que proporcionó suficientes GPIO para 5 relojes, 5 indicadores AM (LED) y una luz superior activada con un sensor táctil. El único pin que no usé fue D1, que es para Tx en serie, lo que solo podría causar problemas. Entonces, si estás interesado, ¡sigue leyendo!
Paso 1: Partes
Para hacer el reloj usé: - Un Arduino Uno (pero un Nano o Mega también funcionaría)
- (5) pantallas TM1637
- (5) LED (para usar como indicadores AM / PM)
- (5) resistencias de 220 ohmios
- Reloj RTC3231
- AdaFruit NeoPixel stick u otra iluminación
- Sensor táctil para activar la luz
- Convertidor Buck para acomodar el consumo de energía
- Marco o estuche (imprimí un estuche en 3D, pero sé creativo)
- Alimentación de 12V con un receptáculo de barril (para permitir la división de las alimentaciones)
- opcional - escudo Arduino Uno (solo para hacerlo un poco más simple)
Paso 2: Comenzando
Todavía soy nuevo en el TM1637, así que programé uno primero para ver qué podía hacer. Al principio no hizo nada, pero la comunidad de Arduino es increíble y pronto me puso en funcionamiento. En mi TM1637 tuve que cortar las 2 tapas en la parte posterior para que funcionara y desde allí solo un poco de prueba y error. Al final, todavía no pude obtener dos puntos para el reloj; "reemplaza" el dígito de la hora en la posición 1, pero estoy de acuerdo, por ahora.
A continuación, conecte una placa de pruebas con todo primero para asegurarse de que todas sus conexiones y programación coincidan; sí, todavía soy un tipo paso a paso. Luego, decida las ubicaciones deseadas y configure las ubicaciones de destino encontrando las diferencias horarias con respecto a GMT. Ahora pasemos a la soldadura y al posicionamiento.
Paso 3: cableado
Usando un conector de alimentación de barril para la entrada de 12v, divida la energía y la tierra en el 1) convertidor buck y 2) el Vin en el Arduino.
Use el convertidor reductor para hacer 5v de potencia y filas de tierra en el blindaje para ejecutar las conexiones, esto estabilizará cualquier problema de energía.
Cada TM1637 tiene 4 conexiones (5v, Grd, Data y Clock), con DIO y CLK yendo a pines GPIO individuales (usé 2-11) y la energía a mis filas.
Para los indicadores Meridian (5 LED) soldar (5) 220 Ohm res a tierra y las conexiones del ánodo a A0-A3 y D12.
El RTC necesita un 5v y Grd junto con el SDA y SCL (A4 y A5).
La barra de luz debe estar conectada a tierra dos veces, una a la fila y otra al Uno. Ejecute el 5v a la fila y los datos a un GPIO (D13). El sensor táctil corre a 5v y Grd y a GPIO D0.
Paso 4: programación
La programación es bastante sencilla. Usé la biblioteca TM1637display.h para las pantallas, asignando a cada pantalla un nombre único, como era de esperar, con el nombre de la ciudad. Simplemente cambie los pines DIO y CLK para cada uno.
Codifique su primera ubicación con la diferencia horaria y configure los perímetros AM / PM para que el LED se encienda / apague según la hora. Úselo para duplicar para cada ubicación.
Asigné la hora a la posición 0, 2 dígitos, sin cero a la izquierda. Para los minutos usé "minuto" y dividí por 10 para el dígito 1 (posición 2, 1 dígito) y módulo (%) para el dígito 2 (posición 3, 1 dígito).
Encender el NeoPixel con el sensor fue como cualquier otro combo de botón / LED usando la biblioteca Adafruit_NeoPixel.
Fácil.
Paso 5: Montaje
Elabore un estuche adecuado que se adapte a las pantallas y algo de espacio detrás para la placa, la entrada de energía y el convertidor reductor. Inserte, conecte cables, encienda y listo. De acuerdo, puede haber más que esto, pero esos son los conceptos básicos independientemente del diseño.
¡Disfruta y feliz retoques!