ไฟไหม้เป็นเหตุการณ์ที่อาจเกิดขึ้นได้ทุกเมื่อ การมีระบบแจ้งเตือนที่สามารถตรวจจับได้ทั้งควันและเปลวไฟจึงเป็นสิ่งสำคัญ ในโปรเจคนี้ เราจะใช้ ESP32 เป็นตัวควบคุมหลัก ร่วมกับ เซ็นเซอร์ตรวจจับควัน MQ-2 และ เซ็นเซอร์ตรวจจับเปลวไฟ Infrared IR Flame Detector ทำงานร่วมกัน เมื่อตรวจจับได้ทั้งควันและเปลวไฟพร้อมกัน เพื่อแจ้งเตือนผ่าน หน้าจอ LCD 1602 และ Passive Speaker Buzzer


ประโยชน์และการนำโปรเจคไปพัฒนาต่อ


ระบบสัญญาณเตือนไฟไหม้ (Fire Alarm System) คือ ระบบสำหรับแจ้งเตือนเมื่อมีเปลวไฟ หรือเหตุเพลิงไหม้ภายในอาคาร โดยใช้เซนเซอร์หรืออุปกรณ์ตรวจจับชนิดต่างๆ ตามความเหมาะสม เช่น อุปกรณ์ตรวจจับควันไฟ (Smoke Detector) อุปกรณ์ตรวจจับความร้อน (Heat Detector) อุปกรณ์ตรวจจับเปลวไฟ (Fire Extinguisher) เป็นต้น

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

แต่ในตัวอย่างโปรเจคจะเลือกใช้ อุปกรณ์ เพียง 2 อย่าง คือ อินพุต 1 ตรวจจับเปลวไฟ (Fire Extinguisher) ทำงานแบบดิจิตัล ในขั้นตอนที่มีเปลวไฟ (Flame Stage) คือเริ่มมีเปลวไฟทำให้มองเห็นว่าเป็นไฟแต่ยังไม่สามารถวัดค่าความร้อนได้ และ อินพุต 2 อุปกรณ์ตรวจจับควันไฟ (Smoke Detector) ทำงานแบบอนาล็อก ซึ่งต้องทำงานร่วมกันในการตรวจสอบ โดยถ้ามีเหตุการณ์ เกิดขึ้นทั้ง 2 เหตุการณ์ จึงจะทำการแจ้งเตือนที่ เอาต์พุต 1 คือ แสดงข้อความที่ หน้าจอ LCD 1602 และ เอาต์พุต 2 เป็นสัญญาณเสียง ที่ Passive Speaker Buzzer


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


เทคโนโลยีและอุปกรณ์ที่ใช้

  • Arduino IDE: เป็นโปรแกรมที่ใช้ในการเขียนและอัปโหลดโค้ดลงในบอร์ด Arduino หรือ ESP32 ซึ่งมีความสะดวกและใช้งานง่ายสำหรับผู้เริ่มต้น
  • บอร์ด ESP32: เป็นบอร์ดไมโครคอนโทรเลอร์ที่มีความสามารถมากมาย เช่น การเชื่อมต่อ WiFi, Bluetooth, และการประมวลผลที่เร็วและมีประสิทธิภาพ


ขั้นตอนการทำโปรเจค

1.การเชื่อมต่ออุปกรณ์


ESP32 Expansion Board 38Pins คือบอร์ดเสริมที่ออกแบบมาเพื่อใช้งานร่วมกับ ESP32 รุ่นที่มี 38 ขา (38 Pins) โดยช่วยให้สามารถเชื่อมต่อกับอุปกรณ์ภายนอกได้สะดวกขึ้น เช่น การต่อเซนเซอร์ และโมดูลอื่น ๆ


การเชื่อมต่อวงจร

อุปกรณ์ขาเชื่อมต่อกับ ESP32
MQ-2GPIO4
Infrared IR Flame DetectorGPIO35
LCD 1602 (I2C)SDA -> GPIO21, SCL -> GPIO22
Passive Speaker BuzzerGPIO32



เชื่อมต่อ ESP32 กับ MQ-2 ดังนี้:

