ชื่อโปรเจกต์: Motion Detection Alarm (ระบบแจ้งเตือนตรวจจับความเคลื่อนไหว)
ในโปรเจกต์นี้เราจะมา "โม" (Modify) เซนเซอร์ตรวจจับความเคลื่อนไหวที่ขายตามท้องตลาด (พวกที่ใช้ไฟบ้านนั่นแหละ) โดยเราจะเอา ESP8266 ยัดเข้าไปเพื่อเอาไว้บันทึกข้อมูลเวลาที่มีคนเดินผ่าน โดยข้อมูลจะถูกส่งไปที่ Node-RED ผ่านโปรโตคอล MQTT สุดเทพ ส่วนเรื่องไฟเลี้ยงไม่ต้องห่วง เราจะดึงไฟจากสาย Phase ของตัวเซนเซอร์นั่นแหละ แล้วผ่านโมดูล HLK-PM03 AC/DC converter เพื่อแปลงไฟมาเลี้ยง ESP8266 ของเราแบบเนียนๆ
สิ่งที่น้องต้องเตรียมตัว (ห้ามข้ามนะวัยรุ่น)
ก่อนจะลุยต่อ พี่แนะนำว่าไปทำการบ้านกับเรื่องพวกนี้ก่อน จะได้ไม่งง:
- การเริ่มต้นใช้งาน ESP8266 WiFi Transceiver (ไปทบทวนมาซะ)
- วิธีจ่ายไฟให้ ESP8266 ด้วยไฟบ้านโดยใช้ Hi-Link HLK-PM03
- MQTT คืออะไร และมันทำงานยังไง (อันนี้พื้นฐานที่ต้องมี!)
- สิ่งที่น้องต้องติดตั้งไว้ใน [Raspberry Pi](https://s.shopee.co.th/6pvZFdZdRf) ให้เรียบร้อย: Node-RED, Node-RED Dashboard, และ Mosquitto MQTT broker
- คู่มือตำแหน่งขา ESP8266 GPIOs และ Pinout ต่างๆ
อุปกรณ์ที่ต้องใช้:
เช็คของให้ครบนะน้อง เดี๋ยวงานสะดุด:
- [PIR](https://s.shopee.co.th/7VBG2YelxK) Motion [Sensor](https://s.shopee.co.th/7VBG2rX65j) 220V (หรือ 110V ก็ได้แล้วแต่บ้านน้องเลย)
- ESP8266-01 – บอร์ดจิ๋วแต่แจ๋ว
- ESP8266-01 Serial Adapter (เอาไว้สำหรับเบิร์นโค้ดลง ESP8266)
- Hi-Link HLK-PM03 (ตัวแปลงไฟบ้านเป็น DC 3.3V ห้ามช็อตนะตัวนี้)
- แผ่นเอนกประสงค์ (Small protoboard)
- ฟิวส์หน่วงเวลา (Fuse Slow Blow) ขนาด 200mA
- 47 uF electrolytic capacitor (ตัวเก็บประจุ)
- Raspberry Pi (เอาไว้ทำหน้าที่เป็น Server รัน Node-RED และ MQTT broker)
รายละเอียดทางเทคนิคแบบเจาะลึก
การตรวจจับคลื่นความร้อน (Thermal Signature Sensing)
ระบบเตือนภัยนี้อาศัยพระเอกอย่าง HC-SR501 PIR (Passive Infrared) sensor มันไม่ได้ใช้คลื่นเสียงเหมือนพวก Ultrasonic นะน้อง แต่มันจะคอยจับการเคลื่อนไหวของวัตถุที่แผ่รังสีความร้อนออกมา (อย่างเช่น คน หรือน้องหมาน้องแมว)
- Fresnel Lens: ไอ้โดมพลาสติกขาวๆ นั่นแหละคือตัวรวมพลังงานอินฟราเรดไปที่ตัว Sensor หลัก พอมีแหล่งความร้อนเคลื่อนที่เข้ามาในระยะ 7 เมตร มุมกว้าง 110 องศา มันก็จะดีดสัญญาณ HIGH ออกมาทางขา Digital ทันที
ตรรกะการแจ้งเตือนและความปลอดภัย
- Delay Control: ใน Arduino เราจะเขียนโค้ดตั้งเวลาหน่วงก่อนเริ่มทำงาน (Arming Delay) เพื่อให้น้องมีเวลาเดินหล่อๆ ออกจากห้องไปก่อนที่ระบบจะเริ่มเฝ้าบ้าน
- Feedback: พอตรวจเจอผู้บุกรุกปุ๊บ มันจะสั่งงาน 110dB Piezo Siren ให้ดังลั่นบ้าน พร้อมไฟ LED กระพริบแบบจัดเต็ม และถ้าอยากอัพเกรดให้เทพกว่านี้ น้องสามารถใส่ RTC (Real Time Clock) เข้าไปเพื่อให้ระบบมัน "เปิดการทำงาน" เฉพาะช่วงกลางคืนที่น้องหลับก็ได้นะวัยรุ่น จัดไป!