Automatiza tu huerto con ESP32 y DHT22

Publicado el 5 de noviembre de 2025 · Por Prime Imports SpA

¿Tienes un huerto casero y quieres monitorear su ambiente sin gastar en sistemas comerciales? En este tutorial, construiremos un sistema de monitoreo de humedad y temperatura usando componentes 100% originales, código listo para usar y una fuente de alimentación segura.

¿Por qué este proyecto?

Las plantas como tomates, lechugas o hierbas aromáticas requieren condiciones específicas de humedad (40–70%) y temperatura (18–25°C). Fuera de ese rango, sufren estrés, crecen más lento o se enferman. Con este sistema, podrás:

Materiales necesarios

Todos los componentes están disponibles en Prime Imports SpA con garantía de autenticidad:

⚠️ Importante: No uses réplicas del ESP32 o DHT22. Las falsificaciones suelen reportar valores estables pero incorrectos (ej: siempre 25°C y 50% HR), lo que arruina el proyecto.

Diagrama de conexión

El DHT22 es un sensor digital de 3 pines. La conexión es directa al ESP32:

VCC (DHT22) → 3.3V (ESP32)
Data (DHT22) → GPIO4 (ESP32)
GND (DHT22) → GND (ESP32)

Consejo profesional: El DHT22 ya incluye una resistencia pull-up de 5.1kΩ entre VCC y Data. Si usas un módulo genérico sin ella, añade una resistencia externa.

Código fuente

Usaremos la librería oficial DHT.h de Adafruit, compatible con ESP32:

#include "DHT.h"

#define DHTPIN 4     // GPIO donde está conectado el DHT22
#define DHTTYPE DHT22 // Modelo del sensor

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
  Serial.println("=== Sistema de Monitoreo de Huerto ===");
  Serial.println("Leyendo datos cada 2 segundos...\n");
}

void loop() {
  // Lee humedad y temperatura
  float humedad = dht.readHumidity();
  float temperatura = dht.readTemperature();

  // Verifica si la lectura es válida
  if (isnan(humedad) || isnan(temperatura)) {
    Serial.println("❌ Error: Lectura inválida del sensor DHT22");
    return;
  }

  // Imprime resultados
  Serial.print("🌱 Humedad: ");
  Serial.print(humedad);
  Serial.print("%\t");
  Serial.print("🌡️ Temperatura: ");
  Serial.print(temperatura);
  Serial.println("°C");

  // Espera 2 segundos antes de la próxima lectura
  delay(2000);
}

Explicación del código

Pruebas y resultados

Con componentes originales, los resultados son estables y coherentes:

=== Sistema de Monitoreo de Huerto ===
Leyendo datos cada 2 segundos...

🌱 Humedad: 58.20%	🌡️ Temperatura: 22.30°C
🌱 Humedad: 58.30%	🌡️ Temperatura: 22.30°C
🌱 Humedad: 58.10%	🌡️ Temperatura: 22.40°C

⚠️ Si ves valores como 0.00 o NaN, revisa:

Próximos pasos

Este es solo el inicio. En futuros artículos, agregaremos:

¿Quieres los componentes originales?

Todos los productos usados en este tutorial están disponibles en Prime Imports SpA con:

¿Interesado? Escríbenos a: ventas@primeimportsspa.cl

Referencias