// Deklarasi pin untuk sensor gerak, relay, dan LED
const int pirSensorPin = 2; // Pin sensor gerak
const int relayPin = 3; // Pin relay
const int ledPin = 13; // Pin LED built-in Arduino
// Variable untuk menyimpan status deteksi gerakan
bool gerakanTerdeteksi = false;
void setup() {
// Inisialisasi pin sebagai input atau output
pinMode(pirSensorPin, INPUT);
pinMode(relayPin, OUTPUT);
pinMode(ledPin, OUTPUT);
// Matikan relay dan LED awalnya
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
// Buka Serial Monitor
Serial.begin(9600);
}
void loop() {
// Baca status sensor gerak
int statusGerak = digitalRead(pirSensorPin);
// Jika terdeteksi gerakan
if (statusGerak == HIGH) {
// Hidupkan relay dan LED jika belum hidup
if (!gerakanTerdeteksi) {
Serial.println("Gerakan terdeteksi!");
digitalWrite(relayPin, HIGH);
digitalWrite(ledPin, HIGH);
gerakanTerdeteksi = true;
}
} else {
// Matikan relay dan LED jika tidak ada gerakan
if (gerakanTerdeteksi) {
Serial.println("Tidak ada gerakan.");
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
gerakanTerdeteksi = false;
}
}
}