lunes, 18 de diciembre de 2017

Sensor de humedad de suelo FC28 - Higrómetro Arduino



El sensor  de  humedad FC28 es un sensor que mide la humedad del suelo a partir de la resistencia eléctrica del mismo. Es usual usar este sensor sin ninguna otra placa, obteniendo su resistencia en todo momento por medio de un divisor de tensión simple, sin embargo el módulo también puede obtenerse con una placa Flying Fish, la cual provee una salida analógica proporcional a la resistencia medida y una salida digital dada por un circuito amplificador operacional en modo comparador, el cual compara el valor medido con una referencia dada  por el valor en el potenciómetro, dando una salida digital alta cada vez que el valor medido sea mayor a la referencia. 

Debe mencionarse que la medición del elemento no está calibrada, así, si se desea obtener una medida numérica, se debe realizar una calibración con un segundo higrómetro, sin embargo una buena referencia puede ser el hecho que un suelo ligeramente húmedo da un valor en el ADC de un Arduino de  600  a 700 y un suelo seco da un valor mayor a 700. 

Debido al uso bastante simple del módulo, este duele ser utilizado para sistemas de riego automático. La tensión en la salida analógica del módulo es inversamente proporcional a la resistencia medida, es decir, en un suelo muy húmedo, la tensión se aproximará a 0 y en un suelo muy seco se aproximará a VCC. Los pines del módulo son los siguientes:

VCC =  Referencia positiva  de 3.3 a 5 V
GND = Referencia negativa
A0 = Salida analógica de 0 a VCC
D0 = Salida digital

A continuación presentamos una aplicación en la cual usamos la salida analógica y la salida digital del módulo.

Esquema de conexión con Arduino UNO







Código Arduino


int pin_analogico = A1; // definimos los pines por los que
int pin_digital = A0;   // conectamos las salidas del módulo

void setup() {
Serial.begin(9600); //iniciamos la comunicación serial
pinMode(pin_digital,INPUT_PULLUP); //definimos como entrada
}

void loop() {

Serial.print("lectura analoga = ");
Serial.println(analogRead(A1));

// si la salida digital está en cero, es porque se ha superado el valor de referencia
// entonces se desplegará el mensaje: "salida digital activa"
if (digitalRead(pin_digital) == LOW)
{
  Serial.println("salida digital activa");
}
else
{
  Serial.println("salida digital inactiva"); // de otra forma de deplegará "salida digital inactiva"
}

}


Una vez subido el código y al abrir el monitor serial, podremos  observar el  valor medido en la salida analógica del módulo y  el estado de  la salida digital.



FIN DEL POST

0 comentarios:

Publicar un comentario

Display matricial 8x8 con Arduino SPI y MAX7219

La matrices led de 8x8 son elementos extremadamente útiles para desplegar mensajes que puedan ser visibles desde la distancia. ...