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