¿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
- 1× Sensor de humedad de tierra
- 1× Shield LCD display para Arduino
- 1× Kit Intel® Edison con tarjeta Arduino Breakout
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

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.