4 <-> A0
V <-> VCC
G <-> GND



เชื่อมต่อ ESP32 กับ Infrared IR Flame Detector Sensor ดังนี้:

35 <-> D0
V <-> VCC
G <-> GND


โมดูล Infrared IR Flame Detector Sensor (เซ็นเซอร์ตรวจจับเปลวไฟ มีระยะการทำงานโดยประมาณขึ้นอยู่กับเงื่อนไขต่าง ๆ เช่น ขนาดของเปลวไฟ มุมตรวจจับ และสภาพแวดล้อม โดยทั่วไปมีรายละเอียดดังนี้:

🔥

ระยะการตรวจจับของเซ็นเซอร์ ระยะสูงสุด: ประมาณ 80 – 100 cm (1 เมตร) เมื่อเปลวไฟมีขนาดใหญ่และไม่มีสิ่งกีดขวาง ระยะที่มีประสิทธิภาพ: ประมาณ 20 – 80 cm สำหรับเปลวไฟทั่วไป เช่น ไฟแช็กหรือเทียน ช่วงความไวของแสง: ตรวจจับแสงในช่วงอินฟราเรดใกล้ (760 – 1100 nm)

🔥

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



เชื่อมต่อ ESP32 กับ LCD 1602 ดังนี้:


V <-> VCC
G <-> GND
21 <-> SDA
22 <-> SCL


เชื่อมต่อ ESP32 กับ Passive Speaker Buzzer ดังนี้:

32 <-> S
V <-> +
G <-> –





2.ติดตั้ง Arduino IDE

ดาวน์โหลด Arduino IDE จากที่นี่

https://www.arduino.cc/en/software

This image has an empty alt attribute; its file name is e1-1024x573.png





กำหนดค่าให้ รองรับบอร์ด ESP32


ไปที่ File > Preferences

This image has an empty alt attribute; its file name is e2-1024x633.png


คัดลอกและวางบรรทัดต่อไปนี้ลงในฟิลด์ Boards Manager URLs

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

This image has an empty alt attribute; its file name is e3-1024x629.png



คลิกไอคอนตัวจัดการบอร์ดที่มุมด้านซ้าย ค้นหา ESP32 และกดปุ่มติดตั้งสำหรับ esp32 โดย Espressif Systems

This image has an empty alt attribute; its file name is e4-1024x633.png



ติดตั้ง ไลบรารี่ LCD_IC2



ไปที่ เมนู Sketch → Include Library → Manage Libraries…

ค้นหา LCD แล้ว INSTALL





3. Uplpad Code โปรเจค ESP32 ระบบสัญญาณเตือนไฟไหม้ (Fire Alarm System)


เสียบสาย USB ระหว่างคอมพิวเตอร์ กับ บอร์ด ESP32


เขียนโค้ดดังนี้

#include <Wire.h>  // ไลบรารีสำหรับสื่อสารผ่านโปรโตคอล I2C
#include <LCD_I2C.h>  // ไลบรารีสำหรับควบคุมจอ LCD ผ่าน I2C

#define MQ2_PIN 4  // กำหนดขา 4 เป็นขารับค่าจากเซนเซอร์ก๊าซ MQ2
#define FLAME_SENSOR_PIN 35  // กำหนดขา 35 เป็นขารับค่าจากเซนเซอร์ตรวจจับเปลวไฟ
#define BUZZER_PIN 32  // กำหนดขา 32 เป็นขาส่งสัญญาณไปยังลำโพง (Buzzer)

#define I2C_ADDR 0x27  // กำหนดที่อยู่ I2C ของจอ LCD
LCD_I2C lcd(I2C_ADDR, 16, 2);  // สร้างอ็อบเจ็กต์ lcd สำหรับจอ LCD ขนาด 16x2

void setup() {
  Serial.begin(115200);  // เริ่มต้นการสื่อสารผ่าน Serial ที่บอดเรต 115200
  pinMode(MQ2_PIN, INPUT);  // ตั้งค่าขา MQ2_PIN เป็นขาอินพุต
  pinMode(FLAME_SENSOR_PIN, INPUT);  // ตั้งค่าขา FLAME_SENSOR_PIN เป็นขาอินพุต
  pinMode(BUZZER_PIN, OUTPUT);  // ตั้งค่าขา BUZZER_PIN เป็นขาเอาต์พุต
  lcd.begin();  // เริ่มต้นการทำงานของจอ LCD
  lcd.backlight();  // เปิดไฟพื้นหลังของจอ LCD
}

void loop() {
  int smoke = analogRead(MQ2_PIN);  // อ่านค่าควันจากเซนเซอร์ MQ2
  Serial.println(String(smoke));  // แสดงค่าควันทาง Serial Monitor
  int flame = digitalRead(FLAME_SENSOR_PIN);  // อ่านค่าจากเซนเซอร์ตรวจจับเปลวไฟ

  lcd.setCursor(0, 0);  // ตั้งตำแหน่งเคอร์เซอร์ที่แถวที่ 1 คอลัมน์ที่ 1
  lcd.print("SM=" + String(smoke) + " , F=" + String(flame) + "                ");
  // แสดงค่าควัน (SM) และค่าจากเซนเซอร์ไฟ (F) บนจอ LCD

  if (smoke > 150 && flame == 0) {  // ถ้าค่าควันมากกว่า 150 และมีไฟเกิดขึ้น
    lcd.setCursor(0, 1);  // ตั้งตำแหน่งเคอร์เซอร์ที่แถวที่ 2 คอลัมน์ที่ 1
    lcd.print("FIRE DETECTED!");  // แสดงข้อความ "FIRE DETECTED!" บนจอ LCD
    digitalWrite(BUZZER_PIN, HIGH);  // เปิดเสียง Buzzer
  } else {  // ถ้าไม่มีไฟไหม้
    lcd.setCursor(0, 1);  // ตั้งตำแหน่งเคอร์เซอร์ที่แถวที่ 2 คอลัมน์ที่ 1
    lcd.print("No Fire         ");  // แสดงข้อความ "No Fire" บนจอ LCD
    digitalWrite(BUZZER_PIN, LOW);  // ปิดเสียง Buzzer
  }

  delay(1000);  // หน่วงเวลาการทำงาน 1 วินาที
}



อธิบายเพิ่มเติม

  • ค่าควันจะถูกแสดงผลทาง Serial Monitor เพื่อตรวจสอบสถานะ
  • โปรแกรมนี้ใช้เซนเซอร์ MQ2 ตรวจจับควัน และเซนเซอร์ Flame Sensor ตรวจจับเปลวไฟ
  • ถ้าพบว่าควันมีค่ามากกว่า 150 และเซนเซอร์ไฟส่งค่าเป็น 0 (ตรวจพบเปลวไฟ) จะแสดงข้อความ “FIRE DETECTED!” บนจอ LCD และเปิดเสียงเตือนผ่าน Buzzer
  • ถ้าไม่มีไฟไหม้ จะแสดงข้อความ “No Fire” และปิดเสียง Buzzer



เลือกบอร์ด ESP32 ตามรุ่นที่ใช้ เป็น ESP32 Dev Module

This image has an empty alt attribute; its file name is 4-1024x583.png



เลือก Port โดยไปที่ Tools -> Port -> COM5
(โดย COM5 แต่ละเครื่องจะไม่เหมือนกัน ให้เลือกตามที่ปรากฎ)

This image has an empty alt attribute; its file name is 5-1024x691.png



คลิกที่ Upload






แสดงการ Upload สำเร็จ




วิดีโอผลลัพธ์การทำงาน โปรเจค ESP32 ระบบสัญญาณเตือนไฟไหม้ (Fire Alarm System)

สรุป

โปรเจคนี้ช่วยให้สามารถตรวจจับไฟไหม้ได้โดยอัตโนมัติ และแจ้งเตือนผ่านหน้าจอ LCD และเสียง Buzzer ซึ่งสามารถนำไปพัฒนาเป็นระบบใหญ่ขึ้นได้ เช่น การแจ้งเตือนผ่านแอปพลิเคชันหรือ IoT

Leave a Reply

Your email address will not be published. Required fields are marked *