En este artículo te presentamos la construcción de un Termómetro con Arduino y DS18B20. El termómetro tiene la capacidad de medir 4 zonas o canales independientes. El proyecto está principalmente orientado para usarse en un acuario (por eso proponemos el uso de sensores de temperatura a prueba de agua), pero puede utilizarse en muchas otras situaciones donde es necesario monitorear 4 sondas de temperatura. Por ejemplo, podemos utilizarlo para medir la temperatura en distintas zonas dentro de nuestra PC (procesador, fuente de alimentación, disco duro, etc.) lo que convierte a este proyecto en un desarrollo muy versátil aplicable en muchas situaciones. El cerebro del proyecto es un Arduino Nano que se encarga de gobernar toda la funcionalidad del equipo.

En la foto de portada observamos nuestro termómetro con arduino nano elaborado dentro de un gabinete realizado en corte láser.

Materiales necesarios

Puedes adquirir la mayoría de los materiales requeridos en nuestra tienda virtual:

Construcción del Termómetro con Arduino y DS18B20

Vamos a comenzar la construcción de nuestro termómetro con Arduino y DS18B20. Recomendamos tener el cautín encendido y nuestro maletín de herramientas a la mano. Comencemos…

1 – Soldamos los cables al convertidor DC-DC Buck para la entrada y salida de voltaje. Es necesario soldar dos cables en cada polo de la salida, es decir, dos al positivo y dos al negativo. Un par va al microcontrolador y otro a los sensores de temperatura.

2 – Una vez soldados los cables, es necesario conectar los cables de entrada de el módulo regulador de voltaje a una fuente de 12 volts y ajustar la salida de voltaje a 5 volts (utilizamos el trimpot para lograr el ajuste). Muy importante este paso, pues si se omite, se pueden quemar muy fácilmente los circuitos que estaremos alimentando (arduino y sensores).

3 – Soldar el Jack de alimentación en los cables de entrada del módulo convertidor DC-DC. En este jack conectaremos un eliminador de 9-12 volts para alimentar nuestro termómetro digital con Arduino y DS18B20.

4 – Colocar los headers al Arduino Nano, los soldaremos del lado de componentes como se muestra en la foto para poder pegar el arduino al interior del gabinete con cinta doble cara o cinchos sujeta cables.

5 – Soldar un par de cables de alimentación hacia el arduino nano desde la fuente de alimentación: Soldamos el negativo que viene desde el convertidor DC-DC a un pin de GND y el positivo al pin 5Vin del arduino nano. Soldaremos por la parte de atrás, ya que utilizaremos los headers macho para la alimentación de la pantalla LCD.

6 – Instalar los 4 jacks de audio en su posición y soldar la alimentación a los sensores (hacemos puentes entre todos los jacks) tanto para el polo positivo como el negativo. La posición de cada señal la determinamos a nuestro gusto en este paso. Colocamos la resistencia pull-up de 4.7K entre el pin de datos y el voltaje positivo. Soldamos un tramo de dupont hembra en los pines de datos.

Preparar y conectar la pantalla LCD del termómetro con arduino y DS18B20

7 – Soldar el adaptador I2C a la pantalla. Lo vamos a conectar con el arduino nano a través de un par de cables Dupont hembra hembra. Esto nos ahorra muchos pines y además el potenciómetro del contraste viene incluido en el módulo adaptador I2C. Debe quedarnos similar a la siguiente foto:

8 – Conectar los pines SDA y SCL del adaptador de pantalla a los pines A4 y A5 del Arduino (en ese orden) mediante cables Dupont Hembra-Hembra, conectar el cable VCC al pin de 5V de arduino nano y el pin GND a GND del nano.

9 – Conectar los pines de datos de los Jacks para conectar los sensores a los pines D2, D3, D4 y D5 de arduino mediante cables dupont Hembra-Hembra:

10 – Colocar la electrónica dentro del gabinete que hayamos elegido apoyándonos de cinta adhesiva de doble cara.

Programa para un Termómetro con Arduino y DS18B20

El código a cargar en nuestro termómetro se muestra a continuación. Para que compile correctamente es necesario tener instalada la librería de control del LCD a través de I2C y la librería para comunicarse con sensores one-wire. Hemos procurado comentar muy bien el código, de forma que sea entendible para todos.

Los enlaces para la descarga de las librerías se proporcionan a continuación:

Hay que aclarar que nuestro programa NO contempla conectar varias sondas de temperatura por cada pin, aunque es posible hacerlo según la especificación del bus one-wire.

Puesta en Marcha del proyecto

Para poner en marcha el termómetro con Arduino y DS18B20, solamente debemos conectar los sensores y aplicar la alimentación. En la pantalla se deben visualizar las 4 temperaturas medidas por cada uno de los sensores.

Antes de aplicar la alimentación hay que verificar que hayamos realizado el ajuste del voltaje de salida del convertidor DC-DC, ya que si saltamos este paso, podemos dañar permanentemente el arduino, los sensores y todos los equipos conectados a éste por un alto voltaje presente en la salida del módulo DC-DC.

Conclusión

El termómetro con Arduino y DS18B20 que presentamos es un desarrollo bastante útil que nos puede servir como base para otros proyectos más complejos, ya que podemos, por ejemplo, desarrollar un termómetro con alarmas o que realice alguna acción correctiva en caso de detectar temperaturas anormales en alguno de los sensores. Por ejemplo, aplicándolo en un acuario, podemos hacer que se desactive el calentador si se detecta una temperatura muy alta. Al tratarse de la plataforma arduino, siempre podemos acceder a una cantidad suficientemente grande de aditamentos y agregar prácticamente cualquier funcionalidad con mínimo esfuerzo, convirtiendo este proyecto en algo muy versátil.

 

Los pagos realizados mediante Paypal no podrán ser facturados. Solo se facturarán ordenes pagadas mediante deposito. Ignorar