Reloj termómetro con PIC 16F628

11:35 pm Electrónica, Proyectos

Recientemente he creado un reloj-termómetro hecho con un PIC 16F628A, un sensor de temperatura i2c DS1624, un reloj en tiempo real i2c DS1307 y un LCD de 16×2 compatible con Hitachi HD44780.

El sistema, una vez encendido, muestra la fecha y hora, la temperatura junto con los valores máximo y mínimo que alcanza y finalmente un mensaje personalizado. Aquí hay un video que he grabado del mismo:

El esquema del circuito es el siguiente:

Y desde aquí os podeis bajar el .hex y el código fuente (CCS C)

proyecto

La fecha y hora se configuran con sólo un botón pulsador que está conectado a RB0 y que funciona por temporización e indexación. Es decir, si tu pulsas la primera vez el botón, se mostrará en el LCD la fecha y hora y el indice 0, que indica que vas a modificar el día, entónces si pulsas dentro de los dos segundos siguientes el botón, el día se incrementará, si no lo pulsas, el indice se incrementará a 1 y se podrán modificar los meses de igual manera. Así hasta llegar al indice 5 que son los segundos y después mostrará la fecha y hora actualizadas renovandose cada segundo.

A los diez segundos de mostrar la fecha y hora se muestra la temperatura actual junto con los valores máximo (M) y minimo (m) que se han alcanzado. Si son los 30 primeros segundos de medianoche se resetearán esos valores.

A los diez segundos de mostrar la temperatura, se mostrará un mensaje personalizado que se ha guardado en la EEPROM al programar el PIC. Pasados cinco segundos vuelve a mostrar la fecha y hora.

El PIC usa el oscilador interno de 4Mhz. El programa ocupa un 98% de su memoria de código. Aunque en el video vereis que hay un interruptor de encendido/apagado, un led indicador de encendido/apagado y unas resistencias variables para el LCD, con lo que hay en el esquema es suficiente para funcionar. Vcc son 5 voltios conseguidos a través de un 7805.

18 Respuestas
  1. Jonhy :

    Fecha: 14 Febrero 2009 @ 12:39

    Buenas, me gusta tu página, suelo entrar bastante, desde que la conocí, cuando publicaste el artículo de domótica a bajo coste, en el que encendías una lámpara. Curioso, estuvimos probándolo un colega y yo, y al final nos funcionó. Tengo algunas dudas:
    - ¿donde puedo comprar los materiales?
    - No tengo ni idea de circuitería, bueno, lo básico que dan en la universidad (técnico informático de sistemas), pero me gustaría aprender, ya que me relaja y no me importaría hacer cosas de estas en mi tiempo libre. ¿Qué conocimientos debo tener para comenzar, o para poder hacer el circuito que montas aquí en el artículo?

    Gracias, saludos.

  2. admin :

    Fecha: 28 Marzo 2009 @ 8:35

    En la carrera se da poco de electrónica (2 asignaturas) por lo que te recomiendo que seas autotidacta.

    El proyecto de domótica fue un circuito que me compré ya hecho basado en optoacopladores que se enchufan al puerto paralelo y manejan relés.

    Yo empecé con los pocos conocimientos que tenía con el libro de “Microcontrolador PIC16F84. Desarrollo de proyectos” http://www.pic16f84a.org/ y la verdad es que como base está muy bien.

    Luego en páginas web como http://todopic.com.ar o http://picmania.garcia-cuervo.net/ se aprende mucho.

    Los componentes o bien los compras en tiendas de electrónica que haya en tu localidad o en páginas web como http://es.rs-online.com/web/

  3. Artejose :

    Fecha: 14 Mayo 2009 @ 20:26

    Gostei muito do circuito, mas infelizmente o arquivo não pode ser mais baixado, gostaria de ter os arquivos. Grato.

  4. Agustín :

    Fecha: 19 Mayo 2009 @ 17:07

    Desde ya, un espectáculo el circuito….pero me vendrian espectacular los archivos :P , y el link no funciona :S.

  5. admin :

    Fecha: 19 Mayo 2009 @ 18:30

    Ya esta arreglado el enlace. Gracias por comentármelo.

  6. Javier :

    Fecha: 15 Junio 2009 @ 15:02

    Hola amigo.

    Felicidades por tu circuito del reloj y temperatura, me voy a poner con el para hacermelo.
    la unica duda es que he descargado el proyecto y en el zip falta la libreria del sensor de temperatura
    #include
    y me da error al compilar, haber si me lo podias enviar, gracias y felicidades.

  7. admin :

    Fecha: 30 Junio 2009 @ 23:50

    Hola Javier. Ese fichero es propiedad de CCS y por eso no puedo difundirlo.

  8. Lars :

    Fecha: 9 Julio 2009 @ 8:25

    admin :
    Fecha: 30 Junio 2009 @ 23:50

    Hola Javier. Ese fichero es propiedad de CCS y por eso no puedo difundirlo.

    Jaaa… y vos seguro que pagaste por esa libreria.
    javier, podes colocar un sensor de temperatura de cualquier tipo, por ejemplo el LM35 que es muy economico y te da una salida de 10mV por cada Cº, por lo que si conectas la salida a cualquier entrada analogica, podes leer la temperatura directamente del conversor AD del PIC, este proyecto es para BabyProgramadores, cualquier Gil puede hacerlo, y este se da aire de Importancia.
    Por cualquier consulta, escribilas aqui

  9. admin :

    Fecha: 9 Julio 2009 @ 8:43

    Lars

    Pues si, he pagado por el compilador CCS.

    No puedo ni imaginar lo Gil que debes ser sabiendo que el pic con el que se ha desarrollado el proyecto no tiene conversor analógico/digital.

    Vamos, que te quieres dar aires de sabiondo diciendo lo del LM35 y ni siquiera sabes el microcontrolador con el que se está haciendo. Lamer

  10. percyamn :

    Fecha: 18 Noviembre 2009 @ 6:57

    mejor no deben de publicar proyectos incompletos

  11. admin :

    Fecha: 18 Noviembre 2009 @ 9:17

    Mejor no comentar si no se ha leido el artículo entero

  12. carlomagno :

    Fecha: 7 Diciembre 2009 @ 2:05

    asi es percyman este circuito no funciona esta incompleto le falta las librerias del sensor de temperatura, el administrador deberia de borrar este tipo de proyectos que no funcionan o esta incompletos.

  13. carloncho :

    Fecha: 7 Diciembre 2009 @ 2:09

    claro carlomagno el administrador , no puede controlarse ni asi mismo.debe de cambiar de profecion ja ja ja.

  14. admin :

    Fecha: 7 Diciembre 2009 @ 9:55

    carlomagno y carloncho. Eres lo que se denomina un troll. Eres la misma persona, y de paso pones comentarios ofensivos (ya borrados por supuesto). Debe ser que no tienes amigos y como te aburres en casa prefieres tocar las pelotas al personal. Por cierto, ¿que tal funciona tu router zyxel de telefónica en Lima/Perú?…

  15. Javier :

    Fecha: 13 Diciembre 2009 @ 20:47

    Hola

    Ya monte el circuito y funciona lo de la temperatura, pero ahora tengo otra duda, como lo pongo en hora, ya que pone hora de inicio del ds1307, gracias admin.
    Si me contestas, saludos

  16. admin :

    Fecha: 13 Diciembre 2009 @ 21:01

    Sólo tienes que pulsar el botón. Durante los dos primeros segundos te saldrá un 0 en el display, que significa que pulsando de nuevo el botón varias veces puedes cambiar el día. Si no lo pulsas durante esos dos segundos, te saldrá en el display un 1, que indica que puedes cambiar el mes si pulsas el botón antes de dos segundos y así para el resto de opciones. Esta es la relación de indices:
    0: Cambiar el día
    1: Cambiar el mes
    2: Cambiar el año
    3: Cambiar la hora
    4: Cambiar los minutos
    5: Cambiar los segundos

  17. Javier :

    Fecha: 19 Diciembre 2009 @ 2:33

    Gracias Oscar.
    Un saludos. Te envio un email.

  18. Meta :

    Fecha: 2 Marzo 2010 @ 3:50

    Hola:

    Me encanta tu Web http://www.sistemasorp.es

    ¿Le interesa enlazarnos entre nosotros?

    Mi Blog es:
    http://electronica-pic.blogspot.com

    Un cordial saludo.

Deja un comentario

Tu comentario

Puedes usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Atención: La moderación de comentarios esta activada y tu comentario puede tardar en aparecer. No es necesario enviarlo de nuevo.