{{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 // 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 ==== * 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