#include <ESP32Servo.h>
#define LED_PIN 13
#define BUZZER_PIN 12
#define PIN_MOTION 14
#define SERVO_PIN 15
bool isOpen = false;
Servo myservo;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(PIN_MOTION, INPUT);
myservo.attach(SERVO_PIN);
Serial.begin(115200);
}
void loop() {
bool isMotionDetected = digitalRead(PIN_MOTION);
if (isMotionDetected && !isOpen) {
Serial.println("Gerakan terdeteksi!");
digitalWrite(LED_PIN, HIGH);
myservo.write(90);
tone(BUZZER_PIN, 1000);
isOpen = true;
myservo.write(0);
delay(500);
}
// Jika tidak ada gerakan, matikan LED dan tutup servo
else {
if (isOpen) {
Serial.println("Gerakan tidak terdeteksi!");
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
myservo.write(0);
isOpen = false;
delay(500);
}
}
// Tunda 1 detik
// delay(5000);
}
// pinMode(PIN_MOTION, INPUT);
// servo.attach(PIN_SERVO);
// }
// void loop() {
// bool isMotionDetected = digitalRead(PIN_MOTION);
// if (isMotionDetected) {
// servo.write(90);
// delay(500);
// servo.write(0);
// }
// else {
// servo.write(0);
// delay(500);
// }