int Pin2=2;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Importamos la libreria DHT.h
#include <DHT.h>
int ldrPin = A0; // LDR pin
int ldrVal = 0; // Value of LDR
// LDR Characteristics
const float GAMMA = 0.7;
const float RL10 = 50;
//Crear el objeto lcd
LiquidCrystal_I2C lcd(0x27,16,2);
// Definimos el pin digital donde se conecta el sensor
#define DHTPIN 2
// Dependiendo del tipo de sensor, creamos otra constante para declarar el tipo de sensor que vamos a utilizar.
#define DHTTYPE DHT11
// Inicializamos el sensor DHT11, declaramos el objeto DHT con parametros pin y tipo de DHT
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Inicializar el LCD
lcd.init();
//Encender la luz de fondo.
lcd.backlight();
// Inicializamos comunicación serie, activamos monitor en serie para la visualizacion de los parametros
Serial.begin(9600);
// Comenzamos el sensor DHT, con la sentencia begin()
dht.begin();
lcd.setCursor(0,0);
lcd.print("C:");
lcd.setCursor(0,1);
lcd.print("H:");
lcd.setCursor(8,0);
lcd.print("R:");
}
void loop() {
// LDR
ldrVal = analogRead(ldrPin); // Read the analog value of the LDR
float voltage = ldrVal / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
// 1 Lux=0.0079 W/m^2
Radiacion=map(lux,0,100000,0,790)
lcd.setCursor(10,0);
lcd.print(lux);
// DTH11
float T=map(dht.readTemperature(),-130,3,-40,80);
lcd.setCursor(2,0);
lcd.print(T);
delay(10);
float H=map(dht.readHumidity(),0,26.20,0,100);
lcd.setCursor(2,1);
lcd.print(H);
delay(10);
// Esperamos 5 segundos entre medidas, esta es una recomendacion del fabricante
delay(5000);
// Leemos la humedad relativa
float h = dht.readHumidity();
// Leemos la temperatura en grados centígrados (valor por defecto)
float t = dht.readTemperature();
// Comprobamos si ha habido algún error en la lectura
if (isnan(h) || isnan(t) ) {
Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}
Serial.print("Humedad: ");
Serial.print(h);
Serial.print("Temperatura: ");
Serial.print(t);
}