Medir la humedad del suelo con Arduino e higrómetro FC-28


arduino-sensor-humedad-suelo-FC-28

¿Qué es un higrómetro FC-28?

Un higrómetro de suelo FC-28 es un sensor que mide la humedad del suelo. Son ampliamente empleados en sistemas automáticos de riego para detectar cuando es necesario activar el sistema de bombeo.

El FC-28 es un sensor sencillo que mide la humedad del suelo por la variación de su conductividad. No tiene la precisión suficiente para realizar una medición absoluta de la humedad del suelo, pero tampoco es necesario para controlar un sistema de riego.

El FC-28 se distribuye con una placa de medición estándar que permite obtener la medición como valor analógico o como una salida digital, activada cuando la humedad supera un cierto umbral.

Los valores obtenidos van desde 0 sumergido en agua, a 1023 en el aire (o en un suelo muy seco). Un suelo ligeramente húmero daría valores típicos de 600-700. Un suelo seco tendrá valores de 800-1023.

Anuncio:

La salida digital dispara cuando el valor de humedad supera un cierto umbral, que ajustamos mediante el potenciómetro. Por tanto, obtendremos una señal LOW cuando el suelo no está húmedo, y HIGH cuando la humedad supera el valor de consigna.

El valor concreto dependerá del tipo de suelo y la presencia de elementos químicos, como fertilizantes. Además, no todas las plantas requieren la misma humedad, por lo que lo mejor es que hagáis una pequeña calibración en el terreno real.

Precio

El sensor de humedad FC-28 es realmente barato. Podemos encontrarlo por 0,85€ en vendedores internacionales de Ebay y Aliexpress.

sensor-humedad-suelo-FC-28

Esquema de montaje

El esquema eléctrico es sencillo. Alimentamos el módulo conectando GND y 5V a los pines correspondientes de Arduino.

Ahora si queremos usar la lectura analógica, conectamos la salida A0 a una de las entradas analógicas de Arduino.

arduino-sensor-humedad-suelo-FC-28-esquema

Mientras que la conexión vista desde Arduino quedaría así,

arduino-sensor-humedad-suelo-FC-28-esquema-arduino

Si quisiéramos emplear el valor digital, que se ajusta con el potenciómetro de la placa, en su lugar conectaríamos la salida D0 del sensor a una entrada digital de Arduino.

arduino-placa-sensor

Ejemplos de código

El código necesario es realmente sencillo. Si estamos empleando la señal analógica A0, leemos el valor mediante la entrada analógica, y usamos el puerto serie para mostrar el valor por pantalla. En un caso real, este valor se emplearía para ejecutar acciones, en lugar de mostrar el valor.

const int sensorPin = A0;

void setup() {
   Serial.begin(9600);
}

void loop() 
{
   int humedad = analogRead(sensorPin);
   Serial.print(humedad);
  
   if(humedad < 500)
   {
      Serial.println("Encendido");  
      //hacer las acciones necesarias
   }
   delay(1000);
}

Si estamos empleando la señal digital, empleamos una entrada digital para leer el estado. En el ejemplo mostramos un mensaje por la pantalla, pero igualmente en un caso real ejecutaríamos las acciones oportunas.

const int sensorPin = 10;

void setup()
{
   Serial.begin(9600);
   pinMode(sensorPin, INPUT);
}

void loop()
{
   int humedad = digitalRead(sensorPin);

   //mandar mensaje a puerto serie en función del valor leido
   if (humedad == HIGH)
   {
      Serial.println("Encendido");   
      //aquí se ejecutarían las acciones
   }
   delay(1000);
}
Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección Tutoriales de Arduino
4.2 6 votes
Article Rating

Anuncio:

Previous Nuestro primer programa en Python
Next Controlar Arduino con Python y la librería PySerial
27 Comments
oldest
newest
Inline Feedbacks
View all comments
Sergio Narváez Rueda
5 years ago

Hola. Es muy interesante. Muchas gracias por tu aporte.

Tengo una pregunta, he leído que este sensor se oxida fácilmente si siempre tiene corriente el sensor (al pasar corriente por agua o medio húmedo se disocia en hidrógeno y oxígeno, donde se va el oxígeno oxida la pata del sensor).¿se puede usar un pin digital de salida del arduino para darle corriente en el momento justo de la lectura, por ejemplo dos veces al día? es decir, un pin de salida conectado al VCC del sensor.

Gracias.

luisllamas
5 years ago

Nunca debes usar una salida como fuente de alimentación, no es su función. Las salidas de un autómata son para realizar acciones y comunicar con otros dispositivos.

Lo correcto en tu caso es emplear un transitor como "interruptor" en la alimentación del sensor, y encenderlo y apagarlo con una salida digital.

Vic
4 years ago

Buenas! Estoy montando un riego automático 100% Arduino en un Jardín, voy a utilizar 3 detectores de humedad de suelo y voy a alimentarlos unos segundos cada 10 min para tomar la medición (a través de un transistor 2N2222), ahora bien, la duda que no consigo resolver es... Qué pasaría si cae un rayo cerca? En el jardín directamente es más difícil porque es una urbanización llena de chalets, pero también posible. Que pasa si cae el rayo a unos metros? El poner este sensor clavado en el suelo aumentará la posibilidad de que caiga un rayo? Espero su respuesta,… Read more »

luisllamas
4 years ago
Reply to  Vic

Hola. Si un rayo cae cerca de tu instalación... ve diciéndole adiós a todo lo que tengas conectado. Pero tranquilo, no incrementarás el riesgo de que caiga un rayo

Litrox
4 years ago

Como podria mostrar los datos en % y no como numero solo??

muy buen tutorial n.n

