#define pinRelay 3
#define ECHO_PIN 5
#define TRIG_PIN 4
int pir = 2;
int pirState = LOW;
int val = 0;
float x = 400/397.63;
void setup() {
// put your setup code here, to run once:
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(pir, INPUT);
pinMode(pinRelay, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 * x / 2;
int val = digitalRead(pir);
if (val == HIGH && distance < 100) {
if (pirState == LOW) {
Serial.println("AWAS MALING!");
pirState = HIGH;
}
digitalWrite(pinRelay, LOW);
delay(1000);
digitalWrite(pinRelay, HIGH);
} else {
digitalWrite(pinRelay, LOW);
if (pirState == HIGH) {
Serial.println("TIDAK TERDETEKSI!");
pirState = LOW;
}
}
}