#include <Servo.h>
const int pirPin1 = 2;
const int pirPin2 = 3;
const int pirPin3 = 4;
const int pirPin4 = 5;
const int pirPin5 = 6;
const int buzzerPin = 7;
const int switchPin = 8;
const int whiteLEDPin = 9;
const int redLEDPin = 10;
const int greenLEDPin = 11;
const int blueLEDPin = 12;
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
bool systemOn = false;
void setup() {
pinMode(pirPin1, INPUT);
pinMode(pirPin2, INPUT);
pinMode(pirPin3, INPUT);
pinMode(pirPin4, INPUT);
pinMode(pirPin5, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(switchPin, INPUT_PULLUP);
pinMode(whiteLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(blueLEDPin, OUTPUT);
servo1.attach(13);
servo2.attach(14);
servo3.attach(15);
servo4.attach(16);
digitalWrite(whiteLEDPin, LOW);
digitalWrite(redLEDPin, LOW);
digitalWrite(greenLEDPin, LOW);
digitalWrite(blueLEDPin, LOW);
servo1.write(90);
servo2.write(90);
servo3.write(90);
servo4.write(90);
}
void loop() {
if (digitalRead(switchPin) == LOW) {
systemOn = !systemOn;
delay(500); // debounce delay
}
if (systemOn) {
if (digitalRead(pirPin1) == HIGH) {
servo1.write(180);
digitalWrite(whiteLEDPin, HIGH);
delay(1000);
digitalWrite(whiteLEDPin, LOW);
servo1.write(90);
} else if (digitalRead(pirPin2) == HIGH) {
servo2.write(180);
digitalWrite(redLEDPin, HIGH);
delay(1000);
digitalWrite(redLEDPin, LOW);
servo2.write(90);
} else if (digitalRead(pirPin3) == HIGH) {
servo3.write(180);
digitalWrite(greenLEDPin, HIGH);
delay(1000);
digitalWrite(greenLEDPin, LOW);
servo3.write(90);
} else if (digitalRead(pirPin4) == HIGH) {
servo4.write(180);
digitalWrite(blueLEDPin, HIGH);
delay(1000);
digitalWrite(blueLEDPin, LOW);
servo4.write(90);
} else if (digitalRead(pirPin5) == HIGH) {
buzzOnce();
digitalWrite(whiteLEDPin, HIGH);
digitalWrite(redLEDPin, HIGH);
digitalWrite(greenLEDPin, HIGH);
digitalWrite(blueLEDPin, HIGH);
delay(3000);
digitalWrite(whiteLEDPin, LOW);
digitalWrite(redLEDPin, LOW);
digitalWrite(greenLEDPin, LOW);
digitalWrite(blueLEDPin, LOW);
}
}
}
void buzzOnce() {
digitalWrite(buzzerPin, HIGH);
delay(1000);
digitalWrite(buzzerPin, LOW);
}