#define TRIG_PIN 18
#define ECHO_PIN 5
#define LED 2
#define LED2 4
float duration_us, distance_cm;
int pirdata =15 ;
int pirstate =LOW ;
int value =0;
int led1 = 13;
void setup() {
Serial.begin (9600);
pinMode(led1, OUTPUT);
pinMode(pirdata, INPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
}
void loop() {
value = digitalRead(pirdata);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration_us = pulseIn(ECHO_PIN, HIGH);
pir();
distance_cm = 0.017 * duration_us;
if (distance_cm < 30)
{digitalWrite(LED, HIGH);
}
else
{digitalWrite(LED, LOW);
}
Serial.print("distanceA: ");
Serial.print(distance_cm);
Serial.println(" cm ");
Blink(LED2);
delay(500);
}
void Blink(int x){
digitalWrite(x, HIGH);
delay(10);
digitalWrite(x, LOW);
}
void pir() {
value = digitalRead(pirdata);
if (value == HIGH) {
digitalWrite(led1, HIGH);
if (pirstate == LOW) {
Serial.println("Motion detected!");
pirstate = HIGH;
}
} else {
digitalWrite(led1, LOW);
if (pirstate == HIGH) {
Serial.println("Motion ended!");
pirstate = LOW;
}
}
delay(500);
}