Aprendiendo a utilizar el sensor de temperatura DS18B20

40
33686

El sensor de temperatura DS18B20 es un dispositivo que se comunica de forma digital. Cuenta con tres terminales, los dos de alimentación y el pin «data».

Con Arduino podemos «leer» la temperatura que registra este sensor que posee una característica muy peculiar. Utiliza la comunicación OneWire, la cual es un poco complicada para los que no tienen mucha experiencia en el área de electrónica digital.

Básicamente se trata de un protocolo especial que permite enviar y recibir datos utilizando un solo cable, a diferencia de la mayoría de los protocolos que requiere dos vías. De hecho, Arduino posee los pines RX y TX que son los encargados de enviar y recibir información.

Para muchas personas que intenten aprender a utilizar el sensor DS18B20 probablemente sea un poco difícil encontrar información precisa y concisa, debido a que se habla mucho de este protocolo de comunicación de un solo cable y los códigos de ejemplo normalmente están «ahogados» entre los párrafos que tratan de explicar al usuario una serie de conceptos que para nuestros propósitos no tienen relevancia.

Hoy les mostraré como leer la temperatura que registra este sensor, rápido y fácil.

Primero, las conexiones que se deben realizar:

sensor de temperatura ds18b20
Como se puede observar, los pines VCC y GND deben ir conectados entre sí. La alimentación se introduce en el pin DATA, por medio de una resistencia pull up que debe ser igual o mayor a 4.7 KOhm.

La mayoría de las personas que no consiguen leer este sensor es debido a una mala conexión. El código requiere de la utilización de dos librerías, que deben ser instaladas antes de cargar el código a la placa. Estas son:

Una vez descargadas e instaladas ambas librerías, se debe cargar el siguiente código:

 

Ahora solo se necesita cargar el código a la placa y los resultados serán inmediatos.

sensor de temperatura ds18b20

 

Sobre el sensor DS18B20…

  • Es un termómetro digital de alta precisión, entre 9 y 12 bits de temperatura en grados Celsius (el usuario puede escoger la precisión deseada).
  • Su temperatura operativa se encuentra entre -50 y 125 grados Celsius. La precisión, en el rango comprendido entre -10 y 85 grados es de ±0.5 grados.
  • Su precio es económico, su interfaz de funcionamiento es sencilla y su uso es muy provechoso para proyectos que requieran mediciones precisas y confiables.
  • Para más información, consultar la hoja de datos(datasheet) del dispositivo (está en inglés): http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
  • Se puede escoger entre el modelo sumergible y los modelos para uso en placas de circuitos.

sensor de temperatura ds18b20

Espero que la información suministrada sea de su completo agrado y comprensión.

Saludos.

0 0 votes
Article Rating
Suscríbete
Notify of
guest

40 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Arturo
Arturo
4 years ago

La verdad sos un gordo forro hiciste que toda esta pobre gente quemara sus ds18b20. El diagrama que publicaste esta mal kpo, el positivo esta puenteado con el negativo

Wicho Moonsalvo
Wicho Moonsalvo
6 years ago

hola amigo oye puedo ponder una resistencia de 220

Humberto Lopez
Humberto Lopez
6 years ago

Hola. Algun otro sensor sumergible (compatible con arduino) pero con mayor precision (< de +- 0.2°)?. Gracias

Priscila Zavala
Priscila Zavala
6 years ago

me aparece este error, no se que esta mal, acabo de iniciar con esto de arduino https://uploads.disquscdn.com/images/9e702d45d47fb961c58e2015da1deb260f99a0b350a4501e7cd8cb3394e9c82f.png

Antony García González
Antony García González
6 years ago

Parece que la librería no ha sido instalada

francisco león
francisco león
6 years ago

Buenas,tengo un problema el sensor solo me da temperatura cero, y pues lo tengo conectado igual que en la imagen que tiene el post

Luisdceo Lgg
Luisdceo Lgg
7 years ago

hola he colocado lo mismo que has hecho pero al ver el monitor serial me da temperaturas de -127 en centigrados y 196 en fahrenheit por que pongo la sonda en agua caliente sigue igual, es una sonda nueva https://uploads.disquscdn.com/images/1ef0151b989561332ee14b62a55d7cb863cfc1ed396bdfdbe88a6cddd6fd19d1.png

