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.

Figura 1. Esta imagen muestra la conexión del Arduino con el sensor DS18B20
Código de Ejemplo
Resultados en monitor serial de arduino
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
DISCULPA, VENDEN EL SENSOR DS18B20?…
Si lo manejamos, https://hetpro-store.com/sensor-de-temperatura-digital-one-wire-ds18b20/
¿Como lo puedo hacer si quiero conectar dos sensores del mismo tipo?
Marc te paso un link donde viene un tuto donde conectan hasta 4 de estos: https://arduino-info.wikispaces.com/MultipleTemperatureSensorsToLCD
Como hago para mostrar esto en una pantalla LCD 16×2 ????
Hola que tal tenemos un tutorial que te puede guiar https://hetpro-store.com/TUTORIALES/arduino-octopus-lcdi2c/
buenas, como hago para obtener dos lecturas de estos sensores, me explico dos sensores DS18B20?..
puedes definir un pin para cada sensor y despues utilizar la misma parte del codigo verificando la ID de cada sensor te paso un enlace del forum de arduino http://forum.arduino.cc/index.php?topic=252235.0
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
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
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
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.
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!
al principio me funcionaba perfecto, pero cambié la tarjeta y el sensor se calienta solo, alguna solución?
Puedo usar este sensor para medir la temperatura de gases ?
Jhoselyn, si, si puedes. Saludos.
Hola, necesitaría ayuda con el código para dos sondas mas la pantalla cristal y la conexión, muchas gracias
Hola, este sensor puede medir la temperatura en el agua