¿Te gustaría tener un sistema que mida distintas variables ambientales, a las que tus  plantas y flores se encuentran expuestas?

Con este  estupendo sistema podrás medir la temperatura de tu invernadero, mantenerte informado sobre la necesidad de riego y todo esto visualizado en una pantalla LCD display de 16×2.

Componentes necesarios:

  • 1×  Sensor de temperatura LM35
Lm35 dfrobots
  • 1×  Sensor de humedad de tierra
Humedad de suelo dfrobots
  • 1×  Shield LCD display para Arduino
Shield lcd
  • 1× Kit Intel® Edison con tarjeta Arduino Breakout
Kit Intel Edison


Pin Out de conexión:

Shield LCD display para Arduino→ Sobrepuesto en Kit Intel® Edison con tarjeta Arduino Breakout

Sensor de temperatura LM35→ Pin análogo 1

Sensor de humedad de tierra→ Pin análogo 2

Conexion LCD LM35

Código de programación Arduino:

#include <LiquidCrystal.h>         //Se incluye en la programación la librería LiquidCrystal

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);     // Inicia los pines necesarios para pantalla LCD.

intTemperaturePin=A1;      //Se establece pin análogo 1 para entrada de sensor temperatura

intHumidityPin=A2;         // Se establece pin análogo 2 para entrada de sensor humedad

voidsetup() {

lcd.begin(16, 2);  // Se preparan e inician columnas y filas de pantalla display LCD

}

voidloop() {

inttemperatureValue;     //Se crea variable para almacenar datos de sensor temperatura

inthumidityValue;        // Se crea variable para almacenar datos de sensor de humedad

inttemperature;          // Se crea variable para almacenar datos finales de sensor temperatura

temperatureValue=analogRead(TemperaturePin); //Lee  y guarda valor de sensor temperatura

humidityValue=analogRead(HumidityPin);          //Lee y guarda valor de sensor de humedad

temperature=(500*temperatureValue)/1024;  //Convierte valor análogo de temperatura a //grados Celsius

//Se muestra en pantalla LCD valores de temperatura

lcd.setCursor(0, 0);                      // Se establece el cursor en la columna 0 y fila 0

lcd.print(“T:”);                //Se escribe en LCD la letra “T”

lcd.print(temperature);             //Se escribe en LCD el valor de temperatura

lcd.print(“C”);                                 //Se escribe en LCD la letra “C”

// Se muestra en pantalla LCD valores de humedad de tierra

lcd.setCursor(0, 6);                      // Se establece el cursor en la columna 6 y fila 0

lcd.print(“H:”);                               //Se escribe en LCD la letra “H”

lcd.print(humidityValue);          //Se escribe en LCD el valor de humedad de tierra

//Se muestra en pantalla LCD la acción de riego respecto del sensor de humedad de tierra

lcd.setCursor(1, 0);                      //Se establece el cursor en la columna 1 y fila 0

if(humidityValue<300) {            //Si el valor análogo de humedad es menor a 300

lcd.print(“Soil: Dry”); //Se escribe en LCD “Soil: Dry”

}

//Si no es asi, si la humedad es mayo o igual a 300 y si es menor a 700

elseif(humidityValue>=300 && humidityValue<700){

lcd.print(“Soil: Humid”);           //Se escribe en LCD “Soil: Humid”

}

//Si no se cumple ninguna de las condiciones anteriores

else{

lcd.print(“Soil: Water”)             //Se escribe en LCD “Soil: Water”

}

delay(500);                                      //Se espera un tiempo de 500 milisegundos

}

Despues de grabar la información en Arduino Intel Edison, la pantalla LCD mostrara la temperatura y humedad de tierra, pero también mostrara la condición de riego según la humedad obtenida por el sensor.

LCD Temperatura