// Pin konfigurasi
const int pinPIR = 2; // Sensor PIR ke pin digital 2
const int pinButton = 3; // Push Button ke pin digital 3
const int pinSuara = A0; // Potensiometer ke pin A0 (simulasi suara)
const int pinLED = 13; // LED ke pin digital 13
const int pinBuzzer = 12; // Buzzer ke pin digital 12 (opsional)
void setup() {
pinMode(pinPIR, INPUT);
pinMode(pinSuara, INPUT);
pinMode(pinButton, INPUT_PULLUP); // Tombol pakai internal pull-up
pinMode(pinLED, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
int gerakan = digitalRead(pinPIR);
int tombol = digitalRead(pinButton); // LOW kalau ditekan
int suara = analogRead(pinSuara);
Serial.print("Gerakan: ");
Serial.print(gerakan);
Serial.print(" | Tombol: ");
Serial.print(tombol);
Serial.print(" | Suara: ");
Serial.println(suara);
if (gerakan == HIGH) {
Serial.println("Gerakan Terdeteksi");
}
if (tombol == LOW) {
Serial.println("Tombol Ditekan");
}
if (suara > 100) {
Serial.println("SUARA LEBIH DARI 100 Terdeteksi");
}
// Jika gerakan dari PIR ATAU tombol ditekan
if (gerakan == HIGH && suara > 100 && tombol == LOW) {
digitalWrite(pinLED, HIGH); // Nyalakan LED
digitalWrite(pinBuzzer, HIGH); // Nyalakan buzzer (jika ada)
} else {
digitalWrite(pinLED, LOW); // Matikan LED
digitalWrite(pinBuzzer, LOW); // Matikan buzzer
}
delay(200); // delay kecil agar pembacaan lebih stabil
}