MQ-2 Gas Sensor คืออะไร และ Arduino ใช้ตรวจจับควันได้ยังไง
บทความนี้จะพาคุณทำความรู้จักกับเซ็นเซอร์ตรวจจับควันและก๊าซ MQ-2 ตั้งแต่พื้นฐานจนถึงการต่อวงจรและเขียนโค้ดใช้งานจริง
ภาพรวมโปรเจกต์
โปรเจกต์นี้เป็นการสร้างระบบตรวจจับควันอย่างง่าย โดยใช้ MQ-2 Gas Sensor ร่วมกับบอร์ด Arduino เมื่อเซ็นเซอร์ตรวจพบควันหรือก๊าซในปริมาณที่กำหนด ระบบจะส่งสัญญาณเตือนผ่าน Buzzer และไฟ LED ทันที
เหมาะสำหรับผู้เริ่มต้นที่อยากเรียนรู้การใช้งานเซ็นเซอร์กับ Arduino และสามารถนำไปประยุกต์ใช้เป็นระบบเตือนภัยในบ้านหรือที่ทำงานได้
อุปกรณ์ที่ต้องใช้
ฮาร์ดแวร์ (Hardware)
- Arduino UNO × 1
- MQ-2 Gas Sensor Module × 1
- Buzzer × 1
- LED สีแดง × 1
- Resistor 220Ω × 1
- Breadboard × 1
- สายจัมเปอร์ (Jumper Wires)
ซอฟต์แวร์ (Software)
- Arduino IDE
เรื่องราวและที่มา
ไอเดียของโปรเจกต์นี้เกิดจากความต้องการสร้างระบบตรวจจับควันแบบ DIY ที่ราคาไม่แพง และสามารถทำเองได้ที่บ้าน โดยไม่ต้องพึ่งอุปกรณ์สำเร็จรูปราคาสูง
MQ-2 เป็นเซ็นเซอร์ที่หาซื้อได้ง่าย ราคาถูก และใช้งานไม่ซับซ้อน เหมาะสำหรับโปรเจกต์ IoT ระดับเริ่มต้น ไม่ว่าจะเป็นการเรียนรู้หรือนำไปใช้งานจริง
MQ-2 Smoke Sensor คืออะไร
MQ-2 เป็นเซ็นเซอร์ตรวจจับก๊าซแบบ Metal Oxide Semiconductor (MOS) สามารถตรวจจับก๊าซและควันได้หลายชนิด ได้แก่:
- LPG (ก๊าซหุงต้ม)
- Propane (โพรเพน)
- Methane (มีเทน)
- Hydrogen (ไฮโดรเจน)
- Alcohol (แอลกอฮอล์)
- Smoke (ควัน)
- CO (คาร์บอนมอนอกไซด์)
เซ็นเซอร์ตัวนี้มีทั้งเอาต์พุตแบบ Analog (ค่าความเข้มข้น) และ Digital (เปิด/ปิด) ทำให้ใช้งานได้ยืดหยุ่นตามความต้องการ
หลักการทำงาน
ภายใน MQ-2 มี ขดลวดความร้อน (Heating Element) และ แผ่น Sensing Element ที่เคลือบด้วยสาร Tin Dioxide (SnO2) ซึ่งมีคุณสมบัติพิเศษคือ:
- ในอากาศปกติ สาร SnO2 จะมีความต้านทานสูง
- เมื่อมีก๊าซหรือควันมาสัมผัส ความต้านทานจะลดลง
- วงจรจะแปลงการเปลี่ยนแปลงความต้านทานเป็นสัญญาณไฟฟ้า
ยิ่งมีก๊าซหรือควันมากเท่าไหร่ ค่าที่อ่านได้จาก Analog Output ก็จะยิ่งสูงขึ้น เราสามารถกำหนด Threshold เพื่อเปิด/ปิดการเตือนได้ตามต้องการ
การต่อขา (Pin Wiring)
โมดูล MQ-2 มี 4 ขาหลักที่ต้องต่อกับ Arduino:
| ขา MQ-2 | ต่อกับ Arduino | คำอธิบาย |
|---|---|---|
| VCC | 5V | ไฟเลี้ยง |
| GND | GND | กราวด์ |
| A0 | A0 | สัญญาณ Analog (0-1023) |
| D0 | D8 | สัญญาณ Digital (HIGH/LOW) |
อุปกรณ์เพิ่มเติม:
- Buzzer: ต่อกับ Pin D12
- LED แดง: ต่อกับ Pin D11 (ผ่าน Resistor 220Ω)
แผนผังวงจร (Schematics)
จากแผนผังด้านบน จะเห็นว่าการต่อวงจรไม่ซับซ้อน เพียงต่อสายไฟตามตารางที่ระบุ และอย่าลืมต่อ Resistor 220Ω ก่อน LED เพื่อป้องกัน LED ไหม้
โค้ดโปรแกรม (Arduino Code)
โค้ดด้านล่างนี้จะอ่านค่าจากเซ็นเซอร์ MQ-2 และเปรียบเทียบกับค่า Threshold ที่กำหนด (400) ถ้าค่าที่อ่านได้สูงกว่า Threshold จะส่งเสียง Buzzer และเปิดไฟ LED เตือน
// กำหนดขา
int redLed = 11;
int buzzer = 12;
int smokeA0 = A0;
// ค่า Threshold สำหรับเปิดการเตือน
int sensorThres = 400;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(9600);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: ");
Serial.println(analogSensor);
// ตรวจสอบค่าเซ็นเซอร์
if (analogSensor > sensorThres) {
digitalWrite(redLed, HIGH);
tone(buzzer, 1000, 200);
} else {
digitalWrite(redLed, LOW);
noTone(buzzer);
}
delay(100);
}
คำอธิบายโค้ด:
-
analogRead(smokeA0)- อ่านค่าจากเซ็นเซอร์ (0-1023) -
sensorThres = 400- ค่า Threshold ที่กำหนด (ปรับได้ตามสภาพแวดล้อม) -
tone(buzzer, 1000, 200)- ส่งเสียงความถี่ 1000Hz นาน 200ms -
Serial.println()- แสดงค่าที่ Serial Monitor เพื่อตรวจสอบ
ผลลัพธ์การทำงาน
เมื่ออัปโหลดโค้ดเสร็จ ลองจุดไม้ขีดหรือเทียนแล้วนำควันไปใกล้เซ็นเซอร์ ถ้าทุกอย่างถูกต้อง Buzzer จะส่งเสียงเตือนและ LED จะติดสว่าง คุณสามารถปรับค่า sensorThres ให้เหมาะกับสภาพแวดล้อมของคุณได้
สนใจอุปกรณ์ MQ-2 Gas Sensor, Arduino และอุปกรณ์อิเล็กทรอนิกส์อื่นๆ
สั่งซื้ออุปกรณ์ที่ Globalbyteshopสอบถามเพิ่มเติมได้ที่กลุ่ม Line: คลิกที่นี่