Cómo usar sensor de humedad de tierra con Arduino

Posted on by
Sensor de humedad en tierra para Arduino.

Sensor de humedad en tierra para Arduino.

Si estas construyendo un sistema que riegue tus plantas de manera automática monitorizar la humedad de la tierra es más fiable que establecer ciclos de regado, de manera que solo regaras cuando tus plantas lo necesiten, evitando problemas por regar en exceso. A continuación vamos a explicar como utilizar uno de estos sensores de humedad para tierra con Arduino.

Descripción

Este sensor se compone de dos partes, la sonda con forma de horquilla que se tiene que clavar en la tierra, y un módulo electrónico que usaremos para conectar la sonda con Arduino. Funciona con una alimentación de 3,3V o 5V que se administrará mediante los pines VCC y GND. El led rojo se encenderá cuando estemos alimentándolo.

Tiene funcionalidades digitales y analógicas, el pin AO nos dará una señal analógica comprendida entre el valor de alimentación a 0V (Para Arduino UNO de 5v a 0V) a mayor humedad el valor será más alto, esto se debe al funcionamiento de la sonda ya que a mayor humedad mayor será la conductividad de la tierra y por lo tanto aumentará el valor que midamos.

El pin DO nos dará una señal digital que será ‘1’ cuando el valor de humedad sea menor que el que establezcamos manualmente en el potenciómetro y ‘0’ cuando sea mayor. El potenciómetro está conectado a un comparador LM393 al igual que la señal de la sonda. Para usarlo correctamente tendremos que calibrarlo con diferentes muestras de tierra con diferentes humedades. El LED verde nos ayudará en esta tarea ya que cuando tengamos un 1 en DO se encenderá.

Alimentación 3.3V ~ 5V
Señalización LED ROJO: Alimentación
VERDE: Salida digital
Pines
VCC: 3.3V-5V
GND: GND
DO: Salida digital
AO: Salida analógica

Código

int DOpin = 2;

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

void loop() {
 int DO = digitalRead(DOpin);
 int sensorValue = analogRead(A0);
 int hum = (sensorValue * 100)/1024;

 Serial.print("Salida digital: ");
 Serial.println(buttonState);
 
 Serial.print("Valor Analogico: ");
 Serial.println(sensorValue);
 
 Serial.print("Humedad en tierra: ");
 Serial.print(sensorValue);
 Serial.println("%");
 delay(1); 
}

Comments are disabled