Sensor de Humedad de Suelo - YL-69

El sensor de humedad del suelo YL69 o higrómetro se usa generalmente para detectar la humedad del suelo. El sensor está configurado por dos piezas: la tarjeta electrónica y la sonda con dos almohadillas, que detectan el contenido de agua. 

Este sensor utiliza 2 electrodos que pasan corriente a través del suelo, la resistencia entre los electrodos dependerá de la humedad del suelo, por lo que para un suelo muy húmedo tendremos una resistencia muy baja (corto circuito) y para un suelo muy seco la resistencia será muy alta (circuito abierto). Por lo tanto, al aumentar la humedad, la corriente crece y al disminuir, la corriente decrece; debido al agua detectada se cierra el circuito entre las terminales ya que el agua no es un aislante como el aire, sino que presenta una característica conductiva.
El electrodo va conectado a una tarjeta de acondicionamiento (YL-69) en la cual un Amplificador Operacional en modo comparador nos entrega una salida digital y otra analógica, la salida digital se activa cuando el nivel de humedad es menor al deseado, este nivel se puede regular con el potenciómetro de la tarjeta, la salida analógica nos entrega un voltaje desde 0V para un suelo muy húmedo hasta 5V para un suelo muy seco.
Se cuenta con dos tipos de salidas, una analógica y una digital. 
  • La salida digital entregará un pulso bajo cuando haya conductividad suficiente entre cada una de las puntas. El umbral de disparo se puede establecer moviendo el potenciómetro del circuito de control. 
  • En la salida analógica el nivel de voltaje dependerá directamente de cuanta humedad haya en el suelo. Es decir, dependiendo de cuanta conductividad (producto del agua en el suelo) haya entre las puntas del módulo, así variará el valor entregado entre 0 y 1023.

Especificaciones

  • Voltaje de Alimentación: 3.3V - 5V 
  • Voltaje de la señal de salida: 0~5V (Analógico) 
  • Salida digital de comparador 
  • Corriente: 35mA 
  • Salida no calibrada, el usuario debe encontrar los puntos de funcionamiento óptimos para su aplicación 
  • Indicador LED de superación de umbral 

Pines

El módulo cuenta con pines a ambos extremos, unos son para conectar el sensor y los otros son para conectar la placa de desarrollo al módulo.
  • VCC: Tensión de alimentación
  • GND: Tierra
  • A0: Salida analógica que entrega una tensión proporcional a la humedad. Puede ser medida directamente desde un puerto analógico en un microcontrolador, con Arduino, CI, etc.
  • D0: Salida digital; este módulo permite ajustar cuándo el nivel lógico en esta salida pasa de bajo a alto mediante el potenciómetro.
  • +: Conector para el sensor. Conectar uno de los pines del sensor
  • -: Conector para el sensor. Conectar el pin restante del sensor.
Datasheet: https://www.electronicoscaldas.com/datasheet/OBSoil-01_ElecFreaks.pdf

Esquema de montaje

El esquema eléctrico es sencillo. Alimentamos el módulo conectando GND y 5V a los pines correspondientes de la placa de desarrollo.
Si queremos usar la lectura analógica, conectamos la salida A0 a una de las entradas analógicas de la placa de desarrollo.

Si queremos 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 la palca de desarrollo.

Código

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 leído
   if (humedad == HIGH)
   {
      Serial.println("Encendido");  
      //aquí se ejecutarían las acciones
   }
   delay(1000);
}

Comentarios

Publicar un comentario

Entradas populares de este blog

Sensor de Temperatura - Termocupla tipo K con conversor Max6675

Activos de un sistema informático