#define Lsensor A0
#define echo 3
#define trig 4
#include <DHT.h>
#include <Servo.h>
DHT dht1(2, DHT22);
Servo window;
Servo door;
void setup() {
Serial.begin(9600);
dht1.begin();
window.attach(10);
pinMode(echo, INPUT);
pinMode(trig, OUTPUT);
door.attach(11);
}
void loop() {
int light = 1023 - analogRead(0);
int lightPercent = map(light , 0 , 1023, 0 , 100);
/*Serial.print("light percent is");
Serial.println(lightPercent);
delay(100);*/
float tprt = dht1.readTemperature();
if (lightPercent > 30 && tprt > 30){
window.write(180);
}
else{
window.write(0); // we close it
}
digitalWrite(trig, LOW);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
delayMicroseconds(2);
int time= pulseIn(echo, HIGH);
float distance = (time/2) * 0.0343;
/*Serial.print("la distance est");
Serial.println(distance);
delay(30); */
if (lightPercent >30 && distance <50){
door.write(180);
delay(5000); // 5 seconds are enough to keep the door open then close it
door.write(0);
}
else{
door.write(0); // keep it close
}
}