Cuenta regresiva precisa de Año Nuevo con Arduino y matriz LED
Componentes y materiales
- Matriz LED Adafruit 16x32 (x1)
- Reloj en tiempo real DS3231 (genérico, requiere pila de botón de 3 V) (x1)
- Fuente de alimentación 5 V, 2+ A y conector hembra DC (genérico) (x1)
- Arduino UNO (x1)
- Cables jumper (genéricos) (x1)
Aplicaciones y servicios en línea
- Arduino IDE
Descripción del proyecto
Resumen
Este impresionante display se creó como cuenta regresiva para el Año Nuevo 2019, aunque puede adaptarse a cualquier evento. La espera para cumpleaños, vacaciones, viajes o cualquier ocasión especial puede convertirse en una experiencia visual atractiva con este proyecto.
El dispositivo cambia automáticamente entre tipos de datos (por ejemplo, muestra días y horas cuando quedan días, pero ocupa toda la pantalla con los segundos finales). Mientras muestra la información, se reproduce un ciclo suave de colores RGB en el texto. Al llegar el evento, se muestra un mensaje personalizado con un fondo RGB animado.
Gracias a un RTC (reloj en tiempo real) con pila independiente, el dispositivo mantiene la hora exacta aunque se desconecte de la corriente.
Configuración del RTC
Para usar el RTC correctamente, primero debemos ajustar su hora. Utilizaremos el Arduino UNO y el módulo RTC.
- Inserta una pila de botón de 3 V en el RTC.
- Realiza las siguientes conexiones:
- UNO GND → RTC GND
- UNO 5V → RTC VCC
- UNO A5 → RTC SCL
- UNO A4 → RTC SDA
- Copia el código «Accurate RTC Clock setter» del repositorio enlazado en la sección Código. Pégalo en un nuevo sketch en el Arduino IDE.
- Instala las librerías necesarias: RTClib y RGBmatrixPanel (Sketch → Incluir librería → Gestionar librerías).
- En la función
setup()hay una llamada artc.adjust()que establece el reloj con la fecha y hora de compilación del sketch. Se añade un atributoTimeSpan()para compensar el tiempo de compilación y carga. - Sube el sketch al Arduino UNO y abre el Monitor serie.
- Ve a time.gov para obtener la hora exacta con segundos. Compara con el Monitor serie y calcula la diferencia. Ajusta el valor en
TimeSpan()hasta que ambos coincidan casi perfectamente. - Una vez sincronizado el RTC, puedes continuar.
Montaje del display
La matriz LED consume bastante corriente, así que empezaremos por la alimentación:
- Corta y pela los extremos del cable de alimentación de la matriz (debe tener terminales metálicos). Conéctalos al conector hembra DC. Aísla con cinta eléctrica para evitar cortocircuitos.
- Conecta la matriz para verificar que no hay chispas.
- Sigue esta guía de Adafruit para localizar la entrada de datos de la matriz.
- Realiza el cableado indicado para conectar el Arduino. Nota: En los esquemas instructivos, cualquier pin etiquetado como «D» debe conectarse a tierra (GND).
- El cableado final debe parecerse a la imagen de referencia. El cableado del RTC permanece igual.
Programación del display
- Copia el «Arduino Code» del repositorio y pégalo en tu Arduino IDE.
- Antes de subir, modifica la fecha/hora del evento y el mensaje final (están comentados al inicio del sketch).
- El parámetro
RGBPulseSpeedcontrola la velocidad del ciclo de colores; mantenlo por debajo de 10 inicialmente. - Instala las librerías adicionales: Adafruit GFX y DS3231 (desde el gestor de librerías), y Time (descarga ZIP desde GitHub y añádela con Sketch → Incluir librería → Añadir librería .ZIP).
- Sube el sketch al Arduino.
Carcasa
Aún no he diseñado una carcasa formal, pero recomiendo usar el embalaje original de la matriz LED para alojar el Arduino, el RTC y el cableado sobrante, y montar el panel encima con los tornillos magnéticos incluidos.
También sugiero pegar una hoja de papel vegetal (o pergamino) sobre la matriz para difuminar la luz y ocultar los LEDs apagados. Más capas dan un aspecto más cálido pero menos brillante.
Uso
Alimenta el Arduino con un cargador USB 5 V (el dispositivo necesita dos enchufes, pero es la forma más segura). La cuenta regresiva se adapta automáticamente al tiempo restante. Al llegar el evento, se muestra el mensaje y la animación RGB. Desconecta ambos cables para apagar.
Si la cuenta está desajustada, usa el código de configuración del RTC para corregirlo. La precisión temporal es fundamental.
Mejoras futuras
Planeo añadir más animaciones para el momento del evento (fuegos artificiales, velas de cumpleaños) y permitir mayor personalización de mensajes. El código se escribió deprisa (empezó la víspera de Nochevieja) y puede mejorarse en legibilidad y eficiencia.
¡Gracias por ver el proyecto! Dudas o sugerencias, contáctame. También puedes ver mis otros proyectos, mi canal de YouTube y mi web.
Código
Repositorio: https://github.com/miles-nash/countdown-clock
Primero sube repetidamente el sketch «accurate RTC clock setter» ajustando el TimeSpan hasta lograr precisión. Luego sube el «Arduino Code» al proyecto.
Proceso de manufactura
- Superando Obstáculos en Desarrollo de Nuevo Producto: Un Blueprint Probado
- Construye tu Juego "UFO Attack" con Arduino UNO y Pantalla MAX7219
- Reloj 3D RGB Arduclock – Bluetooth, LED NeoPixel y RTC
- Monitor de Salud Fluvial: Sistema de Calidad de Agua con Arduino
- Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso
- Juego interactivo con joystick analógico y LEDs en Arduino
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Evento de Networking de la Cadena de Suministro Eólica Marina de NJ — 29 Nov 2024
- Bill Lauer se Jubila de DVIRC, Señalando una Nueva Era en Desarrollo de Negocios
- Año Nuevo, Nueva Eficiencia: Resoluciones Clave para tu Sistema de Aire Comprimido
- Explore tecnología de vanguardia en filament winding y tendencias de mercado en conferencia World of Filament Winding