#include <Servo.h>
int ledPin = 13;
int inputPin = 2;
int DHT11 = 3;
int pirState = LOW;
int buzzer =8;
Servo myServoObject;
int angle =0;
int val =0;
int prevPirState = 0;
int dht11Temp;
int dht11Humid;
void setup() {
myServoObject.attach(9);
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
pinMode(DHT11, INPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
int dht11Val = digitalRead(DHT11);
for(angle=0;angle<=360;angle++){
myServoObject.write(angle);
delay(10);
}
{
val = digitalRead(inputPin);
if(val == HIGH);
digitalWrite(ledPin, HIGH);
tone(buzzer,300);
delayMicroseconds(2000);
tone(buzzer,350);
delayMicroseconds(1000);
if(pirState == LOW){
Serial.println("motion detected");
pirState = HIGH;
}
else{
digitalWrite(ledPin, LOW);
if(pirState == HIGH){
noTone(buzzer);
Serial.println("motion ended!");
pirState = LOW;
}
}
}
prevPirState = val;
if (dht11Val == HIGH) {
dht11Temp = random(20, 30);
dht11Humid = random(40, 60);
}
Serial.print("Temperature: ");
Serial.print(dht11Temp);
Serial.print("C Humidity: ");
Serial.print(dht11Humid);
Serial.println("%");
delay(1000);
}