# Leer temperatura con Pic 16F628a



## jconte (Feb 5, 2008)

Hola a todos soy nuevo en el foro e encontrado muchas cosas utiles y me alegra ver que tanta gente se ayuden mutuamente.
Quiero construir un lector de temperatura con un pic 16f628a , un sensor Lm35 y mostrar la temperatura en display de siete segmentos, pero no logro configurar los registros. Tengo algunas notas pero se refieren al 16f870.
desde ya les agradezco a quienes puedan ayudarme.


----------



## PICMIND (Feb 5, 2008)

Usas lenguaje C o Assembler? Lo que debes hacer es activar el pin Vref+ a un divisor de tension que te de 2.5 V, una vez que tengas esto podras trabajar practicamente de forma directa con el lm35. luego lo muestras por los display.

Espero que te sea de utilidad, cualquier cosa me avisas y te paso el programa.

suerte


----------



## jconte (Feb 5, 2008)

gracias por responder, utilizo assembler mañana lo pruebo y te cuento como me fue.
Si tenes alguna información mas sera de mucha ayuda, es que soy muy nuevo en la programacion de pics, gracias.


----------



## mabauti (Feb 5, 2008)

ojo : con el 16F628a unicamente podrias hacer un termostato, pero NO un lector de temperaturas. Si lo quieres leer gradualmente utiliza uno que tenca ADC integrado (16f88 o 16f877)


----------



## jconte (Feb 5, 2008)

No sabia eso , supuse que se podia tomar lectura, gracias por el dato.


----------



## jconte (Feb 6, 2008)

Este fin de semana intentare con otro pic ya que con el 16f628 parece que no se puede.


----------



## Meta (Feb 6, 2008)

Saliendo del 16F84A, ¿Cual es recomendable a seguir?

El 16F88 o el 16F876A o 16F87x?


----------



## jconte (Feb 10, 2008)

Logre leer el LM35 pero con un pic 16f870 el dato aparece en los registros ADRESH y ADRESL.
Mi preguta es: ¿Como lo puedo mostrar en displey lcd o siete segmentos.?


----------



## mabauti (Feb 10, 2008)

> ¿Cual es recomendable a seguir?
> 
> El 16F88 o el 16F876A o 16F87x?


 Cualquiera de estos son buenos. De preferencia el 876a por mas prestaciones , o el f88 por mas economico.



> Logre leer el LM35 pero con un pic 16f870 el dato aparece en los registros ADRESH y ADRESL.
> Mi preguta es: ¿Como lo puedo mostrar en displey lcd o siete segmentos.?


Necesitas convertirlo de binaria a BCD y luego a 7 segmentos o esta rutina para LCD tre puede servir
http://www.x-robotics.com/rutinas.htm#LCD


----------



## esteban_santiago83 (May 13, 2008)

Hola yo tengo que hacer exactamente lo mismo que la persona que creo este tema con la diferencia de que yo si debo utilizar el pic 16f628a pues es el que contiene el resto del programa y ya no tengo tiempo para experimentar con algun otro, la idea es que me gustaria saber que datos me estaria entregando el adc0808 con el que realizo la conversión, pues este dato lo debo enviar a una aplicación de basic y necesito ver como me llega el dato si es binario o hexadecimal o BCD, Ayudenme por favor


----------



## mabauti (May 13, 2008)

bajate el datasheet del adc. El dato del adc viene en binario, por lo que necesitas de una rutina de conversion de binario a bcd consulta en piclist.com


----------



## AG-1 (Nov 12, 2008)

Yo utilizaria como sensor de temperatura el DS18S20 u otro similar en lugar del LM35 por multiples razones:
Necesitas 3 conductes para su conexion.
Necesitas una tension de referencia mas o menos estable para poder obtener una medida estable.
Necesitas una conversion Analogico-Digital para poder ser interpretada por el microcontrolado. 
Todo lo anterior hace que necesites  una circuiteria que no te seria necesaria con DS18S20.


