/*Continuación del proyecto VI*/
//Librería para controlar la pantalla lcd_I2C.
#include <LiquidCrystal_I2C.h>
#include "funciones.h"
//En esta simulación usamos un potenciómetro haciendo las veces de higrómetro.
#define pinHigro A0
//Añadimos el pin para controlar el sensor de luminosidad.
#define pinLuz A1
int contador = 500;
float referenciaH;
//Variable que almacenará el resultado de la media de luminosidad.
float referenciaL;
//Declaramos nuestra pantalal e indicamos que es de 20 x 4.
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup()
{
Serial.begin(9600);
pinMode(pinHigro, INPUT);
//Indicamos que el sensor de luminosidad es una entrada de datos.
pinMode(pinLuz, INPUT);
referenciaH = media(pinHigro, contador);
referenciaL = media(pinLuz, contador);
//Activamos la pantalla.
lcd.init();
//Activamos la luz de fondo.
lcd.backlight();
}
void loop()
{
//Variables que almacenarán las lecturas en tiempo real.
int h, l;
h = map(analogRead(pinHigro),1023,0, 0, 100);
l = map(analogRead(pinLuz), 1023,0,0,100);
//Mostramos la información sobre los valores de humedad a través de la pantalla.
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Higro.:");
lcd.print(h);
lcd.print("[%]");
lcd.setCursor(0,1);
if(h < referenciaH)
{
lcd.print("Higro. < referencia");
}
else if(h > referenciaH)
{
lcd.print("Higro. > referencia");
}
else
{
lcd.print("Higro. = referencia");
}
//Mostramos información sobre los valores de luminosidad también en la pantalla.
lcd.setCursor(0,2);
lcd.print("Luz:");
lcd.print(l);
lcd.print("[%]");
lcd.setCursor(0,3);
if(l < referenciaL)
{
lcd.print("Luz < referencia");
}
else if(l > referenciaL)
{
lcd.print("Luz > referencia");
}
else
{
lcd.print("Luz = referencia");
}
delay(1000);
}