Huertos Inteligentes (DHT11 + Sensor de humedad de suelos)
Hola amigos de Taringa aquí les traigo un excelente proyecto con Arduino, muy fácil de hacer espero les guste.
Huertos Inteligentes (Herramientas básicas)
En este tutorial llevaremos a cabo una simple monitorización de nuestras plantas. Esto, es aplicable a los huertos urbanos que cada vez más gente acostumbra a tener en casa. Monitorizaremos la humedad de la tierra, la humedad del ambiente y la temperatura ambiente para llevar de manera más eficiente el control y el cuidado de nuestras plantas.
Los materiales que usaremos para este tutorial serán los siguientes:
- Arduino UNO
- Un potenciómetro de 10K
- Sensor DHT11 (Temperatura y Humedad ambientes)
- LCD 16x02
- Resistencia de 220 Ohm
- Cables
- Sensor FC-28 (Humedad de suelos) con módulo de control.
Seguidamente se muestra la conexión del sensor DHT11 y el LCD 16X02 con el Arduino para poder explicar también la conexión del sensor de humedad para suelos.
Así pues para conectar el sensor de Humedad de suelos al anterior montaje haremos lo siguiente:
Como podemos ver en la imagen el sensor lleva un pin positivo y otro negativo. Estos dos pines irán a los dos pines de la parte superior del módulo de control. De la parte inferior del módulo nos salen 4 pines. De izquierda a derecha tenemos AO ( Salida Analógica del sensor), DO (Salida digital del sensor controlada por el potenciómetro), VCC (+5 V) y GND que conectaremos con nuestro GND en el circuito. Para poder controlar lo que nos mostrará la pantalla acerca de la humedad del suelo usaremos el pin analógico que lo contectaremos al pin A0 en nuestro Arduino UNO.
Una vez todo montado escribiremos el código.
#include <LiquidCrystal.h>
#include <DHT11.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2) ;
int pin=7;
int v_suelo;
DHT11 dht11(pin) ;
void setup() {
// Definimos la LCD con dimension 2x16 y definimos
//los caracteres que deben salir en las filas:
lcd.begin(16,2);
lcd.print("T= H= " ) ;
}
//Hasta aquí hemos definido qué queremos que
//salga impreso por la pantalla y el tamaño de ésta.
void loop() {
//Sensor de Humedad
//0 - 250 seco
//250 - 600 húmedo
//600 - 950 Encharcado
v_suelo= analogRead(0) ;
int error;
float temperatura, humedad;
if((error = dht11.read(humedad, temperatura)) = = 0 ) {
lcd.setCursor(2,0) ;
lcd.print(temperatura ) ;
lcd.setCursor(10,0) ;
lcd.print(humedad) ;
}
else{
lcd.setCursor(0,0 ) ;
lcd.print("ERROR" ) ;
}
//condiciones de aviso de riego
if(v_suelo<=250){
lcd.setCursor(0,1) ;
lcd.print("Me Ahogo! " ) ; }
if((v_suelo>250)&&(v_suelo<=600 ) ) {
lcd.setCursor(0,1) ;
lcd.print("Estoy bien : ) " ) ;
}
if(v_suelo>600){
lcd.setCursor(0,1) ;
lcd.print("Necesito Agua! " ) ;
}
delay(1000) ;
}
Como vemos, el programa no tiene ninguna complejidad. Hemos usado condicionales para que, dependiendo del grado de humedad del suelo, nos informe de si debemos o no regar nuestra planta.
Además, aprovechándonos del sensor DHT11 podríamos usar sus condiciones para ajustar mucho más las necesidades de riego. Quizás si tenemos una temperatura ambiente de 36ºC y nuestra planta tiene una humedad buena de tierra podemos programar un condicional como por ejemplo:
if(v_suelo>250)&&(v_suelo<=600)&&(temperatura>36){
lcd.setCursor(0,1) ;
lcd.print("Creo que voy a necesitar agua " ) ;
}
if(v_suelo>250)&&(v_suelo<=600)&&(temperatura>36){
lcd.setCursor(0,1) ;
lcd.print("Creo que voy a necesitar agua " ) ;
}
Bueno amigos esto fue todo espero que les sirva de mucho este tutorial si te gusto Vota y así me ayudas a crecer, Gracias
Link de descarga de la librería DHT11.h