#include <ESP32Servo.h>
#define PIR_PIN 32
#define BUZZER 5
#define RELAY1 18
#define RELAY2 19
#define RELAY3 21
#define RELAY4 22
#define SW1 14
#define SW2 27
#define SW3 26
#define SW4 33
#define SERVO_PIN 25
Servo myServo;
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(BUZZER, OUTPUT);
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(RELAY3, OUTPUT);
pinMode(RELAY4, OUTPUT);
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(SW3, INPUT_PULLUP);
pinMode(SW4, INPUT_PULLUP);
myServo.attach(SERVO_PIN);
}
void loop() {
if (digitalRead(PIR_PIN)) {
digitalWrite(RELAY1, HIGH);
digitalWrite(BUZZER, HIGH);
} else {
digitalWrite(RELAY1, LOW);
digitalWrite(BUZZER, LOW);
}
digitalWrite(RELAY2, !digitalRead(SW1));
digitalWrite(RELAY3, !digitalRead(SW2));
digitalWrite(RELAY4, !digitalRead(SW3));
if (!digitalRead(SW4)) myServo.write(90);
else myServo.write(0);
delay(50);
}