Reloj y Analizador de Radio DCF77 v2.0 – Proyecto Arduino Mega/UNO
Componentes y Suministros
| Componente | Cantidad |
|---|---|
| Arduino Mega 2560 | 1 |
| Arduino UNO | 1 |
Sobre este Proyecto
Tras descubrir Arduino, el autor quiso crear algo útil. Siempre le gustaron los relojes de radio (sincronizados con señal DCF77 desde Alemania), así que decidió hacer un reloj que no solo muestre la hora, sino que muestre qué está ocurriendo con la señal.
Tras cientos de horas y errores, logró un reloj funcional con código propio y diseño de PCB.
Luego descubrió el Superfiltro DCF77 de Udo Klein, que proporciona señal limpia cuando la recepción es mala. Es una placa Arduino UNO separada con software Superfiltro, actuando como "caja negra" filtradora entre la antena DCF77 y el Arduino Mega que ejecuta el sketch principal.
Versión 2.0 - Mejoras
- Código completamente reescrito
- Ampliamente comentado para fácil comprensión
- Sensor PIR para reducir consumo energético
- Superfiltro DCF77 integrado
- Pantalla extra para temperatura u otros datos (amanecer/atardecer)
Diseño
Panel frontal y carcasa: Diseñado en Inkscape (software libre). La fabricación del panel frontal fue lo más difícil. Se probó corte láser en acrílico con capa de aluminio, pero el láser no daba tolerancias suficientes. Finalmente se usó servicio online de impresión en panel DiBond (28€ con envío). Importante: verificar que impriman 1:1 sin escalar.
Luego se requirió taladrado y fresado extensivo para montar displays, LEDs, interruptores, etc.
Código
Analizador/Reloj DCF v2.1 (Arduino Mega)
Código completo extenso con las siguientes características principales:
- Bibliotecas: Time, Wire, DS1307RTC, LedControl (versión modificada para ánodo común), SPI, OneWire, DallasTemperature
- Gestión de pines Mega (22-53 para LEDs, pines analógicos para buzzer, altavoz, chimenea)
- Configuración usuario: test LED al inicio, resolución DS18B20, horarios ahorro energía, PIR, reset temperatura medianoche
- Decodificación señal DCF77 con comprobación de paridad (3 bits)
- Visualización en anillos LED internos/externos, displays 7 segmentos (Maxim 7219)
- Sincronización RTC, ahorro energía (apagado displays noche/PIR), chimenea horaria, beep DCF
Código completo truncado en origen. Disponible para descarga en el proyecto original.
Sketch Superfiltro (Arduino UNO)
Implementación del Superfiltro DCF77 de Udo Klein (blinkenlight.net). Proporciona salidas: filtrada, semi-sintetizada, sintetizada, pulso 1Hz, indicador calidad señal, LEDs diferencia. Usa biblioteca dcf77.h.
// Configuración pines Arduino UNO para Superfiltro
const uint8_t dcf77_sample_pin = 19; // A5 - Entrada DCF
const uint8_t dcf77_filtered_pin = 12; // Salida filtrada
const uint8_t dcf77_semi_synthesized_pin = 16; // A2 - Salida semi-sintetizada
const uint8_t dcf77_synthesized_pin = 6; // Salida sintetizada
const uint8_t dcf77_monitor_pin = 18; // A4 - LED monitor DCF
const uint8_t dcf77_second_pulse_pin = 10; // LED 1Hz / filtro bloqueado
const uint8_t dcf77_signal_good_indicator_pin = 13; // LED calidad señal
// ... pines para LEDs diferencia
#include
// Código completo en repositorio de Udo Klein
Partes Personalizadas y Cajas
- PCB para displays hora/fecha (Maxim 7219, displays 7 segmentos 0.56")
- PCB para displays 7 segmentos compactos KingBright SC39-11SRWA
- Archivos de sonido: tic-tac y campanadas para reloj de pie
Esquemáticos
Esquemas completos en archivo ZIP descargable: dcf77-analyzer-clock-v2_1_jVZT5sqIwn.zip
Proceso de manufactura
- Reloj de cuco: historia, artesanía y evolución moderna
- Reloj POV con Arduino: Construye una pantalla LED de persistencia de visión
- Construye un reloj Numitron retro con Arduino: Simple, fiable y eficiente energéticamente
- Construye un Reloj de Pared Elegante con Anillo Neopixel 60 LEDs Adafruit y Arduino
- Reloj de Palabras DIY con Arduino: Construye una Pantalla Elegante en Tiempo Real
- Construye un reloj en tiempo real con Arduino para horarios de oración islámica
- Construye un Spybot controlado por Bluetooth con Arduino
- FlickMote: Mando IR por gestos para Smart Home
- Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
- Monitor de Temperatura y Reloj en Tiempo Real con Arduino Due y Pantalla TFT 3.2"
- Construye un reloj despertador fiable con RTC DS1302 y Arduino UNO