Reloj LED con 2 alarmas

Kit Reloj LED (FC-209)
Kit Reloj LED (FC-209)

Incorporación de una segunda alarma horaria, en el firmware para el reloj LED de esfera rotante. Esta es la versión v5c para el kit FC-209 y la v6C para el reloj de pared. En esta versión también se cambia el menú de configuración, con el fin de facilitar el ajuste de las dos alarmas horarias. Antes estaba dentro del menú de configuración, pero este menú ha ido creciendo de tamaño poco a poco a medida que se han ido incorporando  nuevas funciones al reloj. Al final  se hacía muy incómodo cambiar la hora de la alarma, ya que era necesario pasar a través de todos los parámetros de configuración del reloj.

A continuación se muestran un diagrama, válido tanto para el kit de reloj FC-209 como para el reloj de pared, una con la versión de los textos en español y la otra en inglés.

Diagrama de programación
Diagrama de programación
Programming in English
Programming in English

Gestión de las 2 alarmas horarias

Con esta versión se podrían configurar 2 alarmas horarias, sin prioridad entre ellas pero siguiendo este criterio:  Cuando una de las dos alarmas se dispara, mientras permanezca en su periodo activo, la otra alarma nunca podrá dispararse. (ver el diagrama que se muestra a continuación)

Gestión de alarmas
Gestión de alarmas

 

 

Programador ICSP con ARDUINO

Construcción de un programador serie (ICSP) utilizando Arduino. Si no disponemos de un programador, esta es la solución más barata. Sin embargo, tanto el código de Arduino como el software de programación, son específicos para programar el micro-controlador AT89S51/AT89S52… y no sirven para programar cualquier otro modelo.

AT89S52
AT89S52

FICHEROS

En la página del autor del proyecto: TIKTAK’S PROJECTS , encontrarás además de la información de este proyecto, el link de acceso directo a la descarga de los archivos que necesitas. El fichero que debes cargar a tu Arduino para que funcione como programador, y el programa que necesitarás para exportar el archivo hexadecimal (firmware) hacia el micro-controlador AT89S51/AT89S52.

INFORMACIÓN

He creído conveniente incorporar esta información en el blog, con el fin de ampliar un poco más los detalles de funcionamiento de este programador, y también porque en este canal tenéis otros proyectos en los que se utiliza el mismo tipo de micro-controlador. Si eres aficionado a la electrónica y no dispones de un programador, este montaje te podría ser de mucha utilidad.

Montaje ICSP
Montaje ICSP

Si quieres fabricarte un programador ICSP (In-Circuit Serial Programming) , solo necesitarás una placa de Arduino -no importa el modelo- y montar el circuito que se muestra a continuación:

Esquema ICSP
Esquema ICSP

El ejemplo siguiente muestra cómo puedes programar un circuito, en el que ya existe una entrada para su programación en serie:

  •  ISP (In-system programming) 
  • ICSP (In-Circuit Serial Programming)
Programador ICSP
Programador ICSP

INCONVENIENTES

Existen algunas limitaciones y desventajas si comparamos este programador con otro de tipo convencional. La primera y más importante, es que el software NO permite verificar la integridad de lo que se ha grabado. Si existiera algún error durante la escritura, el software no lo detectaría. En estos casos, lo normal es que el dispositivo programado no llegara a funcionar, pero dependiendo del tipo de error, podría funcionar de manera defectuosa.

La segunda no es tan importante, pero ha tardado 4 minutos en programar los 6.813 bytes del fichero con el que he realizado las pruebas. Con un programador convencional  el proceso completo: borrado, escritura y comprobación, se realiza en algo menos de 13 segundos.

Firmware for LED Clock – ENGLISH

Firmware for FC-209 kit in English, LED clock with rotating sphere. This video is dedicated to fans of channel who don’t understand Spanish language, but they’re interested in some assemblies that have presented on the channel.

Flow diagram
Flow diagram

English firmware: J_RPM_v5e_EC1204B.HEX

