Componentes · 5 min de lectura

Sensor de humedad del suelo: riego automático de plantas con Arduino

¿Cómo funciona un sensor de humedad del suelo? Sensores resistivos y capacitivos, conexión con Arduino, calibración con valores en seco y en mojado, evitar la corrosión, riego automático con relé y bomba, ESP32 y Pico.

Un sensor de humedad del suelo es un sensor sencillo que mide lo mojada que está la tierra de una maceta o de un jardín. Es la base de muchos proyectos, desde una luz que avisa cuando una planta tiene sed hasta un sistema que riega tus flores mientras estás de vacaciones. Es barato, se conecta a Arduino con tres cables y, si le añades un relé y una pequeña bomba, tendrás una automatización realmente útil.

Módulo sensor de humedad del suelo
Sensor de humedad del suelo: la sonda en forma de horquilla se clava en la tierra y la placa comparadora da una salida analógica (AO) y otra digital (DO).

¿Cómo funciona un sensor de humedad del suelo?

El agua del suelo cambia lo bien que la tierra conduce la electricidad y almacena carga. Los sensores resistivos miden la resistencia entre dos puntas metálicas clavadas en la tierra: cuanto más húmeda está, menor es la resistencia. Los sensores capacitivos miden la capacitancia alrededor de un electrodo recubierto; el metal nunca toca la tierra. En la mayoría de los módulos la lectura es alta con la tierra seca y baja con la tierra mojada.

CaracterísticaResistivo (YL-69, FC-28)Capacitivo (v1.2)
Qué mideResistencia entre dos puntas metálicasCapacitancia alrededor de un electrodo
Metal expuestoSíNo (recubierto)
CorrosiónSe desgasta en pocas semanas si está siempre alimentadoMuy duradero
SalidaAnalógica (AO) y digital (DO)Analógica
PrecioMuy baratoAlgo más caro
Ideal paraPruebas cortasProyectos permanentes en macetas y jardines

Conexión

Pin del sensorArduino UnoESP32Raspberry Pi Pico
VCCD7 (para alimentarlo solo al medir) o 5VGPIO 25 o 3V3GP15 o 3V3
GNDGNDGNDGND
AO (AOUT)A0GPIO 34GP26
DOD2 (opcional)OpcionalOpcional
Si un sensor resistivo está alimentado todo el tiempo, la corriente que pasa por las puntas provoca electrólisis y el metal se desgasta en pocas semanas. La forma más sencilla de evitarlo es conectar el VCC del sensor a un pin digital en lugar de a 5V y encenderlo solo unos milisegundos mientras mides. El sensor consume apenas unos mA, así que un pin lo alimenta sin problema.

Leer la humedad con Arduino y calibrar

Cada sensor y cada tierra dan valores distintos, así que primero calibra tu sensor: anota la lectura con el sensor al aire (totalmente seco) y metido en un vaso de agua (totalmente mojado). Después, con map(), convierte ese rango en un porcentaje de 0 a 100. Sustituye DRY y WET en el código por tus propias lecturas:

Arduino (C++)
1const int SENSOR_PIN = A0;
2const int POWER_PIN = 7;       // sensörü yalnızca ölçerken besle / power only while measuring
3const int DRY = 850;           // havadayken okunan / reading in air (kendin ölç / measure yours)
4const int WET = 380;           // sudayken okunan / reading in water (kendin ölç / measure yours)
5
6void setup() {
7  pinMode(POWER_PIN, OUTPUT);
8  Serial.begin(9600);
9}
10
11int readMoisture() {
12  digitalWrite(POWER_PIN, HIGH);
13  delay(10);                                              // değerin oturmasını bekle / let it settle
14  int raw = analogRead(SENSOR_PIN);
15  digitalWrite(POWER_PIN, LOW);
16  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);   // % nem / % moisture
17}
18
19void loop() {
20  int moisture = readMoisture();
21  Serial.print("Toprak nemi / Soil moisture: %");
22  Serial.println(moisture);
23  delay(2000);
24}
Coloca el sensor en la zona de las raíces, lejos del borde de la maceta y siempre a la misma profundidad. La electrónica de la parte superior de los sensores capacitivos no es resistente al agua; no lo claves más allá de la línea que lleva marcada y protege la parte de arriba de la placa con silicona caliente o una funda.

