#include <LiquidCrystal_I2C.h>
#include <UltrasonicSensor.h>
#include <DHT.h>
int trigpin = 2;
int echopin = 3;
int dhtpin = 4;
int relaypin = 5;
float distance = 0;
float temp;
float hum;
UltrasonicSensor ultrasonic(trigpin,echopin);
DHT dht(dhtpin,DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 12);
void setup() {
Serial.begin(9600);
int temperature = 22;
ultrasonic.setTemperature(temperature);
lcd.begin(16,2);
lcd.backlight();
dht.begin();
pinMode(relaypin, OUTPUT);
digitalWrite(relaypin, LOW);
}
void loop() {
distance = ultrasonic.distanceInCentimeters();
Serial.print("The Distance : ");
Serial.println(distance);
delay(200);
temp = dht.readTemperature();
hum = dht.readHumidity();
Serial.print("Temperature: ");
Serial.print(temp);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(hum);
Serial.println(" %");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm");
lcd.setCursor(0, 1);
lcd.print("Temperature: ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 2);
lcd.print("Humidity: ");
lcd.print(hum);
lcd.print(" %");
delay(2000);
if (distance < 100 && temp > 50 ) {
digitalWrite(relaypin, HIGH);
} else {
digitalWrite(relaypin, LOW);
}
delay(1000);
}