1 — Objetivo
Construir un sistema que mantenga la humedad relativa o humedad del sustrato en un rango definido mediante un humidificador (atomizador ultrasónico o bomba de niebla), controlado por una placa (Arduino/ESP32) con sensor DHT22 / SHT30 y protección de nivel de agua.
Se arma el robot agrícola con chasis resistente, ruedas todo terreno o orugas, motores potentes y batería. Se fijan sensores o herramientas según la tarea (riego, fumigación, cosecha o monitoreo).
Se conectan sensores como cámara, humedad, temperatura, GPS o ultrasonido. Se instala la unidad de control (Arduino, ESP32 o similar) y el módulo de comunicación para controlar o enviar datos.
Se programa para que ejecute su trabajo: recorrer cultivos, regar, fumigar, medir condiciones o detectar plantas y plagas. Se ajustan rutas, velocidad y seguridad para que opere de forma autónoma o remota.
2 — Materiales
Ir a la Tienda- Placa: Arduino Uno / Nano o ESP32 (si quieres control Wi‑Fi)
- Sensor de humedad y temperatura: DHT22 o SHT30
- Humidificador: atomizador ultrasónico (mist maker) o bomba de agua pequeña
- Módulo de potencia: relé de 5V (para on/off) o MOSFET/driver para control PWM (si tu atomizador es compatible)
- Sensor de nivel de agua (float switch) o sensor de conductividad para evitar seco
- Fuente de alimentación adecuada para el humidificador (separada de la placa de control)
- Cables, caja impermeable para electrónica, resistencias, protoboard opcional
3 — Principio de funcionamiento
El microcontrolador lee la humedad ambiente (HR) y compara con el punto de consigna (setpoint). Si la HR es menor que el setpoint menos la histeresis, activa el humidificador; si es mayor que setpoint + histeresis, lo apaga. El sensor de nivel corta la alimentación al humidificador si hay falta de agua.
4 — Conexiones (Arduino UNO ejemplo)
Conexiones básicas
- DHT22: VCC -> 5V, GND -> GND, DATA -> D4 (usa resistencia pull-up 10k)
- Relé: IN -> D7, VCC -> 5V, GND -> GND (asegura que la bobina y la placa compartan GND)
- Float switch (sensor nivel): NC o NO -> D6 (entrada digital)
- Humidificador -> contacto del relé -> alimentación externa (no alimentar desde Arduino)
Mapa pines sugerido
- DHT22 DATA -> D4
- Float sensor -> D6
- Relé IN -> D7
- LED indicador -> D13 (opcional)
Esquema ASCII
[DHT22] [Arduino UNO] [Relé] [Humidificador] VCC -----------> 5V GND -----------> GND -----+-----------> GND DATA -----------> D4 (pull-up 10k) Float switch -> D6 (INPUT) Relé IN -> D7 Relé COM/N.O. -> +V fuente humidificador Relé COM/N.C. -> GND fuente humidificador IMPORTANTE: Alimentar el humidificador con su fuente adecuada y aislar la placa de control.
5 — Código Arduino (control simple con histeresis)
Este sketch utiliza la DHT library. Controla el relé según el setpoint y la histeresis y protege con el sensor de nivel.
// Agrobot - Humidificador básico con DHT22
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
#define RELAY_PIN 7
#define FLOAT_PIN 6
#define LED_PIN 13
DHT dht(DHTPIN, DHTTYPE);
float setpoint = 70.0; // humedad relativa objetivo (%)
float hysteresis = 3.0; // margen en %
void setup(){
Serial.begin(9600);
dht.begin();
pinMode(RELAY_PIN, OUTPUT);
pinMode(FLOAT_PIN, INPUT_PULLUP); // asume float a GND cuando desciende
pinMode(LED_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // relé apagado por defecto
}
void loop(){
float h = dht.readHumidity();
float t = dht.readTemperature();
if(isnan(h)){
Serial.println("Error leyendo DHT");
delay(2000);
return;
}
bool hasWater = digitalRead(FLOAT_PIN) == HIGH; // ajustar según cableado
Serial.print("Humedad: "); Serial.print(h); Serial.print(" %\t");
Serial.print("Temp: "); Serial.print(t); Serial.println(" C");
if(!hasWater){
// cortar humidificador si no hay agua
digitalWrite(RELAY_PIN, LOW);
digitalWrite(LED_PIN, LOW);
Serial.println("Sin agua: humidificador apagado");
} else {
if(h < (setpoint - hysteresis)){
digitalWrite(RELAY_PIN, HIGH); // activar
digitalWrite(LED_PIN, HIGH);
Serial.println("Activando humidificador");
} else if(h > (setpoint + hysteresis)){
digitalWrite(RELAY_PIN, LOW); // desactivar
digitalWrite(LED_PIN, LOW);
Serial.println("Apagando humidificador");
} // si está dentro del rango, no cambiar
}
delay(3000);
}
Consejo: prueba el sistema con agua en un entorno seguro y comprueba comportamiento antes de instalar en campo.
6 — Versión avanzada: ESP32 + Web UI
Si quieres monitorizar y cambiar el setpoint de forma remota, usa un ESP32. A continuación un esquema básico de la idea (no es un firmware completo):
// Idea: ESP32 lee SHT30/DHT, expone página web con estado y botones para cambiar setpoint
// - Leer sensor
// - Servir web con /status y /control?set=75
// - Usar relé como antes
Si quieres, puedo generar el sketch completo para ESP32 con Wi‑Fi, WebServer y endpoints JSON.
7 — Buenas prácticas
- Protege la electrónica contra humedad usando cajas IP65 y separa la electrónica del agua.
- Usa fusibles y fuentes con protección. No alimentes el humidificador desde la placa.
- Implementa límites y alertas (por ejemplo, aviso por buzzer o envío por Wi‑Fi cuando falta agua).
- Implementa histeresis y tiempos mínimos de ciclo para evitar encendidos/apagados rápidos.
8 — Extensiones útiles
- Registro de datos (SD o MQTT) para análisis de humedad en el tiempo
- Integración con sistema de riego y control por horarios
- Control por MQTT y dashboard (Node-RED, Home Assistant)
9 — ¿Qué quieres que haga ahora?
Puedo:
- Generar el firmware completo para ESP32 con interfaz web y MQTT.
- Adaptar el tutorial a tu placa/relé/atomizador concreto.
- Crear el diagrama eléctrico en formato PDF o imagen.
Libros y Articulos recomendados
Recursos recomendados:
- Libros y Articulos — documentación oficial y ejemplos de proyectos en Automatización.
- Biblioteca Villa Automation
Catalogo de proyectos
Recursos recomendados:
- Catologo — Catologo de productos terminandos y listos para su funcionamientobasados en Automatización.
- Catologo VILLA AUTOMATION