The explanation about how working of all components contained in this circuit, not going to repeat in English, because the manufacturers documentation is already in English … and is much fuller than that I could explain here.

 

Cronómetro LED #5 (FC-209)

Utilizando los mismos componentes  del kit de reloj FC-209 (hardware), podemos convertir el reloj en un cronómetro de precisión… sólo tenemos que reprogramar el micro-controlador AT89S52. Si programamos en el cronómetro las funciones de cuenta hacia delante, cuenta atrás y auto-arranque, podríamos utilizar el cronómetro como marcador de tiempo en eventos deportivos.

Cronómetro de 24 segundos
Cronómetro de 24 segundos

Haciendo unas pequeñas modificaciones en el hardware, sería posible convertir este pequeño reloj en un marcador de gran tamaño, y utilizarlo en un recinto deportivo. Después de sopesar las posibles opciones, decidí incluir la funcionalidad del cronómetro dentro de la última versión del firmware (v4). De esta manera no será necesario sustituir el micro-controlador cuando queramos utilizar este kit de reloj (FC-209) como cronómetro. La versión 5 del firmware, se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v5_EC1204B.HEX

Como este reloj sólo dispone de dos pulsadores para realizar maniobras, ya que el tercer pulsador es el del Reset del micro-controlador, es necesario definir cuál será su modo de funcionamiento (Reloj/Cronómetro) en la fase de arranque, y mantenerlo fijo hasta un nuevo reinicio. Como la función principal es la de Reloj-Temperatura, definimos este modo como ‘arranque por defecto’. Es decir, si no tocamos ningún pulsador en la fase de conexión, funcionará como Reloj-Temperatura. Para cambiar de modo reloj a cronómetro, realizaremos los siguientes pasos:

  • Pulsaremos el botón ‘RESET’
  • Cuando aparezca el mensaje rotante, mantendremos pulsado el botón ‘MODE’
Configuración del Reloj LED (v5)
Configuración del Reloj LED (v5)

Una vez que que hayamos entrado en el modo ‘cronómetro’, ya podremos configurar sus parámetros de funcionamiento. Estos valores se guardarán en el chip de memoria del reloj (DS1302), y estos serán los nuevos valores de arranque del cronómetro. Al igual que sucede con los parámetros del reloj, tendremos que tener conectada la pila de ‘tampón’ en el chip, si no queremos perder todos los datos cuando falte la alimentación.

Firmware Reloj #4 (Compatible FC-209)

Kit Reloj LED (FC-209)
Kit Reloj LED (FC-209)

La versión 4 del firmware es totalmente compatible con el kit de reloj FC-209 (EC1204B). El funcionamiento y prestaciones son las mismas que las de la versión 3, pero en este caso se ha deshabilitado el límite máximo de temperatura. Como el sensor DS18B20 podría mostrar temperaturas de hasta 125ºC, podríamos sustituir el sensor de temperatura interno –coloreado en amarillo– por otro prolongado y con encapsulado en acero inoxidable. Así sería posible utilizar este reloj como termómetro, para medir con precisión la temperatura de fluidos, calefactores, circuitos electrónicos, frigoríficos, etc.

La versión 4 del firmware, se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v4_EC1204B.HEX

Sensor de temperatura: DS18B20
Sensor de temperatura: DS18B20

Al sustituir el sensor de temperatura de la placa por otro externo, podremos utilizar este reloj como termómetro para medir temperaturas ambientes y además objetos sólidos o líquidos,  comprendidas entre -10 y +125ºC. Solo tenemos que  fijar el modo de presentación Temperatura,  mediante una breve pulsación del botón [PLUS]. Este reloj dispone de 3 modos de presentación:

Hora  >>> [PLUS] >>> Tempertura >>> [PLUS] >>> Fecha+Temperatura 

Las funcionalidades de la versión 4 son idénticas a la de la versión 3. A continuación se muestra un diagrama con la secuencia de programación de todos los parámetros, válido para  ambas versiones.

Configuración del Reloj LED (v3)
Configuración del Reloj LED (v3-4)