#include "DHT.h";
#include <Servo.h>
Servo myservo;
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float t,h;
int pos = 0,trig=8,echo=7, fan=12,dist,light=6;
long time;
void servo(){
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
int distance(){
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
time=pulseIn(echo,HIGH);
dist=time/58;
return dist;
}
float temp(){
dht.begin();
float t = dht.readTemperature();
float h = dht.readHumidity();
return t;
}
void setup() {
pinMode(light, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(fan,OUTPUT);
myservo.attach(9);
}
void loop() {
// servo();
dist=distance();
if(dist<100){
digitalWrite(light, HIGH);
delay(200);
t=temp();
if(t>22 && h>40){
digitalWrite(fan, HIGH);
}
else if(t>22 && h<40){
digitalWrite(fan, HIGH);
}
else if(t<22 && h>40){
digitalWrite(fan, LOW);
}
else if(t<22 && h<40){
digitalWrite(fan, LOW);
}
}else {
digitalWrite(light,LOW);
digitalWrite(fan ,LOW);
}
}