Arduino Nano ESP32 - Sensor de humedad del suelo
Este tutorial proporciona instrucciones sobre cómo usar Arduino Nano ESP32 para leer la humedad del suelo desde un sensor. En detalle, aprenderemos:
- Sensor de humedad capacitivo vs Sensor de humedad resistivo
- Cómo usar Arduino Nano ESP32 para leer el valor de un sensor de humedad capacitivo
- Cómo calibrar un sensor de humedad capacitivo
- Cómo determina Arduino Nano ESP32 si el suelo está húmedo o seco
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Many soil moisture sensors available in the market are unreliable, regardless of their version. We strongly recommend buying the sensor with TLC555I Chip from the DIYables brand using the link provided above. We tested it, and it worked reliably.
Acerca de Sensor de Humedad del Suelo Sensor

Hay dos tipos de sensores de humedad:
- Sensor resistivo de humedad
- Sensor capacitivo de humedad
Ambos sensores proporcionan el valor de la humedad del suelo. Sin embargo, sus principios de funcionamiento son diferentes. Recomendamos encarecidamente utilizar el sensor de humedad capacitivo, por las siguientes razones:
- El sensor de humedad del suelo resistivo se corroe con el tiempo. La corriente eléctrica que fluye entre las sondas del sensor provoca corrosión electroquímica.
- El sensor de humedad del suelo capacitivo NO se corroe con el tiempo. Los electrodos del sensor no están expuestos y no fluye corriente eléctrica entre ellos.
La imagen de abajo muestra la corrosión en un sensor resistivo de humedad del suelo.

El resto de este tutorial utiliza el sensor de humedad del suelo capacitivo.
Esquema de pines del sensor capacitivo de humedad del suelo
Un sensor de humedad del suelo capacitivo tiene tres pines:
- Pin GND: conecte este pin a GND (0 V)
- Pin VCC: conecte este pin a VCC (5 V o 3,3 V)
- Pin AOUT: salida de señal analógica; la tensión es inversamente proporcional al nivel de humedad del suelo. Conecte este pin al pin de entrada analógica del ESP32.

Cómo funciona
Cuanto más agua haya presente en el suelo, menor es la tensión en el pin AOUT.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Código de Arduino Nano ESP32
Pasos R\u00e1pidos
- Copia el código anterior y pégalo en el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para subir el código a la placa Arduino Nano ESP32
- Entierra el sensor en el suelo, luego vierte agua en el suelo. O sumerge lentamente en un vaso de agua salada.
- Consulta el resultado en el Monitor de serie. Se ve a continuación:
※ Nota:
- No use agua pura para las pruebas porque no conduce electricidad, por lo que no afectará las lecturas del sensor.
- Las lecturas del sensor nunca caen a cero. Es normal que los valores estén entre 2600 y 3100, aunque esto puede cambiar debido a factores como la profundidad a la que se coloca el sensor, la composición del suelo o del agua y la tensión de la fuente de alimentación.
- Evite enterrar la parte del circuito (que se encuentra en la parte superior del sensor) en tierra o agua, ya que esto podría dañar potencialmente el sensor.
Calibración para sensor capacitivo de humedad del suelo
El valor medido por el sensor de humedad es relativo. Depende de la composición del suelo y del agua. En la práctica, es necesario realizar una calibración para determinar un umbral que funcione como frontera entre húmedo y seco.
Cómo calibrar:
- Ejecute el código anterior en Arduino Nano ESP32
- Coloque el sensor de humedad en el suelo
- Coloque el sensor de humedad en el suelo
- Riegue el suelo lentamente
- Observe el monitor de serie.
- Escriba un valor en el momento en que sienta que la humedad del suelo pasa de seca a húmeda. Este valor se llama UMBRAL.
Determina si el suelo está húmedo o seco
Después de la calibración, actualiza el valor THRESHOLD que anotaste en el código que aparece a continuación. El código que aparece a continuación determina si el suelo está húmedo o seco.
El resultado en el Monitor Serial.
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico a Digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que necesiten mediciones precisas, tenga en cuenta lo siguiente:
- El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
- La calibración puede ser desafiante, especialmente para los principiantes, y podría no siempre obtener los resultados exactos que deseas.
Para proyectos que requieren alta precisión, considera usar un ADC externo (por ejemplo, ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más fiable. Si aún desea calibrar el ADC del Arduino Nano ESP32, consulte el ESP32 ADC Calibration Driver.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.