Humidificador para mis plantas
Mis plantas viven en un rincón seco de la casa, así que les armé un humidificador. La idea es simple: una bomba sumergible lanza agua sobre un disco ultrasónico, el disco vibra y la convierte en niebla. Lo entretenido estuvo en los detalles.
Las piezas
- ESP32-C3 SuperMini como cerebro
- Driver TB6612FNG de dos canales: uno para el disco, otro para la bomba
- Bomba sumergible de 5 V
- Disco ultrasónico de 5 V
- Una fuente de 5 V / 2 A y un condensador grande cerca del driver
- Un soporte y una caja impresos en 3D en PLA mate negro
Cada canal del driver queda fijo en un solo sentido de giro y la potencia se regula por PWM a 20 kHz, fuera del rango audible, para que nada chille.
La regla de oro: primero el agua
Un disco ultrasónico en seco se calienta y se muere en poco rato. Por eso el orden no se negocia: arranca la bomba (con una rampa suave, para que el tirón de corriente no reinicie la placa), se esperan dos segundos a que el chorro llegue al disco, y recién entonces vibra. Al apagar, al revés: primero el disco, después la bomba. Y si la bomba se detiene por cualquier motivo mientras el disco espera su turno, el disco no arranca.
La caja
Son tres piezas: un soporte que calza en la boca del frasco, una caja que cuelga por fuera con la electrónica, y su tapa. Así el agua queda adentro del frasco y las placas afuera, lejos de la niebla.
Arrastra para girarlo: la caja abierta con la ESP32-C3 (arriba) y el driver TB6612FNG (abajo), y la tapa al lado. Las placas son referencias simplificadas en posición aproximada.
Descarga los STL (PLA mate):
- Soporte del frasco (STL, 181 KB)
- Caja de la electrónica (STL, 36 KB)
- Tapa de la caja (STL, 62 KB)
El código
Sketch de Arduino para ESP32C3 Dev Module, sin librerías externas (WiFi, WebServer y mDNS vienen con el core de ESP32). Antes de compilar, copia config.h.example a config.h. La interfaz web está apagada (USAR_WIFI 0); ponla en 1 si tu placa sí tiene WiFi y completa la red en config.h.
- Firmware del humidificador (ZIP, 12 KB)
Lo que aprendí en el camino
Una resistencia de 1k que evita un charco. Durante los primeros milisegundos del arranque, antes de que corra cualquier código, los pines de la ESP32 quedan flotando. Si el pin que habilita el driver flota hacia arriba, la bomba puede encenderse sola un instante, y con la bomba cebada eso es agua fuera del recipiente. Una resistencia de 1k a tierra en ese pin asegura que el driver arranque siempre apagado. El pull-down interno no sirve: existe recién cuando el software lo configura, y el momento peligroso es justo antes.
El WiFi que nunca llegó. Tenía una interfaz web local para manejarlo desde el teléfono, pero el radio de esta placa resultó estar muerto: no se conecta a nada ni levanta su propia red. En vez de pelearme con eso, lo dejé funcionando sin red, con un botón como único mando. La interfaz web sigue en el código, lista para volver con un cambio de una línea cuando cambie la placa.
Hoy hace su ciclo solo: un pulso corto al enchufarlo, y después 40 segundos de niebla cada 6 horas. Las plantas no han reclamado. 🌿🤓