Con bastante frecuencia recibimos consultas sobre cómo funciona o cuáles son las partes de que conforman un termómetro. Hoy decidimos no solo explicarte como funciona uno de estos instrumentos, sino que también te damos todos los datos necesarios para que construyas un termómetro electrónico utilizando lo aprendido en el tutorial sobre programación de microcontroladores.
En general, los termómetros empleados con fines domésticos pueden ser de dos tipos: mecánicos o electrónicos. Dentro de la primera categoría se incluyen los denominados termómetros de mercurio, que basan su funcionamiento en la propiedad que tienen los cuerpos de dilatarse a medida que aumenta la temperatura. En el caso de los termómetros de mercurio, se dispone de un pequeño depósito lleno de este metal, que está conectado a un capilar de vidrio transparente sobre el que se encuentra una escala graduada en grados.
Cuando la temperatura es baja, el mercurio ocupa menos espacio que a altas temperaturas. De esta manera, a medida que sube la temperatura el mercurio de va desplazando por dentro del capilar, ya que no cabe dentro del depósito. La forma de leer estos termómetros consiste en observar la escala y ver hasta qué punto ha subido el metal. Este tipo de termómetro se hizo muy popular debido a su bajo costo y a que funciona perfectamente en el rango de temperaturas en las que vive el hombre.
Pero últimamente han aparecido en el mercado los termómetros electrónicos, cuya lectura es más sencilla, y además, no contienen mercurio, que es un gran contaminante del medio ambiente. Estos termómetros funcionan convirtiendo las variaciones de temperatura en una variación de una tensión o corriente, que luego es evaluada por un microcontrolador y mostrada sobre un display.
Algunos de los sensores de temperatura más modernos incluso incorporan en su interior un pequeño microprocesador que se encarga de hacer la conversión entre temperatura y un valor digital, que puede enviar por uno de sus pines en forma de una serie de “0”s y “1”s cuando es “interrogado” desde el exterior. Uno de los más económicos y fáciles de conseguir es el DS1820, de Dallas.
Utilizando un pequeño microcontrolador y uno de estos sensores de temperatura resulta muy fácil construir un termómetro digital casero. En este caso, las partes del termómetro serán el sensor de temperatura, el microcontrolador y el display. El esquema electrónico que vemos más abajo muestra la forma en que se deben conectar estos elementos.
Los que han seguido las notas sobre electrónica en NeoTeo no tendrán dificultades en descubrir cómo funciona el circuito, que emplea un registro de desplazamiento de 16 posiciones para el manejo del display. Hemos dividido el circuito impreso en dos partes, una para la electrónica de control y otra para el display propiamente dicho. Ambos PCB pueden verse en las imágenes que acompañan el artículo.
Por supuesto, la parte más importante de todo el proyecto es el programa que debemos cargar en el microcontrolador para que sea capaz de mostrar en el display la información deseada. No abundaremos aquí respecto de la forma en que se interroga y obtienen datos desde el sensor DS1820, ya que el artículo sería demasiado extenso, pero consultando su hoja de datos podrán sacarse las dudas que tengan sobre su funcionamiento.
El software que listamos a continuación está lo suficientemente comentado como para que no surjan dudas sobre su funcionamiento. Lo hemos escrito en el BASIC del PIC SIMULATOR IDE, y muestra temperaturas en 0 y 99 grados centígrados. El sensor de Dallas tiene una precisión mayor, pero no hemos utilizado decimales para que el proyecto sea más sencillo y fácil de comprender.
‘—————————————————
Termómetro 00 a 99 grados con 16F627A – v1.01.00
‘—– CONFIGURO PUERTOS—–
PORTA = 0
CMCON = 7 ‘Configuro A como Digital I/O
TRISA = 0 ‘todo Salidas
TRISB = 0 ‘todo Salidas
‘—– Variables—————————-
Dim tempe1 As Byte ‘Parte entera de la temperatura a mostrar
Dim tempe2 As Byte ‘Decimales de la temperatura a mostrar
Dim comando As Byte ‘Comando a enviar al DS1820
Dim tempe As Word ‘Temperatura leída (usada en las rutinas del DS1820)
Dim i As Byte ‘Variable auxiliar multipropósito
Dim col As Byte ‘Variable auxiliar multipropósito
Dim aux As Byte ‘Variable auxiliar multipropósito
Dim aux2 As Byte ‘Variable auxiliar multipropósito
Dim unidad As Byte ‘Variable: unidades
Dim decena As Byte ‘Variable: decenas
‘—– Símbolos—————————-
Symbol ds1820pin = PORTB.3 ‘Puerto en que se conecta el DS1820
Symbol ds1820rw = PORTB.3 ‘1=Leer DS1820 / 0=Escribir DS1820
Symbol clock = PORTB.6
Symbol data = PORTB.7
‘
‘– CUERPO DEL PROGRAMA———————————————————-
‘
loop:
‘Leo la temperatura del sensor ————————
Gosub init1820 ‘Inicializo el sensor y…
comando = 0xcc ‘..Salteo la ROM.
Gosub write1820
comando = 0x44 ‘Comienzo la conversión A/D de la temperatura
Gosub write1820
WaitUs 2000 ‘ Espero a que termine la conversión
Gosub init1820 ‘Inicializo el sensor y…
comando = 0xcc ‘..Salteo la ROM.
Gosub write1820
comando = 0xbe ‘Pido que me envíe lo que calculo el sensor…
Gosub write1820
WaitMs 750 ‘ Espero …
Gosub read1820 ‘Me lo devuelve en tempe1 y tempe2
‘tempe1 = 15
‘Calculo el valor de cada digito
decena = tempe1 / 10
unidad = tempe1 – decena * 10
If decena = 0 Then aux = %01101111
If decena = 1 Then aux = %00101000
If decena = 2 Then aux = %01011101
If decena = 3 Then aux = %01111100
If decena = 4 Then aux = %00111010
If decena = 5 Then aux = %01110110
If decena = 6 Then aux = %01110111
If decena = 7 Then aux = %00101100
If decena = 8 Then aux = %01111111
If decena = 9 Then aux = %01111110
Gosub escribo
If unidad = 0 Then aux = %01101111
If unidad = 1 Then aux = %00101000
If unidad = 2 Then aux = %01011101
If unidad = 3 Then aux = %01111100
If unidad = 4 Then aux = %00111010
If unidad = 5 Then aux = %01110110
If unidad = 6 Then aux = %01110111
If unidad = 7 Then aux = %00101100
If unidad = 8 Then aux = %01111111
If unidad = 9 Then aux = %01111110
Gosub escribo
WaitMs 10000
Goto loop
End
‘Rutinas ——————————–
escribo:
For col = 1 To 8
If aux.0 = 0 Then
data = 0
WaitUs 2
clock = 0
WaitUs 2
clock = 1
WaitUs 2
Else
data = 1
WaitUs 2
clock = 0
WaitUs 2
clock = 1
WaitUs 2
Endif
aux = ShiftRight(aux, 1)
Next col
Return
‘————————————————-
‘Inicializa el DS1820
‘————————————————-
init1820:
ds1820rw = 0 ‘ Pongo el pin como salida
ds1820pin = 0 ‘Pongo en cero el pin del DS1820
WaitUs 500 ‘ Espero más de 480 us
ds1820rw = 1 ‘ Pongo el pin como entrada
WaitUs 100 ‘ Espero más de 60 us a que "reaccione"
WaitUs 500 ‘ Espero a que finalice de enviarme el estado
Return
‘————————————————-
‘Envia comandos al DS1820
‘————————————————-
write1820:
For aux = 1 To 8 ‘Recorro los 8 bits de "Comando"
If comando.0 = 0 Then
Gosub write0
Else
Gosub write1
Endif
comando = ShiftRight(comando, 1)
Next aux
Return
‘————————————————-
‘Envia un cero al DS1820
‘————————————————-
write0:
ds1820rw = 0 ‘ Pongo el pin como salida
ds1820pin = 0
WaitUs 60 ‘hay que mantener bajo el pin mas 60 us
ds1820rw = 1
Return
‘————————————————-
‘Envia un uno al DS1820
‘————————————————-
write1:
ds1820rw = 0 ‘ Pongo el pin como salida
ds1820pin = 0
WaitUs 1 ‘hay que mantener bajo el pin menos de 15 60 us
ds1820rw = 1
WaitUs 60 ‘espero el resto del tiempo…
Return
‘————————————————-
‘Lee temperatura del DS1820
‘————————————————-
read1820:
For aux = 1 To 16 ‘ los 16 bits de temp (word)
tempe = ShiftRight(tempe, 1)
Gosub readbit
Next aux
‘Calculo la temperatura (tempe1) y las decimas (tempe2)
tempe1 = ShiftRight(tempe.LB, 1)
tempe1 = 128 – tempe1 – 3
If tempe.0 = 1 Then
tempe2 = 0
Else
tempe2 = 5
Endif
Return
‘————————————————-
‘Lee un bit del DS1820
‘————————————————-
readbit:
tempe.15 = 1
ds1820rw = 0 ‘ Pongo el pin como salida
ds1820pin = 0
WaitUs 1
ds1820rw = 1
If ds1820pin = 1 Then
tempe.15 = 0
Endif
WaitUs 60
Return
Antes de compilar el programa debemos asegurarnos que el microcontrolador seleccionado en el PIC SIMULATOR IDE sea el correcto. El PIC16F628A o PIC16F627A pueden emplearse sin problemas, y seguramente con pequeñas modificaciones en el esquema eléctrico se podría adaptar para emplear microcontroladores diferentes.
hola, muy bueno el proyecto, se puede hacer con decimas ?? que modificaciones hay que hacer ??? si puedes enviarme un mail te lo agradecere mucho para seguir comprendiendo este tema de los pics. Saludos cordiales Ruben
ustedes lo que son es unos nerdos que se debem conseguir una novias pedezo de ratas de laboratorio
#1
#1 Yo busco caracteristicas y las partes del termometro de mercurio
Hola Ruben! Si, puede construirse con decimales. Basta con agregar un par de digitos mas para ellos, y modificar las rutinas que leen el sensore de temperatura. En su datasheet esta explicada la manera de interrogarlo. Saludos!
den la explicacion ma exacta porque esa no se entiende muy bien
jaja esta padre pero no le entiendo jajajajajajajajaajajajaja bye bye………..
explikenn las partes del termometro y hasta donde llega su escal BIEN!!!!
no e4splican bien las partes de un termometro
deberian de poner un esquema de las partes del termometro
DEBERIAN PONER IMAGENES EN VEZ DE TANTA LETRA QUE NO SIRVE PARA NADA
foo solo quiero. ver el termometro.. "dibujado" y con sus partes.. no quiero leer nadaaaaaaaaaaaaaaaaaaaaa chau es una mierda jaa
jajajjaajajjjajajajjjj 🙂
quiero el termometro dibujado con sus partes
Hola soy nuevo tengo 12 años, revisando esta web encontre el tema interesante. Ahora me pregunto ¿es posible hacer un termometro que mida mas de 99ºC?
¿que opciones existen de hacer uno que mida hasta 300ºC o mas?
Esque mi tio es bombero voluntario aca en chile, siempre habla de lo importante de saber la temperatura al interior del incendio cuando trabaja.
¿servira?
creo que se sorprendera si le regalo uno hacho por mi, ya que siempre dice que: es mejor hacerlo que no hacerlo..
Agradecido
Luchito.
Hola Lucho!
Te felicito por el entusiamo! Efectivamente, es posible hacer un termometro que mida más de 99ºC. Este que mostramos aqui esta pensado para medir temperaturas ambiente, por lo que el rango es pequeño. Pero si utilizas una "termocupla" como sensor, puedes medir hasta 1000 grados!!!
Se trata de una aplicacion industrial, que no tiene mucho interes para el publico en general (que casi nunca tiene que medir esas temperaturas).
Si usas google, busca "interfaz medir temperatura termocupla PIC" y vas a encontrar circuitos para tu termometro.
Saludos.
un termometro la´puta que te pario
#12
hola que tal!
tengo una pregunta..
el programa para este anda bien en el pic16f628?
y si me podrias dar mas info de este proyecto porque me esta gustando
y tengo ganas de acerlo como proyecto final
grax..
espero la respuestas
Hola nor!
Funcionará perfectamente, ya que el 16F627A y el 16F628A son identicos, solo difieren en la cantidad de memoria (el 628A tiene el doble). Solo tenlo en cuenta al compilar el programa. Yo mismo he construido varios de estos termometros (para heladeras con vinos que se consumen a una temperatura determinada, por ejemplo) usando uno u otro microcontrolador, sin problemas.
Suerte con el proyecto!
Ariel.
que tal?
..fuera del tema de temperatura,,
sabes algo a cerca de hidroponia??
es ese cultivo en agua..
necesito poder controlar(automatizar) una bomba que se encargue de
oxigenar el agua..
en donde yo ponga cuantas veces al dia funcione y cuanto tiempo..
bue..
te pregunto por si sabes..
sino gracias de todos modos..
nor//
Excelente Trabajo! muy sencillo pero se usa para una gran aplicacion. se los agradesco por semejante aporte, ojala sigan asi!! estare pendiente de proximas entradas.
Saludos.
hola super interesante todos sus comentarios…
hola como estas?
linda la pagina, pero lo que necesito son todas las partes del termometro y lamentablemente no las tenes, de todos modos muchas gracias y esta buena la pagina pero no es lo que preciso!
te animarias a contarme un poco de las partes o hacer un esquema?
gracias!
vale…
me pudrias proporcionar el archvo en hexadecimal tengo problemas en el manejo del mplab
me gustaria saber cual es la diferencia en usar un pt100 o una termocupla variaria el convertidor analogico digital seria bueno que abunde en esta informacion
alguien sabe donde conseguir el pic simulator ide pero la version full??? xq mas de 50 lineas no deja compilar ademas da un error en las partes de los "IF aux……. THEN ….." gracias
debes tener el adobe player 9 para tenerlo
no podrian dar el link del archivo *.hex el q ya esta compilado?? es urgente x fa
Muy bueno recien leo este articulo y estoy en el tema de informatica pero nunca hice ningun PIC, me entusiasmaste para empezar a aprender esto.
bueno amigo,, no me parece lo qe pusiste porqe es DEMASIADO científico,, yo busvaba algo mas simple :P.. pero me sorprende are:$..
pasoo,,
effess por revers!
haaaaaaa solo kiero las partes del termometro?????? es tan dificil de entenderrrrrrrrrr……
oye me puedes decir en que se fundamental las escalaas de temperatura lo ocup rapido porfa enviamelo a mi correo o dimelo aki doy rekompenza
van a ver si colocan algo mejor xq esto no m servio para nada anadaba buskndo la preguntas de parts dl tarmometro y no me aparecio asi q van a ver km hacen para ganar mas votos
Felicidades, A mi me parece bien el artículo, ha despertado en mí la iniciativa de construir uno, pero con la variante de enviar un bit o señal via RS232 a un computador que estaría monitoreando el puerto COM, cuando reciba la señal active una bandera para que envíe una alerta vía SMTP. Me gustaría saber que tan factible sería. Muchas gracias.
putos esto es una mierda sin imagenes chupenme la verga todos
mira mira no entres mas a esta pagina y listo te la ago facil y senciyo nene como se la ise a ese javier q quiere q se lo expliquen mejor dejate de joder !!! agradece q tenes internet y una pagin q te explica algo!!
no exlplivcan ben las partes del termomrtro
iij yo te voy a creer q te pasa si no te gusta esta pagina no entres mas te la ago facil y corta
osea den una explicacion inmediata osea que tipo de servicio es este porfa cambien este cochinero por algo mas preciso que no se entiende para nadaaaa.***
q aburrido solo quiro las partes de un termometro no jodan
osea que relajo es ese sera que explican detalladamente las partes del termometro
Hola Ariel, gracias por el articulo, fijate que me cae como anillo al dedo, ya que estoy en fase de planeacion para hacer una matriz de leds que muestre mensajes personalizados, la hora con un RTC y la temperatura con este termometro, pero apenas estoy empezando a experimentar con la temperatura y no se por que el bus 1 wire se me hace más complicado que el I2C, me imagino que es cosa de comprenderlo bien, bueno, al grano:
Fijate que en una noche de ocio buscando info encontre este articulo, y resulta que tenia TODO para hacerlo, asi que lo monte en un proto, siguiendo tu circuito AL PIE DE LA LETRA, grabe el programa en un pic16F628A, no sin antes probar que los registros y los displays funcionaran perfectamente, pero a la hora de darle fuego, resulta que el PIC no da señales de vida, es como si hubiera insertado un PIC virgen, y no se que puedo checar, ya que como todo esta digerido, no puedo moverle nada, me podrias ayudar?, de verdad quiero hechar a andar este circuito, pero no se como revisarlo.
Muchas gracias, por cierto, le hubieras puesto otro nombre a tu articulo por que creo que muchos se llevaron un chasco jejeje 🙂
no aparece el dibujo ni sus partes no saben
son o se asen pido el dibujo con las partes y me aparece lo q yo quiero !!!!!!!!!!!!!!!!!!!! soooooooonn
me aparece cual quier cosa
bolaah de pendejoshh PUTOS:)bye bye
no encuentro lo que busco
como esta construido un termometro?
Ke tal Ariel,
estoy armando este proyecto, pero al simularlo en Proteus solo me prenden algunos de los leds de los diplays de 7 segmentos, kisiera si tu ya tienes el circuito armado en Proteus me puedas ayudar a simularlo, me encanta el proyecto, siento ke mi falla es por los registros de corrimiento 74ls164,creo ke no los conecte muy bien el pin de clock, clear, me podrias dar mas informacion acerca de esto?? plase
hasta el pincho su informaciokn no sirve para nada……….mejor dediquense a otra cosa
no haya nada conciso……no ayuda en nada fuera del tema y del titulo…pones partes del termometro y no hay naaaaa jajaja que chistosos….y no se como los otros pueden tener pbuenos comentarios
yo necesito es el termetro kon sus partes para hacer mi tarea sera q me pueden ayudar todos saben q a nosotros los jovenes no nos gusta leer pongan dibujitos para entender mas porfis
q jartera leer eso es para los bobos aprendas hacer las kosas bn por asi no van a llegar aningun lado
esta muy completa la informacion y es muy util pero estoi en preparatoria y me pidieron describir apariencia, partes y funcionamiento de cada ternometro y la verdad viene tan extenso que decidi buscar rapido y no lo encontre asi que sigan participando
es una webada oe vaianse a la rpctmr a la firme por las mil putaass q asco
quiero saber cuales son las partes mas importantes sin embargo akii stoy como muy confundidaa!!
ta asta el culo
#78
OYE TU NI SIQUIERA HAS HECHO EL PROCEDIMIENTO Y YA INSULTAS PARECES UNA PERSONA IRRACIONAL SIN BASE , Y ESO LO ERES TU UNA PERSONA QUE NO SABE LO QUE DICE.
ta k apesta borren esta webada
bueno creo k ta vacan
deverian poner mas esquemas sobre los termometros
bueno al verdad no se les entinede nicaragua
pero keria acer mi tarea
me jor me voi a wwikipedia
Excelente artículo, el error está en el nombre que atrajo a un montón de imbéciles que no saben que un termómetro convencional es una ampolla de vidrio con mercurio.
Este es electrónico, ahí está todo!, si no lo ven dedíquense a otra cosa, por ejemplo un curso para saber usar el papél higiénico, gracias al autor por el circuito y la explicación, con el programa correspondiente y todo!.
termometro y sus partes dibujado
oye tu ni siquiera has hecho el procedimientoy ya insultas pareces una persona irracional sin base
huevada ke ponen iop keria las partes de un termometro y no hay nada de lo ke es termometro, iop no se xk ponen el titulo partes de un termometro huevada vale verga el ke puso las partes de untermonetro
no entiendo porque no explican bien las partes del termometro..
me podrias decir la lista de materiales para hacer el termometro???
saludos
🙂
a y otra pregunta: el micorcontrolador ya viene con el programa instalado?? o hay que instalarlo??
graciaas la info me gusto
encerio nececitaba
esta tare
los ammmmmmmmmmmmmmmmmmm
Eztto Nu Ez Lo Qe Sho Pedii LoKko ._.
yo no entiendo solo se que hay que hacer el amor a lo maximo
jajajaja no lo eniendo al tema chau
hola
mi amor tienes mui buena respuesta excelente eres lo maximo
este tema esta muy pesimo no dice nada acerca de un termometro deberian de canbiar jajajajajajajajjajaaj
AMMM Esto No Es Lo Qe Estoy Vuscandooooooo
hola como estas
que linda esta pagina me gusta mucho
hola como estas
que linda esta pigina megusta mucho
hola como estas
que linda esta pigina megusta mucho
hola como estas
que linda esta pigina megusta mucho
One Direction!!! <3
es UN ASCOOOOOOO! VV