¿QUÉ ES UN HIGRÓMETRO ?
.
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.
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.
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.
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.
Mientras que la conexión vista desde Arduino
quedaría así,
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.
EJEMPLOS
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);
}
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);
}
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);
}




No hay comentarios.:
Publicar un comentario