Ir a contenido
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
¿Como medir temperatura con sensor DS18B20?

¿Como medir temperatura con sensor DS18B20?

¿Qué es?

El DS18B20 es un sensor de temperatura digital en el cual se lleva la conversión analógica a digital dentro del encapsulado, facilitando el resultado de dicha conversión a través de una interfaz digital llamada 1-wire.

¿Para qué sirve?

Es un sensor de temperatura por lo que mide temperaturas que ese encuentren en el rango de -55 a 125°C, con una resolución que es ajustable por software de 9 bits hasta 12bits.

Tipos de sensores

  • El encapsulado DS18B20 TO-92 (usado comúnmente en transistores).

  • El sensor DS18B20 tipo sumergible, que es fabricado por terceros utilizando sensores en encapsulado TO-92 colocados dentro de una cubierta impermeable de acero inoxidable.

Protocolo 1-wire

Es el protocolo que utiliza el sensor para mandar los datos, es un protocolo de comunicaciones en serie diseñado por Dallas Semiconductor. Está basado en un bus, un maestro y varios esclavos de una sola línea de datos en la que se alimentan.

Como podemos observar en el siguiente diagrama de conexión es necesario poner un resistencia pull-up de 4.7kohms con esta resistencia podremos mandar la información hasta 5 metros de distancia.

Desarrollo

El tutorial es valido para cualquiera de los encapsulados que vimos anteriormente, por lo que es muy importante conocer el pinout del sensor.

Conexiones

DS18B20 sumergible

 

DS18B20 TO-92

-Librería OneWire, descarga: https://github.com/PaulStoffregen/OneWire

-Librería DallasTemperature, descarga: https://github.com/milesburton/Arduino-Temperature-Control-Library

Código

 Este ejemplo mostraremos la temperatura de 1 solo sensor en el monitor serial.

Conectar mas de un sensor

Al solo necesitar un solo pin para la transmisión de datos podemos conectar varios sensores a la vez utilizando solo un pin de nuestro microcontrolador, para lograrlo es necesario identificar la dirección de cada sensor, por lo que subiremos el siguiente código, en el nos mostrara la dirección cada uno de los elementos conectados al bus de datos.

 Resultado monitor serial

 

Una vez que tengamos ubicadas las direcciones de cada sensor es necesario crear una variable de tipo DeviceAddress con el valor de la dirección como se muestra a continuación:

Código completo

Github Diagramas, códigos, librerías usadas.

Referencias

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

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

https://github.com/PaulStoffregen/OneWire

 

Artículo anterior Ensamble kit PCB
Artículo siguiente Push-ups counter

Dejar un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campos requeridos