Circuitos Electrónicos

Termómetro digital con reloj (versión 2009)

Escrito por: Carlos Díaz

Vista de la pantalla principal del termómetro digital con reloj controlado por PIC16F876AEste termómetro digital muestra en una misma pantalla LCD 16X2 la temperatura actual, fecha completa (reconoce años bisiestos), hora y día de la semana. Asimismo es posible consultar en todo momento las temperaturas máximas y mínimas diarias de toda la semana asi como las horas a las que se produjeron. Además dispone de una alarma que avisa a la hora deseada e incorpora un control inteligente de la iluminación de la pantalla.

Esquema del termómetro digital controlado por PIC16F876A

Descarga del software para el PIC:     termorelojv2.asm    |    termorelojv2.hex
Ver esquema ampliado:    circuito_termometro1.bmp
Ver pantalla del Ic-Prog:     termorelojv2_icprog.jpg

Aviso: Este programa sólo funciona con el esquema versión v 2.0. Si has hecho el circuito con el esquema de 2003 no puedes usar este nuevo software para el PIC, ya que podría provocar una avería debido a un cambio que he tenido que hacer en la conexión del pulsador C. Para ver la información del antiguo termómetro haz click aquí.

El sensor de temperatura empleado es un LM35, este dispositivo proporciona 10mV por grado centígrado en su salida. Posteriormente esta señal es acondicionada por U2. El cual se encarga de cambiar la escala de medida y sumarle 1,25V de esta forma se obtiene una tensión variable entre 0V y 5V cuando la temperatura varia de -25,6ºC a +76,7ºC. Esta tensión se introduce por el pin2 del PIC16F876A, que lleva un convertidor analógico-digital integrado de 10 BIT. Éste es el encargado de convertir la señal analógica en digital. Si aun no tienes un programador para este PIC pulsa aquí

He conectado directamente la iluminación del display a una de las salidas del PIC. No me ha hecho falta resistencia limitadora porque ya esta limitado por software. Mediante una señal PWM se controla la potencia que se entrega a los leds de la retroiluminación de la pantalla. Aún así, cuando la conectes por primera vez deberás asegurarte que la iluminación de tu pantalla no consuma mas de 25mA, de lo contrario, la salida del PIC acabaría por dejar de funcionar (en el esquema se explica la forma de conectar pantallas de mayor consumo). La pantalla LCD que yo he utilizado es de la marca Cebek, modelo C-2605, y el consumo de la retroalimentación está muy por debajo de ese límite, por lo que no hay peligro alguno para el microcontrolador.

Si no dispones del LM358 (U2) puedes sustituirlo por un LM833 o por dos LF411. Encontrarás las características de todos estos componentes en la sección Datasheets.

A continuación los datos obtenidos con un calibrador de temperatura, enviados por Leonardo Román para el modelo de 2003, pero válidos también para este modelo porque no se ha tocado la parte de la adquisición de temperaturas:

Lectura Calibrador [ºC]
Lectura termómetro [ºC]
30
30.0
35
34.9
48
47.9
55
55.1
62
62.0
70
70.1

 

Estos resultados se obtienen sin necesidad de hacer ningún tipo de ajuste previo. Por ello es importante respetar las tolerancias de las cuatro resistencias que vienen indicadas en el esquema (1%).

El funcionamiento del circuito es el siguiente:

ALARMA

Para acceder al menú de la alarma pulsar una vez el botón B, se mostrará entonces la información referente a la alarma.

Para activar o desactivar la alarma pulsar el botón A. Cuando la alarma este activada se mostrará un símbolo al lado de la hora.

Para cambiar la hora de la alarma mantener pulsado unos segundos el botón C, pulsando el botón A se incrementa en uno el numero que indique el cursor. Para mover el cursor al siguiente numero pulsar B.

Para que deje de sonar la alarma pulsar cualquier botón desde la pantalla principal.

AJUSTE DE FECHA Y HORA:

