ระบบควบคุมไฟห้องอัตโนมัติ
เชื่อว่าหลายคนคงเคยเจอปัญหาเดียวกันแน่ๆ คือลืมปิดไฟในห้องบ่อยมากกก
ปัญหาการสิ้นเปลืองไฟแบบนี้ บวกกับที่พี่ต้องเดินกลับไปปิดไฟตลอด ทำให้พี่คิดไอเดียขึ้นมาได้ว่า เราสามารถสร้างอุปกรณ์ที่ใช้เซ็นเซอร์ตรวจจับระยะใกล้ (Proximity Sensor) เพื่อสั่งปิดไฟอัตโนมัติได้ เมื่อมันรู้ว่าห้องว่างแล้ว
เจ้าเครื่องนี้ใช้เซ็นเซอร์ตรวจจับระยะใกล้ 2 ตัววางติดกัน แล้วเชื่อมต่อกับ Arduino Uno เพื่อช่วยนับจำนวนคนในห้อง และสั่งปิดไฟตามนั้น

เซ็นเซอร์ทั้งสองตัวจะตรวจจับและเก็บค่าระยะห่างจากวัตถุที่อยู่ตรงหน้าบ่อยมากๆ ถ้ามันวัดได้ว่าระยะห่างลดลง แปลว่ามีวัตถุหรือคนเข้ามาอยู่ตรงหน้าแล้ว Arduino จะนำข้อมูลจากเซ็นเซอร์ทั้งสองมาประมวลผลเพื่อตัดสินใจว่ามีคนเดินเข้าหรือออกจากห้อง
ถ้าเซ็นเซอร์ตัวแรกตรวจจับคนได้ก่อน แล้วตามด้วยเซ็นเซอร์ตัวที่สอง แปลว่ามีคนกำลังเดินเข้ามาในห้อง ในทางกลับกัน ถ้าตัวที่สองตรวจจับได้ก่อนตัวแรก แปลว่ามีคนกำลังออกจากห้อง
จากข้อมูลนี้ Arduino ยังช่วยแสดงจำนวนคนในห้องได้ตลอดเวลาอีกด้วย

เมื่อจำนวนคนในห้องเป็นศูนย์ LED ก็จะดับ และในทำนองเดียวกัน ถ้าจำนวนคนมากกว่า 1 มันก็จะสั่งให้ LED ติด
ในโปรเจกต์นี้พี่ใช้ LED เป็นตัวแสดงสถานะการเปิด-ปิดไฟเพื่อแสดงแนวคิดเบื้องต้นเท่านั้นนะ แต่จริงๆ แล้วอุปกรณ์นี้สามารถเชื่อมต่อกับสวิตช์ไฟในบ้านผ่านรีเลย์ได้เลย เพื่อใช้เปิด-ปิดไฟอัตโนมัติจริงๆ จังๆ

มาทำความรู้จักกับเซ็นเซอร์ PIR กัน
เซ็นเซอร์ HC-SR501 PIR (Passive Infrared) ตัวนี้มันไม่ปล่อยแสงหรือเสียงออกมานะ มันมีช่องเล็กๆ สองช่องที่ใช้ตรวจจับความร้อนอินฟราเรดในห้อง เมื่อมีร่างกายมนุษย์ที่อุ่นๆ เดินผ่านหน้าเลนส์ ความแตกต่างของความร้อนระหว่างสองช่องนี้จะทำให้เซ็นเซอร์ส่งสัญญาณ HIGH 3.3V ออกมา
ตรรกะการทำงานแบบใช้ Timer (Non-Blocking)
ความท้าทายที่ใหญ่ที่สุดคือการเขียนโค้ดให้ไฟไม่ดับทันทีตอนที่เราหยุดเคลื่อนไหวนะเว้ย!
- ตรวจจับการเคลื่อนไหว: Arduino ได้รับสัญญาณ HIGH จาก PIR มันจะสั่งให้รีเลย์ (ไฟ) เปิด
- เริ่มนับถอยหลัง: มันจะเริ่มตัวจับเวลาในซอฟต์แวร์ (ใช้
millis()) เป็นเวลา 5 นาที - รีเซ็ตเวลา: ถ้า PIR ตรวจจับการเคลื่อนไหว อีกครั้ง ก่อนครบ 5 นาที ตัวจับเวลาจะถูกรีเซ็ตกลับไปที่ 5 นาทีใหม่
- หมดเวลา: ต่อเมื่อห้องนิ่งสนิทครบ 5 นาทีเต็ม Arduino ถึงจะสั่งให้รีเลย์ปิด
อุปกรณ์ที่ต้องใช้
- Arduino Uno/Nano: ตัวประมวลผลหลัก
- เซ็นเซอร์ HC-SR501 PIR: ตัวตรวจจับการเคลื่อนไหว
- โมดูลรีเลย์ 1 ช่อง (5V): สำหรับสวิตช์ไฟ AC 110V/220V อย่างปลอดภัย
คำเตือน: ตรวจสอบให้แน่ใจว่าการต่อสายไฟ AC ทุกจุดปลอดภัย มีฉนวนหุ้ม และติดตั้งอยู่ในกล่องพลาสติกเพื่อป้องกันไฟฟ้าดูดนะจ๊ะน้อง!