Riego automático: relé y bomba

Minibomba de agua sumergible de 6 V
Minibomba sumergible: funciona con 3–6 V, va dentro de un recipiente con agua y la lleva a la maceta por un tubo.

Ahora convirtamos la medida en una acción real: cuando la humedad baje del 30 %, la bomba funciona 4 segundos y luego se espera 1 minuto a que el agua se reparta por la tierra antes de volver a medir. Esa espera evita que la bomba no pare y desborde la maceta porque el sensor todavía no se ha mojado. La bomba no se puede alimentar directamente desde un pin de Arduino; se maneja con un relé o un MOSFET. Para conectar el relé, mira ¿Qué es un módulo relé?

Arduino (C++)
1const int SENSOR_PIN = A0, POWER_PIN = 7, PUMP_PIN = 8;   // PUMP_PIN → röle IN / relay IN
2const int DRY = 850, WET = 380;
3const int START_BELOW = 30;          // %30'un altında sula / water below 30%
4const unsigned long PUMP_MS = 4000;  // her seferde 4 sn / 4 s per run
5const unsigned long SOAK_MS = 60000; // suyun yayılması için bekle / wait for the water to soak in
6
7int readMoisture() {
8  digitalWrite(POWER_PIN, HIGH);
9  delay(10);
10  int raw = analogRead(SENSOR_PIN);
11  digitalWrite(POWER_PIN, LOW);
12  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);
13}
14
15void setup() {
16  pinMode(POWER_PIN, OUTPUT);
17  pinMode(PUMP_PIN, OUTPUT);
18  digitalWrite(PUMP_PIN, HIGH);      // aktif LOW röle: kapalı başla / active-LOW relay: start off
19}
20
21void loop() {
22  if (readMoisture() < START_BELOW) {
23    digitalWrite(PUMP_PIN, LOW);     // pompayı çalıştır / pump on
24    delay(PUMP_MS);
25    digitalWrite(PUMP_PIN, HIGH);    // pompayı durdur / pump off
26    delay(SOAK_MS);                  // tekrar ölçmeden önce bekle / wait before measuring again
27  }
28  delay(5000);
29}
Agua y electrónica trabajan juntas: mantén el Arduino y el relé lejos del recipiente y por encima de él, y aísla todos los empalmes. Una bomba que gira en seco se estropea en pocos minutos; poner un sensor de nivel en el depósito y un límite al tiempo total de riego diario protege la bomba y tu casa.

Humedad del suelo con el ESP32 y la Raspberry Pi Pico

En el ESP32 conecta el sensor a uno de los pines ADC1 (GPIO 32–39), que siguen funcionando con el Wi-Fi activado; los valores van de 0 a 4095, así que vuelve a calibrar. Con un ESP32 puedes enviar la humedad al móvil como notificación o hacer un sensor de maceta que mida una vez por hora en sueño profundo y funcione meses con pilas. En la Pico con MicroPython, la lectura queda así:

MicroPython
1from machine import ADC, Pin
2import time
3
4sensor = ADC(26)               # GP26 → AOUT
5power = Pin(15, Pin.OUT)       # sensörü yalnızca ölçerken besle / power only while measuring
6DRY, WET = 52000, 24000        # kendi değerlerinle değiştir / replace with your readings
7
8def moisture():
9    power.value(1)
10    time.sleep_ms(10)
11    raw = sensor.read_u16()
12    power.value(0)
13    pct = (DRY - raw) * 100 // (DRY - WET)
14    return max(0, min(100, pct))
15
16while True:
17    print("Toprak nemi / Soil moisture: %", moisture())
18    time.sleep(2)

¿Cuánta humedad debe tener la tierra?

Tipo de plantaHumedad objetivo aproximada
Cactus y suculentas10–30 %
La mayoría de las plantas de interior40–60 %
Tomates, pimientos y hortalizas60–80 %
Helechos y plantas que aman la humedad70–90 %

Estos porcentajes son relativos al rango seco-mojado de tu sensor; no son el contenido de agua del suelo en sentido científico. El mejor umbral se encuentra observando durante unos días qué marca el sensor cuando tu planta de verdad necesita agua.

