Sensor de temperatura DS18B20 con Arduino

El sensor de temperatura DS18B20 es un dispositivo que se comunica de forma digital. Cuenta con tres terminales: Vcc, GND y el pin Data. Este sensor utiliza comunicación por  protocolo serial digital OneWire. Esté protocolo de comunicación permite enviar y recibir datos utilizando un solo cable. A diferencia de otros, que utilizan dos o más líneas de comunicación digital. Para leer el sensor con un Arduino es necesario utilizar dos librerías que deben ser instaladas antes de cargar el código a nuestra placa de desarrollo. Entonces las librerías son las siguientes:

  • Dallas Temperature.
  • OneWire

Características

  • Sensor Digital.
  • Resolución de 9 y 12 bits.
  • Rango de operación de -50 a 125 grados Centígrados.
  • Precisión +- 0.5 grados.
  • Protocolo OneWire.

Material a utilizar

  • Placa Arduino UNO.
  • Cables Jumper.
  • Sensor DS18B20.
  • Protoboard.
  • Resistencia 4.7 K.

Diagrama de conexiones

El diagrama de conexiones para el DS18B20 y su correcto funcionamiento del sensor, hay que poner una resistencia de 4.7K del pin de Datos y Vcc. Por ejemplo,  normalmente este sensor viene blindado. Además consta de un cable largo para aplicaciones donde es necesario sumergirlo en líquidos u otras sustancias. Entonces, esta presentación del sensor sólo trae 3 terminales o cables de conexión. Finalmente el pin de Vcc es el cable Rojo, GND es el cable Negro y el Cable de datos puede ser de color Amarillo o Blanco.

DS18B20 un sensor de temperatura con Arduino
DS18B20

Figura 1. Esta imagen muestra la conexión del Arduino con el sensor DS18B20

 

Código de Ejemplo

Resultados en monitor serial de arduino

DS18B20

Figura 2. Aquí se muestra la temperatura en grados fahrenheit y grados centigrados.
Enlaces de Interés

Hoja de datos del sensor

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

Librerías Dallas Temperatura y OneWire

https://github.com/milesburton/Arduino-Temperature-Control-Library

https://github.com/ntruchsess/arduino-OneWire

18 comentarios en «Sensor de temperatura DS18B20 con Arduino»

  1. Hey disculpa al compilar el código me aparece: «macro names must be identifiers»
    en la parte del #define Pin 2. no se que hacer :C

  2. hola buenas tardes, una duda, a la hora de abrir mi monitor serial me marca solamente esto:
    -127.00 grados centigrados
    -196.60 grados fahrenheit
    y se queda así, no marca ningún cambio, espero que puedan ayudarme a revolver esto

    1. Tengo el mismo problema y ya lo probe en varios pines pero lo mismo, con el multitester obtengo lecturas así que creo q el sensor está bien y q debe ser un fallo en la configuración de mi arduino pero no sé en qué me equivoco todavía. Saludos

    2. Sr Ferrer, espero que esté teniendo presente que el sensor no se conecta directamente. Se puede hacer de 2 maneras. 1. Con una Resistencia de 4700 Ohmios o con el adaptador para Arduino.

    3. Hola! pudiste resolver esto? me pasa exactamente lo mismo, me marca -127 grados. Probe varios programas y me da siempre igual, la conexión la revisé y esta ok. Mido con el tester y me llegan los 5V bien, no entiendo cual sería el problema. Gracias!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *