ระบบความปลอดภัยภายในครัว Development of kitchen safety systems

วิชา : 04-513-201 การโปรแกรมคอมพิวเตอร์ชั้นสูง 1/2567

อาจารย์ผู้สอน : อ.สันติ สถิตวรรธนะ

คณะผู้จัดทำ สาขาวิศวกรรมคอมพิวเตอร์ 2/2 #16

นางสาวไปรยา เจริญ 050

นายภูผา​ พันธุรัตน์ 053

นายศุภฤกษ์​ เจริญผล 055

นายทรงศักดิ์​ ศิริพันธุ์ 063

  1. ความเป็นมาและความสำคัญของปัญหา

  ในปัจจุบันของใช้ในชีวิตประจำวันหลายชนิดมีส่วนผสมของก๊าซไวไฟ ซึ่งจำเป็นต้องใช้อย่างระมัดระวัง เนื่องจากก๊าซเหล่านี้มีความสามารถในการติดไฟสูง ตัวอย่างเช่น LPG, i-butane, propane, methane, alcohol, hydrogen และ smoke ซึ่งถูกใช้เป็นส่วนผสมในของใช้ทั่วไป เช่น น้ำหอม แอลกอฮอล์ ของเหลวที่อยู่ในไฟแช็ค ก๊าซหุงต้ม และสเปรย์กำจัดแมลง ก๊าซไวไฟเหล่านี้ถือเป็นสารที่อันตรายเพราะไม่มีสีและกลิ่น ทำให้ยากต่อการตรวจสอบเมื่อเกิดการรั่วไหล และหากมีประกายไฟอาจทำให้เกิดเพลิงไหม้ นำมาซึ่งความเสียหายทั้งต่อทรัพย์สินและชีวิต

  เพื่อลดความเสี่ยงดังกล่าว คณะผู้วิจัยจึงมีแนวคิดในการพัฒนาอุปกรณ์ตรวจจับการรั่วไหลของก๊าซไวไฟ โดยอุปกรณ์นี้จะทำหน้าที่ส่งสัญญาณเตือนและแจ้งเตือนผู้ใช้ผ่านแอปพลิเคชัน LINE ในมือถือ โดยใช้เทคโนโลยี Internet of Things (IoT) พร้อมกับไมโครคอนโทรลเลอร์เป็นฐานการทำงาน ซึ่งอุปกรณ์นี้จะช่วยเพิ่มความสะดวกสบายและความปลอดภัยในชีวิตประจำวันภายในบ้านได้อย่างมีประสิทธิภาพ

2. วัตถุประสงค์

  1. เพื่อพัฒนาระบบความปลอดภัยและสามารถแจ้งเตือนผู้ใช้ผ่านไลน์ได้ด้วยบอร์ด Esp32
  2. เพื่อเพิ่มความสะดวกสบายและความปลอดภัยในการใช้งานภายในบ้าน

3. ประโยชน์ที่คาดว่าจะได้รับ

  1. ได้พัฒนาระบบความปลอดภัยและสามารถแจ้งเตือนผู้ใช้ผ่านไลน์ได้ด้วยบอร์ด Esp32
  2. เพิ่มความปลอดภัยในชีวิตประจำวัน

4.ขอบเขต

  1. การตรวจจับก๊าซจะครอบคลุมพื้นที่ภายในบ้านหรือสถานที่ที่ติดตั้ง โดยเน้นในบริเวณที่มีความเสี่ยงสูงต่อการรั่วไหล เช่น ห้องครัว
  2. อุปกรณ์จะถูกออกแบบให้ใช้งานในสภาพแวดล้อมภายในอาคารเท่านั้น ไม่เหมาะสำหรับการใช้งานในพื้นที่ภายนอกอาคาร
  3. การแจ้งเตือนการรั่วไหลของก๊าซจะถูกส่งผ่านแอปพลิเคชัน LINE ในมือถือของผู้ใช้ที่ได้ลงทะเบียนไว้เท่านั้น

5. ความรู้ที่เกี่ยวข้อง

1) Modemcu Esp32

คือ บอร์ดไมโครคอนโทรลเลอร์ที่ใช้ชิป ESP32 ของบริษัท Espressif Systems ซึ่งเป็นการพัฒนาต่อยอดจาก NodeMCU ที่ใช้ชิป ESP8266 โดย ESP32 เป็นชิปที่มีความสามารถมากขึ้นในหลายๆ ด้าน เช่น

  • หน่วยประมวลผล: Dual-core หรือ Single-core Tensilica Xtensa LX6 ที่ทำงานด้วยความเร็วสูงสุดถึง 240 MHz
  • หน่วยความจำ: RAM ขนาด 520 KB และ ROM ขนาด 448 KB พร้อมหน่วยความจำ Flash บนบอร์ดขนาดตั้งแต่ 2 MB ขึ้นไป
  • การเชื่อมต่อไร้สาย: รองรับทั้ง Wi-Fi (802.11 b/g/n) และ Bluetooth 4.2 (Classic และ BLE)
  • GPIO: มีขา Input/Output มากกว่า 30 ขา ซึ่งสามารถนำมาใช้งานได้หลายรูปแบบ เช่น PWM, ADC, DAC, I2C, SPI, UART
  • ฟีเจอร์เพิ่มเติม: รองรับการเข้ารหัส AES, RSA, SHA, และการบีบอัดข้อมูลแบบ ZIP

2) Sensor MQ2

เป็นโมคูลตรวจวัดก็าซที่ไวต่อก๊าซไวไฟในกลุ่ม LPG. ibutane, propine, methanc ,aleohol,Hydrogen รวมไปถึงควันฟที่เกิดจากการเผาใหม้ด้วย จึงเป็นเซ็นเซอร์ที่นิยมนำมาใช้ ในการดรวจจับการรั่วของก๊าซต่างๆ เพื่อป้องกันอันตรายที่จะเกิดขึ้น จากการรั่วไหล ตัวเซ็นเซอร์ใช้ แรงดัน 5 ให้เอาท์พุต ให้สัญญาณเป็นอนาล็อก 0 ถึง 5V และดิจิตอล กรณีเลือกใช้สัญญาณดิจิตอล สามารถปรับความไวในการตรวจจับได้จากทริมพอตบนโมดูล

3) Infrared IR Flame Sensor

ใช้ตรวจจับเปลวไฟโดยใช้ เซนเซอร์อินฟาเรด ให้สัญญาณ สามารถเขียนค่าเอาต์พุตออกมาได้ทั้งแบบดิจิตอลและอนาล็อก แบบดิจิตอลเมื่อตรวจจับได้ให้สัญญาณเป็น 1 เมื่อตรวจจับไม่พบให้สัญญาณเป็น 0 และแบบสัญญาณอนาล็อก ให้ค่า 0-5V สามารถปรับความไวได้ที่โวลุมบนโมดูล

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

4) Active Buzzer Module

Buzzer จะมี 2 ชนิด คือ แบบ Active และ Passive สามารถสร้างเสียงเตือนโดยต่อกับขา VCC ของ Active Buzzer กับไฟเลี้ยง 3.3-5VDC และขา GND ในการสั่งให้ Active Buzzer มีเสียง ใช้ไฟเลี้ยง 3.3 – 5V ใช้ TR เบอร์ 9012 ในการขยายสัญญาณ โดยจะส่งเสียงร้องเมื่อมีการจ่ายไฟเข้าที่ขา I/O สามารถนำไปใช้โปรเจ็คได้อย่างหลากหลาย ทั้ง อุปกรณ์กันขโมย หรือ อุปกรณ์แจ้งเตือนต่างๆ 

5) Application LINE

เป็นแอปพลิเคชันฟรีแวร์สำหรับการส่งข้อความทันทีบนอุปกรณ์อิเล็กทรอนิกส์ที่ให้บริการโดย LY Corporation  ผู้ใช้ไลน์สามารถแลกเปลี่ยนข้อความ, ภาพ, วิดีโอและเสียง และให้บริการการสนทนาแบบวอยซ์โอเวอร์ไอพีและการประชุมทางวิดีโอ สามารถใช้ในการแจ้งเตือนข้อความจากห้องครัวไปสู่ผู้ใช้งาน ระบบสามารถแจ้งเป็นข้อความข้อความส่งไปยังไลน์ที่ผู้ใช้ได้ทำการ LOGIN ได้ว่าตอนนี้มีไฟกำลังเกิดขึ้นและตอนนี้กำลังมีแก๊สรั่วไหลอยู่

6. การดำเนินการ

  • วงจรของระบบ

  • ตัวอย่างโค้ด

import machine
import urequests

class Sensor:
    def __init__(self, pin):
        self.pin = machine.Pin(pin, machine.Pin.IN, machine.Pin.PULL_UP)
    
    def read(self):
        return self.pin.value() == 0  # Active LOW

class Buzzer:
    def __init__(self, pin):
        self.pin = machine.Pin(pin, machine.Pin.OUT)
        self.off()

    def on(self):
        self.pin.value(1)

    def off(self):
        self.pin.value(0)

class LineNotify:
    def __init__(self, token):
        self.token = token

    def send(self, message):
        url = "https://notify-api.line.me/api/notify"
        headers = {"Authorization": "Bearer " + self.token}
        data = {"message": message}
        urequests.post(url, headers=headers, data=data).close()

class FireSmokeAlarmSystem:
    def __init__(self, fire_pin, smoke_pin, buzzer_pin, line_token):
        self.fire_sensor = Sensor(fire_pin)
        self.smoke_sensor = Sensor(smoke_pin)
        self.buzzer = Buzzer(buzzer_pin)
        self.line_notify = LineNotify(line_token)

    def check_sensors(self):
        if self.fire_sensor.read():
            self.buzzer.on()
            self.line_notify.send("มีไฟเกิดขึ้น!")
        elif self.smoke_sensor.read():
            self.buzzer.on()
            self.line_notify.send("ตรวจพบควัน!")
        else:
            self.buzzer.off()

   

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

  1. คลาส Sensor
  • ใช้สำหรับกำหนดเซ็นเซอร์ที่เชื่อมต่อกับขา GPIO โดยรับค่า pin เป็นพารามิเตอร์
  • ฟังก์ชัน read() จะอ่านสถานะของเซ็นเซอร์ โดยตรวจสอบว่าเซ็นเซอร์ถูกกระตุ้น (active) หรือไม่ หากค่าเป็น LOW (0) หมายถึงมีการกระตุ้นเซ็นเซอร์

2. คลาส Buzzer

  • ใช้ควบคุมเสียงเตือน (buzzer) โดยกำหนดพินที่เชื่อมต่อกับ buzzer
  • ฟังก์ชัน on() และ off() ใช้สำหรับเปิดและปิดเสียงเตือนตามสถานการณ์

3. คลาส LineNotify

  • ใช้สำหรับส่งการแจ้งเตือนผ่าน LINE Notify โดยต้องระบุ token เพื่อยืนยันตัวตนของบัญชี LINE
  • ฟังก์ชัน send() ส่งข้อความแจ้งเตือนไปยัง LINE โดยใช้ URL และ Headers ที่กำหนด

4. คลาส FireSmokeAlarmSystem

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

7. การทดลอง

การทดลองรายละเอียดผลการทดลอง
ครั้งที่ 1มีควันหรือไฟเกิดขึ้นมีการแจ้งเตือนไปยังไลน์
ครั้งที่ 2 ไม่มีควันหรือไฟเกิดขึ้นไม่มีการแจ้งเตือนไปยังไลน์
ตารางที่ 1 ผลการทดลองส่งข้อความผ่านไลน์

อุปกรณ์ที่ทดสอบทำงานไม่ทำงาน
ควันจากการเผา
การตรวจสอบไฟ
การตรวจสอบแก๊ส
การตรวจจับแฟลชมือถือ
กลิ่นปาก
ตารางที่ 2 ผลการทดสอบการมีไฟและควันเกิดขึ้นตามเงื่อนไข

8. สรุปผล

จากการทดลองโปรเจคตรวจสอบควันและไฟในห้องครัว ซึ่งใช้เซ็นเซอร์ตรวจจับควัน (MQ-2) และเซ็นเซอร์ตรวจจับเปลวไฟ (IR Flame Sensor) ร่วมกับบอร์ด ESP32 เพื่อควบคุมการทำงานของระบบ พบว่าระบบสามารถตรวจจับควันและเปลวไฟได้อย่างมีประสิทธิภาพ เมื่อมีควันหรือเปลวไฟเกิดขึ้น

ระบบจะทำงานโดยมีการทำการแจ้งเตือน 2 รูปแบบ คือ

1. การแจ้งด้วย Buzzer มีเสียงดังในห้องครัวที่มีการติดระบบไว้ เพื่อเตือนให้ทราบเมื่อตรวจพบความรั่วไหล

2. การแจ้งเตือนด้วย Line Notify ไปยังผู้ดูแลระบบหรือผู้ใช้งานเพื่อใหห้ทราบถึงการรั่วไหลของแก๊สหรือมีควันและไฟเกิดขึ้นภายในห้องครัว

9. ข้อมูลอ้างอิง

[1] ESP-WROOM-32 https://www.pse-world.com

[2] Infrared IR Flame Detector Sensor Module https://www.cybertice.com

[3] MQ-2 Smoke Gas Sensor https://www.cybertice.com

[4] Standard Passive Speaker Buzzer Module https://www.pse-world.com

[5] ArtronShop LineNotify library https://www.artronshop.co.th

[6] ข้อมูลเพิ่มเติม https://chatgpt.com

10. คลิปอธิบาย

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *