Montar un termostato casero con ESP32 y relé
Lectura de sensor DS18B20, control de carga y registro en pantalla OLED
Publicado en el tablón de domótica casera · Hilo abierto por un miembro del taller
La idea es sencilla y por eso funciona: leer una temperatura real, decidir con una histéresis clara y conmutar una carga pequeña sin pasar por ningún servicio en la nube. Lo uso para encender un ventilador de extracción cuando el banco de trabajo pasa de cierta temperatura, y el mismo esquema sirve para una resistencia de invernadero o para mantener estable una caja de cultivo. Nada de esto necesita WiFi: si el router cae, el termostato sigue decidiendo solo.
Conexionado y alimentación
El DS18B20 va con su resistencia de pull-up de 4.7 kΩ entre datos y 3.3 V, y el pin de datos a un GPIO cualquiera del ESP32. El relé se alimenta desde los 5 V de la placa y su entrada de señal se conecta a otro GPIO. Conviene separar físicamente el cable del sensor del cable de la carga: si van pegados en el mismo mazo, el pico de conmutación del relé se acopla y aparecen lecturas de 85 °C que no existen. Ese valor fijo es la firma clásica de una lectura fallida, no de un sensor roto.
Evitar lecturas erráticas en cables largos
Cuando el sensor queda a más de un metro, el bus OneWire se vuelve frágil. Tres cosas ayudan de verdad:
- Cable apantallado con la malla a masa solo en el extremo del ESP32, nunca en los dos.
- Una segunda resistencia de pull-up más baja, o bajar la velocidad del bus en la librería.
- Descartar la primera lectura tras cada conmutación del relé y promediar las siguientes.
También merece la pena leer cada pocos segundos y no en bucle continuo: el sensor tarda unos 750 ms en convertir a 12 bits, y forzarlo más solo genera errores.
Histéresis y registro en OLED
El código mínimo compara la lectura con un umbral alto y otro bajo. Si la temperatura sube del alto, enciende el relé; solo lo apaga cuando baja del umbral bajo. Esa banda evita el chattering del contacto cuando la temperatura oscila en el límite. En la pantalla OLED de 128x64 muestro la temperatura actual, el estado del relé y el mínimo y máximo del día. Un apunte práctico: guarda el estado del relé en memoria no volátil para que un reinicio no deje la carga encendida sin control.
Si vienes de diagnosticar una fuente que no arranca, el hilo de reparación de fuentes conmutadas ATX comparte banco de trabajo con este montaje. Y si el siguiente paso es imprimir la carcasa del termostato, la guía de calibración tras cambiar el hotend te ahorra las primeras capas malas. Para dudas concretas de tu montaje, abre un hilo desde la página de contacto.