Ideas de proyectos con el sensor de humedad del suelo

  • Riego automático de macetas: un sistema que riega tus flores solo, aunque estés de vacaciones.
  • Aviso de «tengo sed»: un LED que se enciende o un zumbador que suena cuando la tierra se seca.
  • Aviso en el móvil: envía un mensaje de Telegram desde un ESP32 cuando baje la humedad.
  • Riego de varias macetas: pon a cada maceta su sensor y una pequeña válvula y riega cada planta por separado.
  • Miniestación de invernadero: mide también la humedad del aire con un DHT11 y la luz con una LDR, y muéstralo todo en una pantalla.
  • Jardín inteligente: sáltate el riego automáticamente cuando un sensor de lluvia detecte precipitaciones.

Errores comunes y cómo solucionarlos

  • El valor siempre es 1023 o siempre 0: se está leyendo el pin DO en lugar de AO, falta alimentación o el cable a la placa del sensor está roto.
  • Las puntas se han oxidado y las lecturas no tienen sentido: el sensor resistivo estuvo siempre alimentado; aliméntalo desde un pin o pásate a un modelo capacitivo.
  • Las lecturas cambian con el tiempo: la conductividad varía cuando la tierra se compacta o se abona; recalibra de vez en cuando.
  • La bomba no se para: el relé es activo en LOW y HIGH/LOW están invertidos en el código, o se vuelve a medir antes de que el agua se absorba; añade una espera entre medidas.
  • El sensor capacitivo da valores raros: se ha mojado la electrónica de arriba; impermeabiliza la placa.
  • En el ESP32 las lecturas fallan al activar el Wi-Fi: el sensor está en un pin ADC2; pásalo a un pin entre GPIO 32 y 39.

Un sensor de humedad del suelo puede ser tu primer proyecto que va más allá de medir y cambia algo en el mundo real. En la app BlueGrays encontrarás una estación de riego inteligente y un sistema de riego de plantas con ESP32, paso a paso con esquemas y código.

Preguntas frecuentes

¿Compro un sensor de humedad del suelo capacitivo o resistivo?

Para pruebas de unos días basta con uno resistivo. Para un proyecto que vaya a pasar meses en una maceta, elige uno capacitivo; al no tener metal expuesto no se oxida y sus lecturas varían menos con el tiempo.

¿Cuánto dura un sensor de humedad del suelo?

Las puntas de un sensor resistivo alimentado sin parar se desgastan de forma visible en pocas semanas. Si solo se alimenta al medir, puede durar meses. Los capacitivos pueden funcionar años mientras su electrónica esté protegida del agua.

¿Por qué la lectura es alta con la tierra seca y baja con la tierra mojada?

La mayoría de los módulos conectan el sensor como parte de un divisor de tensión; al mojarse la tierra cambia la resistencia o la capacitancia y baja la tensión en el pin analógico. Por eso el código invierte el rango con map(raw, SECO, MOJADO, 0, 100) para obtener un porcentaje.

¿A qué profundidad se clava el sensor de humedad?

Coloca el sensor en la zona de las raíces de la planta, lejos del borde de la maceta. En los capacitivos basta con clavarlo hasta la línea marcada; la electrónica no debe tocar ni la tierra ni el agua.

¿Se puede conectar una bomba de agua directamente a Arduino?

No. Hasta las bombas pequeñas consumen 100–300 mA, y un pin de Arduino no puede darlos. Maneja la bomba con un módulo relé o con un MOSFET y un diodo de protección, aliméntala con una fuente aparte y une las tierras.

¿Cuántas macetas puedo vigilar con un Arduino?

El Arduino Uno tiene 6 entradas analógicas, así que puede leer 6 sensores directamente. Para más, usa un multiplexor analógico de 16 canales como el CD74HC4067 o un módulo ADC adicional como el ADS1115.

Ver todos los proyectos
Estación de riego inteligente
#83Avanzado
Premium

Estación de riego inteligente

Sistema autónomo de riego de plantas que funciona 24/7 sin cansar Arduino con dos baterías 18650 y regulador LM2596. Gestiona automáticamente el motor de agua midiendo continuamente la humedad del sue

5.0(42)
57
Sistema inteligente de riego de plantas ESP 32
#139Avanzado
Premium

Sistema inteligente de riego de plantas ESP 32

