กลับไปหน้ารวมไฟล์
automatic-room-lights-control-55c393.md

ระบบควบคุมไฟห้องอัตโนมัติ

เชื่อว่าหลายคนคงเคยเจอปัญหาเดียวกันแน่ๆ คือลืมปิดไฟในห้องบ่อยมากกก

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

เจ้าเครื่องนี้ใช้เซ็นเซอร์ตรวจจับระยะใกล้ 2 ตัววางติดกัน แล้วเชื่อมต่อกับ Arduino Uno เพื่อช่วยนับจำนวนคนในห้อง และสั่งปิดไฟตามนั้น

Automatic Room Light Control

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

ถ้าเซ็นเซอร์ตัวแรกตรวจจับคนได้ก่อน แล้วตามด้วยเซ็นเซอร์ตัวที่สอง แปลว่ามีคนกำลังเดินเข้ามาในห้อง ในทางกลับกัน ถ้าตัวที่สองตรวจจับได้ก่อนตัวแรก แปลว่ามีคนกำลังออกจากห้อง

จากข้อมูลนี้ Arduino ยังช่วยแสดงจำนวนคนในห้องได้ตลอดเวลาอีกด้วย

Automatic Room Light Control

เมื่อจำนวนคนในห้องเป็นศูนย์ LED ก็จะดับ และในทำนองเดียวกัน ถ้าจำนวนคนมากกว่า 1 มันก็จะสั่งให้ LED ติด

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

Automatic Room Light Control

มาทำความรู้จักกับเซ็นเซอร์ PIR กัน

เซ็นเซอร์ HC-SR501 PIR (Passive Infrared) ตัวนี้มันไม่ปล่อยแสงหรือเสียงออกมานะ มันมีช่องเล็กๆ สองช่องที่ใช้ตรวจจับความร้อนอินฟราเรดในห้อง เมื่อมีร่างกายมนุษย์ที่อุ่นๆ เดินผ่านหน้าเลนส์ ความแตกต่างของความร้อนระหว่างสองช่องนี้จะทำให้เซ็นเซอร์ส่งสัญญาณ HIGH 3.3V ออกมา

ตรรกะการทำงานแบบใช้ Timer (Non-Blocking)

ความท้าทายที่ใหญ่ที่สุดคือการเขียนโค้ดให้ไฟไม่ดับทันทีตอนที่เราหยุดเคลื่อนไหวนะเว้ย!

  1. ตรวจจับการเคลื่อนไหว: Arduino ได้รับสัญญาณ HIGH จาก PIR มันจะสั่งให้รีเลย์ (ไฟ) เปิด
  2. เริ่มนับถอยหลัง: มันจะเริ่มตัวจับเวลาในซอฟต์แวร์ (ใช้ millis()) เป็นเวลา 5 นาที
  3. รีเซ็ตเวลา: ถ้า PIR ตรวจจับการเคลื่อนไหว อีกครั้ง ก่อนครบ 5 นาที ตัวจับเวลาจะถูกรีเซ็ตกลับไปที่ 5 นาทีใหม่
  4. หมดเวลา: ต่อเมื่อห้องนิ่งสนิทครบ 5 นาทีเต็ม Arduino ถึงจะสั่งให้รีเลย์ปิด

อุปกรณ์ที่ต้องใช้

  • Arduino Uno/Nano: ตัวประมวลผลหลัก
  • เซ็นเซอร์ HC-SR501 PIR: ตัวตรวจจับการเคลื่อนไหว
  • โมดูลรีเลย์ 1 ช่อง (5V): สำหรับสวิตช์ไฟ AC 110V/220V อย่างปลอดภัย

คำเตือน: ตรวจสอบให้แน่ใจว่าการต่อสายไฟ AC ทุกจุดปลอดภัย มีฉนวนหุ้ม และติดตั้งอยู่ในกล่องพลาสติกเพื่อป้องกันไฟฟ้าดูดนะจ๊ะน้อง!

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

apps:
  - "1x Arduino IDE"
author: "nocturnal0608"
category: "Home Automation"
components:
  - "2x Breadboard (generic)"
  - "1x LED (generic)"
  - "1x Alphanumeric LCD, 16 x 2"
  - "1x Jumper wires (generic)"
  - "2x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Resistor 220 ohm"
  - "1x Arduino UNO"
description: "ไอเดียตึงๆ วัยรุ่นเลย! เจ้านี่คือระบบที่ใช้เซนเซอร์ตรวจจับคนเข้า-ออกห้อง แล้วนับจำนวนคนอัตโนมัติ พอห้องว่างเมื่อไหร่ ไฟก็ตัดเองเลย จัดไปแบบไม่ต้องกดสวิตช์ให้เมื่อยมือ"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/9eecddb5-d466-4b75-a2a2-2e0a85dcf8f2.ino"
encryptedPayload: "U2FsdGVkX1+6YwOEZfrUM6vMVIHX3LWvc4HnY3IVcLXdhI2FOnrKoT8zBjlmXad/n43/Om2iRekD/NTGF6Ay9k0Aly6HWZ6vlwTn4R7tHhY="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/automatic-room-lights-control-55c393_cover.jpg"
lang: "en"
likes: 0
passwordHash: "573a368563a10bad28b159c423410bcac7d7cbf75877f92196ba85f52a4a7d2b"
price: 1999
seoDescription: "Automatic Room Lights Control using Proximity sensors to count people and turn off lights when the room is empty."
tags:
  - "lights"
  - "energy efficiency"
  - "home automation"
title: "ระบบเปิดปิดไฟอัตโนมัติ ตรวจจับคนในห้อง งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/B8B5avlMmhk"
views: 5715