#define trigPin 2 // กำหนดขา Trigger ของ Ultrasonic Sensor
#define echoPin 3 // กำหนดขา Echo ของ Ultrasonic Sensor
#define pirPin 4 // กำหนดขาของ PIR Motion Sensor
#define buzzerPin 5 // กำหนดขาของ Buzzer
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(pirPin, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600); // เริ่มต้น Serial Monitor
}
void loop() {
// ตรวจจับระยะด้วย Ultrasonic Sensor
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
// ตรวจจับการเคลื่อนไหวโดยใช้ PIR Motion Sensor
int motionDetected = digitalRead(pirPin);
// ตรวจสอบระยะและแจ้งเตือน
if (distance < 100 || motionDetected == HIGH) {
// ถ้าระยะน้อยกว่า 100 เซนติเมตร หรือตรวจจับการเคลื่อนไหว
digitalWrite(buzzerPin, HIGH); // เปิดเสียงบีบีซึ่งคือแสดงการแจ้งเตือน
delay(1000); // ระยะเวลาที่เสียงจะเปิด
digitalWrite(buzzerPin, LOW); // ปิดเสียง
}
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm | Motion: ");
Serial.println(motionDetected);
delay(1000); // หน่วงเวลาก่อนที่จะทำซ้ำ
}