El sensor de temperatura DS18B20 es un dispositivo que se comunica de forma digital. Cuenta con tres terminales, los dos de alimentación y el pin “data”.
Con Arduino podemos “leer” la temperatura que registra este sensor que posee una característica muy peculiar. Utiliza la comunicación OneWire, la cual es un poco complicada para los que no tienen mucha experiencia en el área de electrónica digital.
Básicamente se trata de un protocolo especial que permite enviar y recibir datos utilizando un solo cable, a diferencia de la mayoría de los protocolos que requiere dos vías. De hecho, Arduino posee los pines RX y TX que son los encargados de enviar y recibir información.
Para muchas personas que intenten aprender a utilizar el sensor DS18B20 probablemente sea un poco difícil encontrar información precisa y concisa, debido a que se habla mucho de este protocolo de comunicación de un solo cable y los códigos de ejemplo normalmente están “ahogados” entre los párrafos que tratan de explicar al usuario una serie de conceptos que para nuestros propósitos no tienen relevancia.
Hoy les mostraré como leer la temperatura que registra este sensor, rápido y fácil.
Primero, las conexiones que se deben realizar:
Como se puede observar, los pines VCC y GND deben ir conectados entre sí. La alimentación se introduce en el pin DATA, por medio de una resistencia pull up que debe ser igual o mayor a 4.7 KOhm.
La mayoría de las personas que no consiguen leer este sensor es debido a una mala conexión. El código requiere de la utilización de dos librerías, que deben ser instaladas antes de cargar el código a la placa. Estas son:
Una vez descargadas e instaladas ambas librerías, se debe cargar el siguiente código.
Nota: Para la descarga del código ve más abajo.