Akim Ulrich Motolinia
Akim Ulrich Motolinia
7 years ago
Reply to  Luisdceo Lgg

¿Pudiste arreglarlo?

Gonzalo Gutierrez
Gonzalo Gutierrez
6 years ago

Buenas noches, pudieron solucionarlo?

Yo tengo el mismo problema con la conexión de un arduino lilypad.

Gracias y saludos

Luisdceo Lgg
Luisdceo Lgg
7 years ago

hola he colocado lo mismo que has hecho pero al ver el monitor serial me da temperaturas de -127 en centigrados y 196 en fahrenheit por que pongo la sonda en agua caliente sigue igual, es una sonda nueva

Antony García González
Antony García González
7 years ago
Reply to  Luisdceo Lgg

Eso es un problema de conexión entre el sensor y Arduino

Akim Ulrich Motolinia
Akim Ulrich Motolinia
7 years ago

¿Cómo se arregla el problema? Eh metido todo tal cual esta en tu post y no entiendo

Antony García González
Antony García González
7 years ago

Es un falso contacto. Trata de usar otro protoboard o cambiar los cables

Sofia Serracin
Sofia Serracin
7 years ago

Buenas tardes, ya conecte el sensor y cargue el codigo a la tarjeta; pero a la hora de ver las mediciones en el monitos, todas salen a -127 °C y 196 F. ¿Cual puede ser el error?

Antony García González
Antony García González
7 years ago

Necesitas utilizar funciones especiales de la librería del sensor. No he tenido la oportunidad de investigar y escribir sobre el tema

The_menda14
The_menda14
7 years ago

Por favor corrige el esquema, porque está en cortocircuito. No hace falta interconectar 5v y GND (mas que nada porque te cargas el regulador de tension, y eso si no se va el arduino entero)

Testeado sin conectar las susodichas lineas y con la pullup de 10K y funciona perfectamente.

Un saludo.

Antony García González
Antony García González
7 years ago
Reply to  The_menda14

Como está funciona bien. No se publica nada que no haya sido probado antes.

K790
7 years ago

no lo están.
el proto en la imagen tiene los puntos en vertical unidos

Antony García González
Antony García González
7 years ago

Es el modo parásito del sensor

Jordan Parra
Jordan Parra
7 years ago

disculpa para la implementación con pic también se hace la misma conexión?

K790
7 years ago
Reply to  Jordan Parra

si, el DS18B20 tiene 3 salidas, una a voltaje, otra a tierra y la última al pin digital para conectar por onewire
no debería cambiar mas si vas a usar el mismo diseño

Antony García González
Antony García González
7 years ago
Reply to  Jordan Parra

NO manejamos PIC

Damian Dominguez
Damian Dominguez
7 years ago

tengo el sensor solo… el componente de tres patas es un transistor? me podrias decir que componente es y que valor tiene. muchas gracias

Antony García González
Antony García González
7 years ago

El sensor es el componente de 3 patas. Luce como transistor

Erick Guerrero
Erick Guerrero
7 years ago

buenas tardes, una pregunta mi amigo, se puede conectar varios sensores?

A Michael Castro
A Michael Castro
7 years ago

tengo una duda, ya conecte el sensor y cargue el programa, pero no sé donde debería ver los datos que da el sensor. debo crear un programa que lo lea o como?

Antony García González
Antony García González
7 years ago

Monitor Serial

Leonardo Mendoza
Leonardo Mendoza
7 years ago

buenos dias donde puedo descargar la libreria de este sensor?

A Michael Castro
A Michael Castro
7 years ago

programa>incluir librería>gestionar librería

Antony García González
Antony García González
7 years ago

Es de dominio público en Internet

miguel angel medina
miguel angel medina
8 years ago

Hola buenas tardes, estoy iniciándome en esto de la electrónica y me resulta confuso, me permitirías tomar tu numero para ponerme en contacto contigo de manera directa????

Allan Britto Delgado y Alma Ma
Allan Britto Delgado y Alma Ma
8 years ago

Buenos dias, quisiera hacerle una consulta, me puede por favor enviar un numero donde contactarles

Antony García González
Antony García González
8 years ago

+507 67347398 (whatsapp)

miguel angel medina
miguel angel medina
8 years ago

Hola buenas tardes, estoy iniciándome en esto de la electrónica y me resulta confuso, me permitirías tomar tu numero para ponerme en contacto contigo de manera directa????