#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#include <dht.h>
dht DHT;
#define analogIn0 A0
#define analogIn1 A1
#define DHT22_PIN 5
#define led1 11
#define led2 12
#define led3 13
int RawValue= 0;
double temp2 = 0;
int ave = 0;
const double BETA = 3950;
int Value= 0;
double temp1 = 0;
const double beta = 3950;
void setup(){
lcd.begin(20,4);
lcd.backlight();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
lcd.setCursor(14, 1);
lcd.print("Ave=");
}
void loop()
{
int chk = DHT.read22(DHT22_PIN);
lcd.setCursor(0, 0);
lcd.print("Temp3=");
lcd.print(DHT.temperature, 1);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print("Humidity=");
lcd.print(DHT.humidity, 1);
lcd.print(" ");
if(DHT.humidity>=50){
digitalWrite(led2,HIGH);
}
else {
digitalWrite(led2,LOW);
}
if(DHT.humidity <=49){
digitalWrite(led3,HIGH);
}
else{
digitalWrite(led3,LOW);
}
RawValue = analogRead(analogIn0);
temp2 = 1 / (log(1 / (1023. / RawValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
lcd.setCursor(0, 1);
lcd.print("Temp2=");
lcd.println(temp2,1);
lcd.print(" ");
ave = temp1+DHT.temperature+temp2/3;
lcd.setCursor(15,2);
lcd.print(ave);
lcd.print(" ");
if(ave >=35 || temp1 > 50 || temp2 > 50 || DHT.temperature > 50){
digitalWrite(led1,HIGH);
delay(200);
digitalWrite(led1,LOW);
delay(200);
}
Value = analogRead(analogIn1);
temp1 = 1 / (log(1 / (1023. / Value - 1)) / beta + 1.0 / 298.15) - 273.15;
lcd.setCursor(0, 2);
lcd.print("Temp1=");
lcd.println(temp1,1);
lcd.print(" ");
}