//define variables
#define trigerPin 12
#define echoPin 13
#define ledPin 2
double duration, distance;
#include <DHT.h>;
//Constants
#define DHTPIN 7 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
//Variables
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup()
{
//setup for Sensor
Serial.begin(9600);
dht.begin();
pinMode(trigerPin, OUTPUT);
pinMode(echoPin, INPUT);
//setup for LED
pinMode(ledPin, OUTPUT);
}
void loop() {
//looping sensor (Create sound wave)
digitalWrite(trigerPin, LOW);
delayMicroseconds(2);
digitalWrite(trigerPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigerPin, LOW);
delayMicroseconds(2);
//get duration
duration = pulseIn(echoPin,HIGH);
delay(1000);
//Read data and store it to variables hum and temp
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
//calculate distance
distance = (duration/2) * 0.0343;
//consider maximum width of the door = 300 cm and temp should be below 35
if(distance<300 && temp > 35)
{
digitalWrite(ledPin, HIGH);
Serial.println("In Range and AC/fan is ON");
}
else if(distance<300 && temp < 35)
{
digitalWrite(ledPin, LOW);
Serial.println("In Range and AC/fan is OFF");
}
else{
digitalWrite(ledPin, LOW);
Serial.println("Not in Range");
}
}