Cómo utilizar un sensor de humedad de suelo con Arduino

En este artículo aprenderás a utilizar un sensor para medir la humedad del suelo con la placa Arduino. Podrás utilizarlo para mantener un control adecuado de la humedad en nuestras plantas, y con él realizar un sistema de riego automático.

El sensor de humedad de suelo (higrómetro)

El sensor que utilizaremos está compuesto por una sonda de dos electrodos y un módulo convertidor. Existen varios modelos de este sensor en el mercado, los que yo utilizaré en este ejemplo son los electrodos marcados con HW-080 y el convertidor HW-103. También puedes encontrarlo con el modelo YL-69. Es de los sensores más comunes para humedad de suelo que existen y son muy económicos, alrededor de los 30 pesos mexicanos (1.25 USD).

Electrodos y convertidor del sensor de humedad de suelo.
Electrodos y convertidor del sensor de humedad de suelo

Gracias al convertidor, el sensor nos puede entregar dos tipos de señales: una digital o una analógica. La salida digital servirá para indicar “todo” o “nada”; es decir, mucha humedad o nada de humedad, y para elegir el umbral de esta decisión, el convertidor trae un pequeño potenciómetro. Como a nosotros nos gusta la precisión, utilizaremos la salida analógica, que nos entregará un valor de voltaje entre 0 y 5 V dependiendo de la cantidad de humedad detectada por el electrodo.

Como conectar el sensor de humedad de suelo a la placa Arduino

La conexión con nuestra placa Arduino es muy simple, si te fijas, el convertidor tiene dos lados, uno con cuatro pines y otro con dos. El lado de cuatro pines va hacia nuestra placa Arduino, y el lado de dos pines va hacia los electrodos. El significado de los pines se muestra a continuación.

Pines del convertidor del sensor de humedad de suelo
Pines del convertidor del sensor de humedad de suelo

Tenemos que conectar el pin VCC a la alimentación de 5 V, que en este caso puede ser de la misma placa Arduino (aunque puede ser de otra fuente, recordando conectar todas las tierras a un mismo nodo). El pin GND irá conectado a la terminar de tierra de la placa. Y si elegimos el modo de salida analógica, utilizaremos la salida nombrada como A0, esta la conectaremos a alguna de las entradas analógicas de la placa Arduino, como se muestra a continuación.

Diagrama de conexiones del sensor de humedad y la placa Arduino UNO
Diagrama de conexiones del sensor de humedad y la placa Arduino UNO

¿Cómo funciona el sensor de humedad de suelo?

Si estamos utilizando el sensor en modo analógico, la placa Arduino detectará el nivel de voltaje entregado por este, y lo convertirá en un número equivalente a la cantidad de humedad detectada entre 0 y 1023. Cuando el sensor detecta nada de humedad (seco) entrega un valor de 1023 y cuando detecta un valor de alta humedad entrega un valor de 0 (o cercano a 0).

Imaginen una recta entre 0 y 1023, entre más cercano estés del 1023 el sensor está más seco, entre más cercano al 0 el sensor está más húmedo.

Relación entre la cantidad de humedad y el valor de salida del sensor.
Relación entre la cantidad de humedad y el valor de salida del sensor

Relación entre la cantidad de humedad y el valor de salida del sensor.

Cuando utilizamos la salida digital (D0), con el potenciómetro ajustamos el umbral de decisión, como si moviéramos una referencia dentro de la recta anterior. Si la lectura del sensor está por arriba de la referencia, entregará una salida “HIGH”, si está por debajo entregará una salida “LOW”.

¿Cuánta humedad necesita mi planta?

Es realmente subjetivo utilizar este sensor para mantener un monitoreo exacto de la humedad en el suelo (o en la tierra de una maceta), ya que la humedad se distribuye de manera distinta en la tierra, y dependiendo de donde esté colocado el sensor, tendremos una lectura u otra. Además dependerá de que tipo de planta es, cuanta humedad necesita, y si está a la sombra o al sol, etcétera.

Yo te recomiendo que utilices este sensor solamente como una referencia, y “calibres” la cantidad de agua con respecto a la lectura del sensor, para que puedas tomar una decisión de con que valor de lectura es necesario por ejemplo activar una bomba de agua para regar. Este sensor es perfecto para el simple hecho de mantener húmedas tus plantas y que no se te sequen por que se te olvidó regarlas 😉

