ชื่อโปรเจกต์: ระบบควบคุมไฟห้องอัตโนมัติพร้อมตัวนับผู้เยี่ยมชมแบบสองทิศทาง
การนับจำนวนคน: ตัวนับผู้เยี่ยมชมแบบสองทิศทาง
เซ็นเซอร์ตรวจจับความเคลื่อนไหว (PIR) แบบง่ายๆ อาจปิดไฟได้หากคุณนั่งนิ่งเกินไปบนโซฟา ตัวนับผู้เยี่ยมชมแบบสองทิศทาง (Bidirectional Visitor Counter) จะแก้ปัญหานี้ด้วยการเก็บยอดนับทางคณิตศาสตร์อย่างแม่นยำ ไฟจะดับลงก็ต่อเมื่อ Arduino ยืนยันว่าจำนวนคนในห้องเป็นศูนย์เท่านั้น

กลไกการเชื่อมต่อเซ็นเซอร์คู่ (Dual-Sensor Interlock)
ระบบจะติดตั้ง IR Obstacle Sensors สองตัว ไว้ที่วงกบประตู โดยเว้นระยะห่างกัน 5 ซม. (Sensor A อยู่ด้านนอก, Sensor B อยู่ด้านใน)
- การเข้าห้อง (A -> B):
- บุคคลจะผ่าน Sensor A ก่อน
if (A == blocked) { state = Entering; } - ครึ่งวินาทีต่อมา พวกเขาจะผ่าน Sensor B. Arduino จะลงทะเบียนลำดับที่สำเร็จและนับ:
PeopleCount++
- บุคคลจะผ่าน Sensor A ก่อน
- การออกจากห้อง (B -> A):
- บุคคลจะผ่าน Sensor B ก่อน
if (B == blocked) { state = Exiting; } - จากนั้นพวกเขาจะผ่าน Sensor A. โลจิกจะนับ:
PeopleCount--
- บุคคลจะผ่าน Sensor B ก่อน
การควบคุมไฟหลัก (Mains Power)
- เกณฑ์การทำงาน:
if (PeopleCount > 0) { digitalWrite(relayPin, HIGH); // Lights ON } else if (PeopleCount == 0) { digitalWrite(relayPin, LOW); // Lights OFF to save power! } - รีเลย์ทางกายภาพ: Arduino จะสั่งงาน 5V Songle Relay คำเตือน: อีกด้านหนึ่งของรีเลย์จะสลับไฟหลัก 110V/220V ไปยังโคมไฟเพดาน ซึ่งต้องใช้การเดินสายที่ปลอดภัยอย่างยิ่งยวด หรือการใช้ IoT Power Strip แบบปิดมิดชิด
อุปกรณ์ที่จำเป็นในการประกอบ
- Arduino Uno/Nano: ตัวประมวลผลโลจิก
- IR Obstacle Avoidance Sensors (x2) หรือ Laser Diodes + LDRs
- 5V Relay Module
- A 16x2 LCD (เพื่อแสดงยอดนับปัจจุบัน: "People in Room: 3")