meta data de esta página
  •  

2. Sensor de humedad de la tierra con Arduino

Para medir la humedad de la tierra vamos a utilizar un sensor FC-28 que mide la conductividad eléctrica entre sus terminales y que nos dará un valor según sea el grado de humedad del terreno.

El sensor dispone de dos salidas, una salida analógica A0 que nos da un valor entre 0 y 1023 y una salida digital D0 que ajustaremos con el potenciómetro para definir el umbral de cuando dará “1”

Podemos usar cualquiera de las salidas, pero en nuestro caso vamos a utilizar la salida analógica para aprovechando nuestro anterior proyecto con el sensor DH-11 incorporarle el FC-28

El código sería el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// wiki.intrusos.info
// modificacion del Sketch de prueba para sensores DHT humedad / temperatura de  www.internetdelascosas.cl
// Escrito por @joniuz basado en el sketch de Ladyada
 
 
// Libreria para Sensores DHT
#include "DHT.h"
 
#define DHTPIN 2     // Pin del Arduino al cual esta conectado el pin 2 del sensor
 
// Descomentar segun el tipo de sensor DHT usado
#define DHTTYPE DHT11   // DHT 11
 
// Inicializa el sensor
DHT dht(DHTPIN, DHTTYPE);
//Definimos a que patilla esta conectado el FC-28
const int sensorPin = A0;
 
// Configura Arduino
void setup() {
  Serial.begin(9600);
  Serial.println("Medir temperatura, humedad y humedad tierra\n\n");
  
  dht.begin();
}
 
void loop() {
  // Espera dos segundos para realizar la primera medición.
  delay(2000);
 
  // Lee los datos entregados por el sensor, cada lectura demora 250 milisegundos
  // El sensor muestrea la temperatura cada 2 segundos}
   
  // Obtiene la Humedad
  float h = dht.readHumidity();
  // Obtiene la Temperatura en Celsius
  float t = dht.readTemperature();
  //obtiene la humedad de la tierra
  int humedadtierra = analogRead(sensorPin);
   
  // Control de errores, valida que se obtuvieron valores para los datos medidos
  if (isnan(h) || isnan(t)) {
    Serial.println("Falla al leer el sensor DHT!");
    return;
  }
 
  Serial.print("Humedad: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(" \t");
  Serial.print("Humedad Tierra: ");
  Serial.print(humedadtierra);
  Serial.println();
}

0 es máxima humedad y 1023 es que está completamente seco
También podríamos poner unos leds para que nos indiquen el grado de humedad → http://www.instructables.com/id/Soil-Moisture-Sensor/

Referencias