Panama Hitek Logo
Panama Hitek Logo

Aprendiendo a utilizar el sensor de temperatura DS18B20

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.

Antony García González
Antony García González
Ingeniero Electromecánico, egresado de la Universidad Tecnológica de Panamá. Miembro fundador de Panama Hitek. Entusiasta de la electrónica y la programación.

Posts relacionados

40 COMENTARIOS

  1. 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????

  2. 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?

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

  4. 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.

  5. 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?

  6. 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

  7. 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

  8. 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

    • Si eres un poco obsrvador, hay una resistencia que conecta al positivo con el negativo, lo cual limita la corriente que entrega el Arduino y se evita el corto circuito. Esta conexión es en modo parásito, la cual es perfectamente funcional y ha sido probada antes de publicarse. Creo que el gordo forro eres tu que eres incapaz de darte cuenta de algo tan simple. Saludos.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Post relacionados