El DS18S20 se puede alimetar en modo " parasite power" con lo que necesitas solamente 2 conductores que interconexionen el sensor con el PIC.
La tension de alimentacion es mucho mas flexible.
Permite distancias condiderables entre el sensor y el microcontrolador.
Permite la utilizacion de varios sensores sobre el mismo bus(puedes utilizar un solo pin de E/S del PIC para leer varios sensores).
Puedes utilizar un PIC economico por ejeplo el 16F628A. 
...
...
En fin mucahas ventajas para el inconveniente de tener el precio algo mas elevado.
Hace años utilice para un montaje el LM35 pero hoy en dia creo que no lo volveria a utilizar.
Saludos.


----------



## zgouki (Dic 4, 2008)

Amigos yo uso el 16F628A, por lo que leo este no tiene conversor ADC. De todos modos alguien me explica para que sirve el portA ademas de Digital I/O ? Fijense en la imagen que adjunto: RA2/*ANA2/VRef*
Que significa esto y para que sirve? Saludos


----------



## Meta (Dic 4, 2008)

*DS1820* también vale. No confundir con el DS18S20.


----------



## pic-man (Dic 4, 2008)

zgouki, el 16F628 tiene 2 comparadores analógicos, los cuatro pines ANx son las entradas de los comparadores y los pines CMPx las salidas.


----------



## zgouki (Dic 4, 2008)

> zgouki, el 16F628 tiene 2 comparadores analógicos, los cuatro pines ANx son las entradas de los comparadores y los pines CMPx las salidas.


Gracias amigo pic-man. Como puedo usar estos comparadores y que proyectos podría encarar? Es posible hacer un termometro con el LM35? Ah, y faltaría saber para que es el Vref....
Saludos.


----------



## mabauti (Dic 4, 2008)

el ADC te da una salida en binario, pero para eso lo tienes que ajustar primero al voltaje requerido; descargate la hoja de datos ahi te dice como hacer las conexiones (del ADC por supuesto)


----------



## nietzche (Abr 29, 2010)

en un pic 16f876a Para sacar una salida de un lm35 y que en un display de LCD te de el dato ya convertido en temeratura hay que hacer lo siguiente:
justificar a la derecha el resultado
leer el adresl y copiarlo a una direccion del rom
hacerle un corrimiento de un bit a la derecha para sacar el resultado
hacer una conversion binario a bcd, si a alguien le interesa le doy el codigo


----------



## ElTox (Abr 29, 2010)

hola, pues yo ando con lo mismo, y la verdad es que este es mi primer proyecto con pics, aún no sé ni que lenguaje utilizar para programar, nietzche, si pudieras poner el código de tu programa en C o bueno, en lo que puedas, ya me daré a la tarea de tratar de comprender, de antemano gracias , por cierto si pudieras ponerlo también en ºF ^^


----------



## lanpu (May 12, 2010)

ElTox dijo:


> hola, pues yo ando con lo mismo, y la verdad es que este es mi primer proyecto con pics, aún no sé ni que lenguaje utilizar para programar, nietzche, si pudieras poner el código de tu programa en C o bueno, en lo que puedas, ya me daré a la tarea de tratar de comprender, de antemano gracias , por cierto si pudieras ponerlo también en ºF ^^




Yo tambien paso por algo similar, y por lo que decían más arriba, como se podría usar como termostato???...incluso ocupando termistores???....me complica la parte de la conversión analoga - digital, que se podría realizar con un pic 16f88, pero no se como programar esa etapa, sería muy buena su ayuda, asi tambien la podriamos usar para otro tipo de sensores como LDR por ejemplo.

GRACIAS!


----------



## pxcalle (Jun 29, 2010)

A pesar de que el pic 16f628A tiene comparadores de voltaje, no es muy util usarlo para hacer este tipo de proyectos, lo que tiene que hacer es conseguirse un pic que tenga conversones analogicos-digitales, ya que le dato de voltaje que le entregue el sensor, lo podra introducir para que el pic lo lea y lo convierta en dato digital, de manera que con la programacion ud pueda manipular el dato a su antojo..


----------

