El sensor de temperatura DS18B20 se comunica de forma digital, cuenta con tres pines, los dos de alimentación y uno de datos. Existen dos variantes de este sensor, el transistor y el sumergible, como se pueden ver en las imágenes siguientes respectivamente.


Para poder utilizar este sensor con Arduino es necesario descargar e instalar dos librerías, puedes descargarlas rápidamente en los siguientes enlaces:
Los materiales a utilizar son:
- Arduino
- Protoboard
- Sensor DS18B20 (sumergible o en transistor)
- Cable o alambre estañado
- Resistencia de 4.7 K?
Diagrama de conexión
El código para Arduino es el siguiente:
#include <OneWire.h>
#include <DallasTemperature.h>
#define Pin 2 //Pin donde se conecta el Data
OneWire ourWire(Pin); //Se establece el pin declarado como bus para la comunicación OneWire
DallasTemperature sensors(&ourWire); //Se instancia la librería DallasTemperature
void setup() {
delay(1000);
Serial.begin(9600);
sensors.begin(); //Se inician los sensores
}
void loop() {
sensors.requestTemperatures(); //Prepara el sensor para la lectura
Serial.print(sensors.getTempCByIndex(0)); //Se lee e imprime la temperatura en grados Celsius
Serial.println(" grados Centigrados");
Serial.print(sensors.getTempFByIndex(0)); //Se lee e imprime la temperatura en grados Fahrenheit
Serial.println(" grados Fahrenheit");
delay(1500); //Se provoca un lapso de 1.5 segundos antes de la próxima lectura
}
Al cargar el código al Arduino, en el monitor serial se verá algo como lo siguiente:



Gracias