กลับไปหน้ารวมไฟล์
bidirectional-visitor-counter.md

ชื่อโปรเจกต์: ระบบควบคุมไฟห้องอัตโนมัติพร้อมตัวนับผู้เยี่ยมชมแบบสองทิศทาง

การนับจำนวนคน: ตัวนับผู้เยี่ยมชมแบบสองทิศทาง

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

ir_sensor_array_detail_1772704523332.png

กลไกการเชื่อมต่อเซ็นเซอร์คู่ (Dual-Sensor Interlock)

ระบบจะติดตั้ง IR Obstacle Sensors สองตัว ไว้ที่วงกบประตู โดยเว้นระยะห่างกัน 5 ซม. (Sensor A อยู่ด้านนอก, Sensor B อยู่ด้านใน)

  1. การเข้าห้อง (A -> B):
    • บุคคลจะผ่าน Sensor A ก่อน if (A == blocked) { state = Entering; }
    • ครึ่งวินาทีต่อมา พวกเขาจะผ่าน Sensor B. Arduino จะลงทะเบียนลำดับที่สำเร็จและนับ: PeopleCount++
  2. การออกจากห้อง (B -> A):
    • บุคคลจะผ่าน Sensor B ก่อน if (B == blocked) { state = Exiting; }
    • จากนั้นพวกเขาจะผ่าน Sensor A. โลจิกจะนับ: PeopleCount--

การควบคุมไฟหลัก (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")

ข้อมูล Frontmatter ดั้งเดิม

title: "Automatic Room Light Controller with Bidirectional Visitor"
description: "Count them up! Program a clever logic system using dual laser-tripwires to mathematically count exactly how many people enter and exit a room to control the lights."
category: "Home Automation"
difficulty: "Advanced"