Reloj termómetro con PIC 16F628
25 Enero 2009 11:35 pm Electrónica, ProyectosRecientemente 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)
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.


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.
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/
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.
Agustín :
Fecha: 19 Mayo 2009 @ 17:07
Desde ya, un espectáculo el circuito….pero me vendrian espectacular los archivos
, y el link no funciona :S.
admin :
Fecha: 19 Mayo 2009 @ 18:30
Ya esta arreglado el enlace. Gracias por comentármelo.
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.
admin :
Fecha: 30 Junio 2009 @ 23:50
Hola Javier. Ese fichero es propiedad de CCS y por eso no puedo difundirlo.
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
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
percyamn :
Fecha: 18 Noviembre 2009 @ 6:57
mejor no deben de publicar proyectos incompletos
admin :
Fecha: 18 Noviembre 2009 @ 9:17
Mejor no comentar si no se ha leido el artículo entero
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.
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.
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ú?…
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
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
Javier :
Fecha: 19 Diciembre 2009 @ 2:33
Gracias Oscar.
Un saludos. Te envio un email.
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.
camilo_0515 :
Fecha: 8 Abril 2010 @ 20:27
Muy buena página y excelentes proyectos; aunque veo que hay quienes se dedican a molestarte porque según ellos no están completos; falso, quieren todo gratis y sin esfuerzo para agenciárcelos con las manos en la cintura.
No comprenden que hay que poner de nuestra parte y agradecer que haya personas que sacrificando tiempo dinero y esfuerzo (aún en éstos dias) publiquen trabajos que nos den ideas apartir de las cuales desarrollemos y ampliemos las nuestras.
Gracias por tu aporte, soy autodidacta y buscaba un proyecto como éste.
Saludos desde Tabasco México.
admin :
Fecha: 8 Abril 2010 @ 20:32
Hola Camilo
Muchas gracias por tu apoyo. Es cierto que hay gente que hace esas cosas y no le veo ningún sentido excepto el de fastidiar por que si, sin embargo no me afectan y seguiré compartiendo los proyectos que vaya haciendo.
second_2 :
Fecha: 18 Abril 2010 @ 4:34
hola buen dia, descargue el reloj termometro y trabaja muy bien, lo quisiera modificar para ir aprendiendo un poco de micros pero tal y como esta el programa en C me marca un error al compilar: dice que esta fuera de ROM que una linea es muy larga “leecadenaeeprom” intente en la ayuda de picc aplicando #inline y #separate pero sigue sin compilar, me podrias dar algun tip, gracias.
admin :
Fecha: 18 Abril 2010 @ 6:28
¿Qué tipo de PIC estas usando como target para compilar?
second_2 :
Fecha: 20 Abril 2010 @ 4:04
el pic16f628A, la simulacion en proteus es perfecta con los archivos que descargue, pero el problema que tengo es la ROM.en el bloc de notas no entiendo:
#ROM 0×2100={“\f hola TODOPIC”}, LO COMPILO EN PICC, ¿LA LIBRERIA #include “main.h” ME INDICA EL TIPO DE PIC? O TENGO QUE DECLARAR LA LIBRERIA DEL PIC16F628A?
admin :
Fecha: 20 Abril 2010 @ 6:42
En el main.h tiene un #include <16F628A.h> que obtiene los valores necesarios para compilar. Si quieres puedes enviarme todos los ficheros de tu proyecto en un .zip a oscarrp@gmail.com para que mire que puede estar pasando.
Paul Molina :
Fecha: 15 Junio 2010 @ 6:42
Execelente proyecto me gusto mucho! solo quisiera saber en que program esta realizado el código fuente por que yo uso microcode studio plus!
Gustavo :
Fecha: 18 Julio 2010 @ 1:20
Amigo muy bueno tu proyecto lo e montado en proteus y funciona de 10, solo me asalta una duda, cuando lo apagas, y lo prendes tienes que volver a actualizar hora y fecha o es automatico, de antemano muchas gracias sigue asi
Gustavo :
Fecha: 18 Julio 2010 @ 1:37
A se me olvida no se mucho de programacion de microcontroladores ya que recien estoy comenzando y me gustaria saber como modificar el mensaje que dice “todotopic”
gracias
admin :
Fecha: 27 Julio 2010 @ 21:22
La pila de botón esta para eso precisamente, para seguir actualizando los valores de fecha y hora cuando está apagado. El mensaje lo puedes modificar en el fichero main.h.