#define trigerPin 12
#define echoPin 13
#define ledPin 2
#define bulbPin 3
#define speakerPin 10
#define pitch 262
#define inputPin 11
double duration, distance;
int pirstate = LOW;
int val = 0;
void setup() {
Serial.begin(9600);
pinMode(trigerPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(bulbPin,OUTPUT);
pinMode(ledPin,OUTPUT);
pinMode(inputPin, INPUT);
pinMode(speakerPin,OUTPUT);
}
void loop() {
digitalWrite(trigerPin,LOW);
delayMicroseconds(2);
digitalWrite(trigerPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigerPin,LOW);
delayMicroseconds(2);
duration=pulseIn(echoPin,HIGH);
distance=(duration/2)*0.0343;
if(distance<200){
digitalWrite(ledPin,HIGH);
tone(speakerPin,pitch);
delay(300);
digitalWrite(ledPin, LOW);
noTone(speakerPin);
delay(300);
}
else{
digitalWrite(ledPin, LOW);
noTone(speakerPin);
}
val = digitalRead(inputPin);
if(val == HIGH){
digitalWrite(bulbPin, HIGH);
delay(500);
digitalWrite(bulbPin, LOW);
delay(500);
if(pirstate == LOW){
pirstate = HIGH;
}
}
else{
digitalWrite(bulbPin, LOW);
if(pirstate == HIGH){
pirstate = LOW;
}
}
}