¿Te está gustando este artículo?

Te invito a descargar totalmente gratis la Guía de Inicio en Arduino

Encontrarás mucha información extra, conceptos y sobre todo podrás llevarla contigo en todo momento

Una consideración técnica con el sensor de humedad de suelo

Este sensor mantiene un voltaje entre los dos electrodos, si te fijas, los electrodos son básicamente una placa donde circulará una corriente eléctrica, dependiendo de la humedad entre los electrodos, existirá un mayor o menor voltaje. Siempre que el sensor esté realizando una medición, una corriente eléctrica estará circulando entre las terminales, por lo que el contacto de los electrodos con la tierra húmeda, creará óxido con el tiempo, por lo que el electrodo irá degradándose. Te recomiendo que le des energía al sensor solamente cuando vas a realizar una lectura, no es necesario que cada 5 segundos leas la cantidad de humedad del suelo, por ejemplo, podrías realizar una medición cada hora. Para activar o desactivar la alimentación del sensor, puedes utilizar un relevador como lo vimos acá. Con esto incrementaremos la vida útil de nuestro sensor, especialmente del electrodo. Existe otro sensor de humedad de suelo que tiene una mayor vida útil, ya que funciona con un principio un poco distinto, es el sensor capacitivo de humedad de suelo

Sensor capacitivo para humedad de suelo
Sensor capacitivo para humedad de suelo

Programa para utilizar el sensor de humedad de suelo con Arduino

El programa para hacer funcionar el sensor es realmente simple. Primero conectaremos nuestro sensor con la placa Arduino como lo mostramos en una imagen anterior. Utilizaremos la salida analógica (A0) y lo conectaremos a la entrada analógica de nuestro Arduino (A0). El programa quedaría como sigue:

Declaramos una entrada llamada SensorPin para la entrada analógica A0. Inicializamos el puerto serie, para poder visualizar las lecturas en el Monitor Serie. El programa básicamente realiza constantemente una lectura del sensor y posteriormente lo escribe en el puerto Serie. Agregamos un retardo, en este caso de 1 segundo, y luego esto se repite.

Al implementar este código deberemos ver algo como esto:

Monitor Serie con la recepción de lecturas del sensor de humedad de suelo
Monitor Serie con la recepción de lecturas del sensor de humedad de suelo

Como puedes observar, el sensor envía el dato de lectura del electrodo, en ese momento el electrodo estaba en el aire, por lo que nos entrega la lectura máxima (1023) indicando un ambiente seco.

Fácilmente podrías convertir los valores numéricos en valores porcentuales utilizando la función map().

Utilizando el sensor para encender un LED

En este ejemplo configuraremos una salida digital para encender o apagar un LED de acuerdo a la lectura obtenida. Con esto, simularemos por ejemplo que se enciende una bomba de agua, o cualquier otro dispositivo para realizar el control que tú desees.

El código quedaría como sigue.

Si observas, se decidió utilizar como parámetro de referencia cuando la lectura de la humedad fuera igual o mayor a 460, este nivel lo puedes seleccionar a como mejor te convenga, en este caso utilicé una pequeña maceta y le fui agregando agua hasta obtener el valor correspondiente a la humedad que quería lograr. En cuanto el sensor detecta un valor igual o mayor a 460 el LED se manda a encender (o a apagar, dependiendo de la lógica de tu actuador), cualquier otro valor por debajo de la referencia, el LED se apagaría. Esto se traduciría en si se detecta una cantidad de humedad igual o menor a la seleccionada, el LED se enciende; si se detecta un nivel de humedad mayor, el LED se apaga.

Finalmente nos quedó como se muestra a continuación:

Sensor de humedad de suelo instalado en una maceta
Sensor de humedad de suelo instalado en una maceta

¿Te gustaría ver un sistema de riego utilizando este sensor?


Que te ha parecido esta aplicación, si lo implementas compárteme tu proyecto, puedes enviarme una imagen y puedes enviarme cualquier comentario o duda que tengas al respecto. Me encantaría que me platicaras en donde utilizarás el sensor.

Recuerda visitar nuestras redes sociales

Deja un comentario