Carlos Orlando Vergara Torres
2 years ago
Reply to  Litrox

usando el comando map, conviertes los valores que van desde 0 a 1023 del ADC a 100 y 0 que quedaria en porcentaje, en este caso 0 seria el 100% y 1023 seria 0%

luisllamas
3 years ago

1) El sensor simplemente mide la resistencia. La longitud admisible dependerá de la resistencia del mismo (relacionado con su sección). Pero también tienes que tener en cuenta las condiciones (enterrado, humedad, corrosión, etc... ).
2) Por higiene. La función de un controlador no es ejecutar acciones directamente, es comandar actuadores.
Por último, si vas a realizar una instalación "seria" (o semi profesional), ten en cuenta que ese sensor es poco más que un juguete, más que un sensor real.

luisllamas
3 years ago

Hola Antonio. Comienza leyendo los tutoriales básicos, y pregunta lo que necesites 😀

luisllamas
3 years ago

De la misma forma que te muestra la entrada, pero empleando otra entrada analógica. Si tienes más dudas, te recomiendo que empieces por el principio, y consultes los tutoriales básicos (https://www.luisllamas.es/tag/arduino-basico/)

luisllamas
3 years ago

El sensor no, lógicamente. Pero puedes usar un sistema inalámbrico (Bluetooth, Wifi) y recolectar las mediciones de forma inalámbrica. Mira "comunicaciones" dentro de los tutoriales https://www.luisllamas.es/tag/comunicacion/

Geronimo Molina
3 years ago

Tienes que hacer esta regla de tres : la lectura es a 1023 como el % es a 100 Después restar 100 menos el resultado para que mida 0 al seco y 100 al mojado. . . también podrías aplicar alguna otra calibración extra pero por ahora no he encontrado manera. Saludos

Andres Andrade
3 years ago

y que sensor sería mas confiable para una instalación semi profesional?

manulaz
3 years ago

Hola, estoy enredando con este tipo de "sensores", y he optado por alimentar momentáneamente a los sensores a través de un transistor MOSFET. En principio todo funciona como debería, pero he comprobado que la tensión que se obtiene depende mucho del tiempo que ha pasado desde que se alimenta la sonda. La gráfica de tensión que se obtiene es muy parecida a la del proceso de carga de una batería: durante unos segundos la tensión va subiendo, luego se estabiliza, y a largo plazo comienza a disminuir moderadamente. En condiciones normales, no se obtiene una medida razonable hasta haber transcurrido… Read more »

Aldo Bravo Velasquez
3 years ago

Hola, muy interesante el articulo.
Me interesa realizar un sistema de riego para mis lombrices, ellas en su lecho deben tener humedad constante del 80% entonces cada vez que baje la humedad debería encender el riego, para mi es todo un tema porque recién estoy leyendo sobre arduino y los higrómetros FC-28 entonces todas estas señales como las capturo a mi ordenador? se debe desarrollar alguna aplicación móvil o web? o algún software que analice los datos... Necesito orientarme....Quedo atento a los comentarios.
Saludos

Angel
2 years ago

Oye cómo puedo pedir en las tiendas el módulo que viene con el sensor de humedad por que compre uno pero solo viene el sensor y el módulo no

Emilio
2 years ago

Buenas tardes, estoy usando 4 de ellos para controlar 4 plantas y observo que debido al potencial eléctrico que tienen, uno de los contactos se sulfata, coge ese color verde azulado y va perdiendo la capa de cobre y la conductividad y … no sirve. ¿Como podría hacer para que solo tuvieran potencial cuando , cada hora, por ejemplo, quisiera hacer la medición de la humedad y el resto del tiempo no tuviera carga eléctrica?

Damian Ares
2 years ago
Reply to  Emilio

Se llama electrolisis puedes usar varillas de inoxidable para enterrar tiene un poco menos de conductividad

Yajaira
2 years ago

Hola!
Me encuentro trabajando con el sensor FC-28, pero tengo una duda, hasta qué área puede medir este sensor? he buscado información pero no la encuentro, quizás no busco apropiadamente, además de que no me aparece como tal un datasheet.
Gracias.

luis
2 years ago

como lo haria para presentar cuanta humedad tiene en una pantalla LCD

Martín
2 years ago

Hola Luis, antes de nada, muchas gracias por el post, me ha sido de utilidad.
Sabes que largo máximo de cables admiten estos sensores?
Me interesa particularmente usar dos cables, es decir los que van desde el regulador a la horquilla. La finalidad es para hacer una instalación de riego de bancales de cultivo de tomates.
Un saludo.

Piero Vilcapoma
2 years ago

Hola buenas , necesito su ayuda se me ocurrió la idea de hacer un mini huerto automático que funciones con arduino uno , la idea la tengo pero mi problema es que recién inicio en la programación y el problema es que no se nada :,c y de veras que quiero realizar este proyecto , para ello tengo pensado usar un motor dc y el sensor de humedad , quiero que el sensor de humedad mida la humedad del cultivo personal y que este al ver que los valores sean bajos , se envié una señal atravez del arduino para… Read more »

misterio
1 year ago

Hasta que distancia se pierde la señal del sensor con el arduino o no importa la distancia de cableado. Saludos

Cómo medir la humedad del suelo con Arduino UNO y el sensor FC-28 – Felix Barros
1 year ago
Andres
1 year ago

Hola! Excelente tutorial

Hay algo que no me queda claro. Porque al convertir los valores analogicos del sensor a porcentaje (usando el metodo map) se usa el parametro 550, 0 siendo que el rango del sensor es de 1023 a 0?

Gracias

Óscar
1 month ago

Luis, un admirador.
¿este dispositivo funciona a 3,6V?