En este proyecto se ha desarrollado un sistema de riego automático para plantas utilizando un ESP32 y un sensor de humedad del suelo. El sensor mide continuamente el nivel de humedad del suelo. Cuando la humedad cae por debajo del nivel establecido, el ESP32 activa el relé para poner en marcha la bomba de agua y regar la planta. Cuando el suelo está lo suficientemente húmedo, la bomba se detiene automáticamente. Gracias a este proyecto, las plantas se pueden regar de forma regular y se ahorra ag

4.7(10)
14
Temperatura y humedad con DHT11
#55Intermedio

Temperatura y humedad con DHT11

Proyecto que mide la temperatura ambiente y el valor de humedad con el sensor DHT11 y lo muestra en la pantalla LCD I2C. Enseña el uso del sensor digital de temperatura / humedad.

4.7(47)
60
ESP32 DHT22 Temperatura y humedad (con pantalla LCD)
#117Intermedio
Premium

ESP32 DHT22 Temperatura y humedad (con pantalla LCD)

Se trata de un proyecto que mide la temperatura y la humedad ambientales mediante el sensor DHT22 y las muestra en tiempo real en una pantalla LCD I2C 16x2. Los datos del sensor se leen mediante el protocolo de un solo cable (one-wire) utilizando la biblioteca DHT de Adafruit. Este proyecto constituye la base para estaciones meteorológicas IoT, sistemas de automatización doméstica inteligente o sistemas de monitorización ambiental en invernaderos.

4.8(37)
53
Bombilla 220V con Pulsador (Push)
#19Avanzado
Premium

Bombilla 220V con Pulsador (Push)

Proyecto que controla una bombilla de 220V con un pulsador utilizando un módulo de relé. Enseña los fundamentos de la conmutación de alta tensión con relé.

4.4(30)
38
Iluminación Inteligente ESP32 (PIR + LDR + Relé + OLED)
#141Avanzado
Premium

Iluminación Inteligente ESP32 (PIR + LDR + Relé + OLED)

¡Convierte tu pasillo, baño o despensa en iluminación inteligente con ESP32! Utilizando un sensor de movimiento PIR, un sensor de luz LDR y un módulo de relé, construimos el escenario clásico "la luz se enciende cuando se detecta movimiento en la oscuridad" — si el ambiente ya está iluminado, el movimiento NO activa la luz, ahorrando energía durante el día. La luz permanece encendida durante 30 segundos; si el movimiento continúa, el temporizador se reinicia y la luz permanece encendida más tiem

4.3(6)
11
Registrador de Temperatura ESP32 (DHT22 + DS1307 RTC + microSD + OLED)
#144Avanzado
Premium

Registrador de Temperatura ESP32 (DHT22 + DS1307 RTC + microSD + OLED)

¡Construye un registrador de temperatura con marca de tiempo con ESP32! Lee temperatura/humedad del DHT22 cada 10 segundos, obtén la hora real del DS1307 RTC y registra en tarjeta microSD como CSV. El OLED muestra en vivo la temperatura (fuente grande), porcentaje de humedad, marca de tiempo y contador de registros. El archivo `/temp_log.csv` en la tarjeta SD se abre en Excel, Google Sheets o Python pandas para análisis — perfecto para monitoreo de invernadero, seguimiento de temperatura del hog

4.7(7)
12
ESP32 HTTPClient + API del tiempo (con pantalla LCD)
#133Avanzado
Premium

ESP32 HTTPClient + API del tiempo (con pantalla LCD)

En este proyecto, utilizamos el ESP32 para realizar una llamada a la API REST de la página web de información meteorológica (wttr.in) a través de Internet, utilizando `HTTPClient.h`. Analizamos la respuesta JSON devuelta con ArduinoJson v7 y mostramos la información sobre la ciudad, la temperatura, la humedad, el tiempo y el viento en una pantalla LCD I2C, tanto en turco como en inglés. wttr.in es gratuito y no requiere clave API: basta con escribir el nombre de cualquier ciudad para obtener su

4.7(13)
20

Aprende los tipos de sensor de humedad del suelo, a conectarlo a Arduino, convertir las lecturas en porcentaje, evitar la corrosión y montar un sistema que riega tus plantas solo, paso a paso.

Sensor de humedad del suelo: riego automático de plantas con Arduino | BlueGrays