Desde la pantalla principal pulsar el botón B dos veces, se muestra el mensaje "Fecha y hora". Mantener pulsado el botón C unos segundos.

En primer lugar se pedirá que ajuste la hora, pulsando el botón A se incrementa en uno el numero que indique el cursor. Para mover el cursor al siguiente numero pulsar B.

Cuando se ha ajustado la hora pulsar B para pasar al ajuste de la fecha.

Para ajustar la fecha se sigue el mismo procedimiento que con la hora. El formato de la fecha será: dos números para el día, dos para el mes y otros dos para el año (dd/mm/aa). Si se introduce una fecha incorrecta se muestra el aviso "FECHA INCORRECTA" y se vuelve a pedir que introduzca la fecha.

Cuando se acaba de ajustar la fecha se pulsa B y se pasa al ajuste del día de la semana: pulsar A hasta que aparezca en pantalla el día de la semana correcto. Pulsar B para volver a la pantalla principal.

ILUMINACIÓN INTELIGENTE DE LA PANTALLA:

La iluminación de la pantalla dispone de 4 modos de funcionamiento seleccionables desde el menú de iluminación del display:

Auto1: La pantalla se ilumina completamente cuando pulsamos cualquier botón. Cuando pasan 7 segundos sin presionar ningún botón pasa a iluminarse de forma ténue.
Auto2: La pantalla se ilumina completamente cuando pulsamos cualquier botón. Cuando pasan 7 segundos sin presionar ningún botón se apaga completamente.
Siempre: Pantalla siempre encendida. La pantalla se queda permanéntemente encendida.
Nunca: Pantalla siempre apagada. La pantalla se queda permanéntemente apagada.

CAMBIAR MODO DE ILUMINACIÓN DE LA PANTALLA:

Desde la pantalla principal presionar el botón B 3 veces, el texto "Iluminar display" aparecerá en la primera línea. En la segunda línea aparecerá el modo actual seleccionado. Pulsar el botón A de forma sucesiva, los modos irán cambiando en la segunda línea. Pulsar el botón B para seleccionar el modo deseado y volver a la pantalla principal.

MÁXIMAS Y MÍNIMAS:

El dispositivo esta dotado de ocho memorias para almacenar la máxima y la mínima de cada dia de la semana y la máxima y mínima absolutas.

En la memoria absolutas se almacenan las temperaturas máxima y mínima desde la ultima vez que se resetearon. esta memoria es la única que se puede borrar manualmente.

En las memorias individuales de cada dia de la semana se almacenan las máximas y mínimas de toda la semana y las horas a las que se produjeron, por ejemplo, si estamos a martes en la memoria del martes estará la máxima y mínima de hoy, en la del lunes estarán las de ayer, en la del domingo las de anteayer y asi sucesivamente. Al pasar el día la memoria correspondiente al nuevo dia, que contiene información de la semana pasada, se borra automaticamente.

CONSULTA DE MÁXIMAS Y MÍNIMAS:

Pulsar A desde la pantalla principal una vez para la absoluta, dos veces para la del martes, tres veces para la del miércoles... así sucesivamente y se irán mostrando las máximas, bajo una M mayúscula y las minimas bajo una m minúscula.

para consultar las horas a las que se produjeron ir hasta la pantalla del dia de la semana que se quiere consultar y pulsar el botón C.

BORRAR MÁXIMAS Y MÍNIMAS:

La absoluta es la única que se puede borrar manualmente, para ello pulsar una vez el botón A desde la pantalla principal y mantener pulsado el botón C unos segundos.

El resto de temperaturas se borran automáticamente cuando caducan (despues de una semana)

DESCONEXIONES DE ALIMENTACIÓN:

Cuando se desconecta el circuito de la alimentación no se pierde ningún dato. Si la desconexión es de unos segundos el reloj solamente experimentará un leve retraso.

DIAGRAMA DE FLUJO:

Diagrama de flujo de las pantallas del termometro-reloj

Ver fotos del termómetro con reloj

Información adicional