meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
electronica:arduino:humedad [052016/07/ 20:56] lcelectronica:arduino:humedad [182023/01/ 13:36] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag>arduino humedad sensor }}
 +===== 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
 +
 +{{ :electronica:arduino:humedad_temperatura_y_fc28.jpg?600 |}}
 +
 +El código sería el siguiente
 +<sxh javascript>
 +// 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();
 +}
 +</sxh>
 +
 +<note> 0 es máxima humedad y 1023 es que está completamente seco </note>
 +<note>También podríamos poner unos leds para que nos indiquen el grado de humedad -> http://www.instructables.com/id/Soil-Moisture-Sensor/</note>
 +
 +
 +
 +==== Referencias ====
 +  * http://www.luisllamas.es/2016/01/arduino-humedad-suelo-fc-28/
 +  * http://www.prometec.net/sensor-agua/
 +  * http://blog.whatgeek.com.pt/2014/08/arduino-hygrometer-or-humidity-sensor/
 +  * http://arduinotronics.blogspot.com.es/2014/01/when-do-i-water-my-plants-soil.html