// C++ code
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include<DHT.h>
#define sensor 10
#define DHTTYPE DHT22
#define DHTPIN 2
DHT dht(DHTPIN,DHTTYPE);
void setup()
{
dht.begin();
Serial.begin(9600);
pinMode(sensor,INPUT);
pinMode(2,INPUT);
lcd.init();
lcd.backlight();
pinMode(4,OUTPUT);
pinMode(5,INPUT);
}
void loop()
{
long duration;
long distance;
digitalWrite(4,LOW);
delayMicroseconds(2);
digitalWrite(4,HIGH);
delayMicroseconds(10);
digitalWrite(4,LOW);
duration = pulseIn(5,HIGH);
distance= duration*0.034/2;
lcd.setCursor(0,0);
lcd.print("Distance:");
lcd.print(distance);
delay(1000);
int val,temp,hum;
lcd.setCursor(0,0);
val = digitalRead(sensor);
if(val==HIGH)
{
lcd.print("Motion Detected");
delay(1000);
lcd.print("Motion Not Detected");
delay(1000);
}
else
{
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Temperature ; ");
temp=dht.readTemperature();
lcd.println(temp);
lcd.print("Humidity ; ");
hum=dht.readHumidity();
lcd.println(hum);
delay(1000);
}
if (distance>200)
{
digitalWrite(6,HIGH);
delay(1000);
}
else if(temp>200)
{
digitalWrite(6,HIGH);
delay(1000);
}
else if(10==HIGH)
{
digitalWrite(6,HIGH);
delay(1000);
}
}