Sensor de humedad con arduino


Este sensor utiliza las dos sondas para pasar corriente a través del suelo, luego lee la resistencia que se produce con la humedad de la tierra.

oscar Escrito por oscar 09 October 2016 69840 3

Acerca del proyecto

Vamos a trabajar con un sensor que tiene la capacidad de medir la humedad presente en el suelo que lo rodea, este sensor nos genera una señal analogía que esta relacionada con la cantidad de humedad en el suelo. La conexión que realizaremos con el arduino es por medio de los puertos análogos que posee y usando la función analogread() obtendremos un valor que podemos interpretar con una lógica básica para determinar la cantidad de humedad del suelo.[1]

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
analogRead() Arduino contienen un convertidor de analógico a digital multicanal de 10 bits. Esto significa que mapeará voltajes de entrada entre 0 y el voltaje de operación (5V o 3.3V) en valores enteros entre 0 y 1023.

Sensor de humedad del suelo

Funcionamiento del sensor

Este sensor utiliza las dos sondas para pasar corriente a través del suelo, luego lee la resistencia que se produce con la humedad de la tierra para obtener el nivel. Más agua hace que la conducción eléctrica del suelo más fácilmente (menos resistencia), mientras que el suelo seco mal conductor de la electricidad (mayor resistencia).

Hay que aclarar que este sensor es de bajo poder y que solo detecta si hay humedad, si queremos saber el porcentaje de humedad del suelo este sensor no tiene la capacidad para dicha proeza.

Características

Estas son las características mas relevantes del sensor:[2]

  • Medida análoga de la humedad con salida de variación de voltaje.
  • Pines de conexión de la tarjeta: VCC: alimentación, GND: Tierra, AO: Salida análoga de la medición de humedad
  • Voltaje de alimentación: 3.3V a 5V
  • Corriente 35mA Max.
  • Dos agujeros de sujeción en el sensor de diámetro 3 mm aprox. y un agujero de sujeción en el módulo electrónico de 2 mm aprox.
  • Dimensiones aprox: Sensor 6 cm x 2 cm. Módulo electrónico 4 cm x 1.5 cm

Valor de salida

La siguiente tabla es una representación aproximada de las condiciones de humedad del suelo después de obtener la lectura analógica con el arduino, teniendo en cuenta que la conversión análoga que realiza el arduino es de 0 a 1024 con 10bits de conversión, esto lo explico con la función analogread().

Condición Valor mínimo Valor máximo
Sensor en suelo seco 0 300
Sensor en suelo húmedo 300 700
Sensor en agua 700 950

Conexión de sensor

El sensor es fácil de conectar y de programar, ya que sus salida es un 0 a 4.2v lo que podemos leer como una señal análoga, lo cual podemos conectarlo a una de nuestras estradas de nuestro arduino, como se observa en la siguiente imagen.

Circuito sensor humedad arduino
Circuito sensor humedad arduino

Materiales

A continuación describo los materiales que estamos usando para este proyecto.

Materia Cantidad Descripción
Arduino 1 Puedes usar el que prefieras
Sendor de humedad (SEN0114) 1 Sensor de humedad del fabricante dfrobot

Código

Tenemos el código del ejerció, además lo puedes encontrar en la siguiente dirección de nuestros proyectos en github.

/*Sensor de humedad con arduino
*
* Copyright: codigoelectronica.com
* Author: Oscar Fernandez 
* License: MIT
*/

void setup() {
    //Paso 1
    Serial.begin(9600);
    Serial.println("Valor del sensor de humedad");
}
  
void loop() {
    //Paso 2
    int humidity = analogRead(A0);
    Serial.print("Lectura:");
    Serial.println(humidity);
    //Paso 3
    if(humidity >= 0 & humidity <= 300){
        Serial.println("Sensor en suelo seco");  
    } else if(humidity > 301 & humidity <= 700){
        Serial.println("Sensor en suelo húmedo");
    }else if(humidity >= 701){
        Serial.println("Sensor en agua");
    }
    delay(1000);
}
  1. Inicializamos el puerto serial para ver el resultado por la consola serial de arduino.
  2. Leemos el valor del puerto análogo, el cual va a hacer de 0 a 1024 a 10bits de lectura analógica.
  3. Con la tabla valor de salida que esta arriba, determinamos la humedad del suelo.

Ejemplo funcionando

Como podemos observar en la siguiente imagen, cuando agregamos más agua a la tierra disminuye la resistencia, lo que hacer que pase más voltaje y lo podamos leer por las entradas análogas de nuestro circuito.

Resultado medición
Resultado medición

Referencias

[1] dfrobot https://wiki.dfrobot.com/Moisture_Sensor__SKU_SEN0114_, Consultado octubre 2019

[2] electronicoscaldas https://www.electronicoscaldas.com/datasheet/OBSoil-01_ElecFreaks.pdf, Consultado octubre 2019


Comentario

Debe aceptar antes de enviar
javi_pana_co
javi_pana_co

16 August 2017 08:57

Excelente información.
jose.brizuela95
jose.brizuela95

29 October 2020 18:40

Que superficie puede sensar este artefacto? es decir en m2

30 October 2022 20:38

Hola! Como podría conectar este circuito a un led para que se encienda cuando la humedad este en los valores del parámetro?