Arduino Cảm biến khí

Trong hướng dẫn này, chúng ta sẽ học cách sử dụng Arduino và cảm biến khí MQ2 để kiểm tra chất lượng không khí bằng cách đo nồng độ của LPG, khói, cồn, khí propane, khí hidro, khí metan và khí cacbon monoxit, hoặc các khí dễ cháy khác. Cụ thể, chúng ta sẽ học:

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×MQ2 Gas Sensor
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về cảm biến khí MQ-2

Cảm biến khí MQ-2 có khả năng nhận biết nồng độ LPG, khói, cồn, khí propan, hydro, mêtan và khí cacbon monoxit trong môi trường xung quanh. Cảm biến MQ-2 cung cấp hai tùy chọn thông qua chân đầu ra số và chân đầu ra analog.

Xin lưu ý rằng cảm biến khí MQ2 không cung cấp thông tin về từng loại khí riêng lẻ. Thay vào đó, nó cung cấp thông tin về sự kết hợp của các loại khí hoặc sự hiện diện của chúng ở mức tổng thể.

Bằng cách sử dụng cảm biến MQ2, chúng ta có thể xác định xem có rò rỉ khí gas hay chất lượng không khí không tốt. Thông tin này có thể giúp chúng ta thực hiện các biện pháp phù hợp để giữ an toàn, ví dụ như kích hoạt chuông báo hoặc bật hệ thống thông gió.

Bố trí chân

Cảm biến khí MQ-2 có bốn chân:

  • Chân VCC: Nó cần được kết nối với VCC (5V).
  • Chân GND: Nó cần được kết nối với GND (0V).
  • Chân DO: Một chân đầu ra số cho biết sự có mặt của khí dễ cháy. Nó ở mức LOW nếu nồng độ khí được phát hiện, và HIGH nếu ngược lại. Giá trị ngưỡng để phát hiện nồng độ khí có thể được điều chỉnh bằng một potentiometer tích hợp.
  • Chân AO: Một chân đầu ra analog tạo ra điện áp đầu ra thay đổi theo nồng độ khí một cách tỷ lệ thuận. Khi nồng độ khí tăng lên, điện áp cũng tăng, và khi nồng độ khí giảm, điện áp cũng giảm tương ứng.
cấu hình chân cảm biến khí mq-2

Ngoài ra, nó có hai đèn LED báo hiệu:

  • Một đèn LED nguồn (PWR-LED) báo nguồn.
  • Một đèn LED DO (DO-LED) báo nồng độ khí dựa trên giá trị ở chân DO: sáng khi có nồng độ khí và tắt khi không có.

Cách hoạt động

Đối với chân DO:

  • Mô-đun có biến trở tích hợp để thiết lập ngưỡng nồng độ khí (độ nhạy).
  • Khi nồng độ khí trong môi trường xung quanh vượt quá ngưỡng, chân đầu ra của cảm biến ở mức LOW, và DO-LED sáng.
  • Khi nồng độ khí trong môi trường xung quanh thấp hơn ngưỡng, chân đầu ra của cảm biến ở mức HIGH, và DO-LED tắt.

Đối với chân AO:

  • Khi nồng độ khí tăng lên, điện áp cũng tăng.
  • Khi nồng độ khí giảm, điện áp cũng giảm theo.

Lưu ý rằng biến trở không làm thay đổi giá trị tại chân AO.

Khởi động cảm biến MQ2

Cảm biến khí MQ2 cần được làm nóng trước khi sử dụng.

  • Khi bạn lần đầu sử dụng cảm biến sau khi nó được lưu trữ trong thời gian dài (một tháng hoặc lâu hơn), nó cần được làm nóng trong 24-48 giờ để đảm bảo hoạt động chính xác.
  • Nếu cảm biến đã được sử dụng gần đây, nó sẽ chỉ mất khoảng 5-10 phút để làm nóng đầy đủ. Trong giai đoạn làm nóng này, cảm biến có thể ban đầu cho các giá trị cao, nhưng chúng sẽ giảm dần cho đến khi ổn định.

Để làm nóng cảm biến MQ2, chỉ cần kết nối chân VCCGND của nó với nguồn cấp điện, hoặc kết nối chúng với VCCGND của Arduino, và sau đó giữ chúng ở đó trong một khoảng thời gian.

Sơ đồ đấu dây

Vì mô-đun cảm biến khí MQ2 có hai đầu ra, bạn có thể chọn sử dụng một trong hai hoặc cả hai, tùy thuộc vào nhu cầu của bạn.

  • Sơ đồ nối giữa Arduino và cảm biến khí MQ-2 khi chỉ dùng DO.
sơ đồ nối dây cảm biến khí mq-2 cho Arduino

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ đấu nối giữa Arduino và cảm biến khí MQ2 khi chỉ sử dụng AO.
sơ đồ kết nối Arduino cho chất lượng không khí

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ dây nối giữa Arduino và cảm biến khí MQ2 khi sử dụng cả AO và DO.
sơ đồ nối dây cảm biến khói Arduino

This image is created using Fritzing. Click to enlarge image

Mã Arduino - Đọc giá trị từ chân DO

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-gas-sensor */ #define DO_PIN 2 // Arduino's pin connected to DO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để tải mã lên Arduino
  • Đặt cảm biến khí MQ2 gần khói/khí mà bạn muốn phát hiện
  • Xem kết quả trên Serial Monitor.
COM6
Send
The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Xin lưu ý rằng nếu bạn nhận thấy đèn LED luôn sáng hoặc luôn tắt, bạn có thể điều chỉnh biến trở để tinh chỉnh độ nhạy của cảm biến.

Mã Arduino - Đọc giá trị từ chân AO

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-gas-sensor */ #define AO_PIN A0 // Arduino's pin connected to AO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasValue = analogRead(AO_PIN); Serial.print("MQ2 sensor AO value: "); Serial.println(gasValue); }

Hướng dẫn từng bước

  • Sao chép mã ở trên và mở bằng Arduino IDE
  • Nhấp vào nút Tải lên trên Arduino IDE để nạp mã vào Arduino
  • Đặt cảm biến khí MQ2 ở gần khói/khí bạn muốn phát hiện
  • Xem kết quả trên Serial Monitor.
COM6
Send
MQ2 sensor AO value: 135 MQ2 sensor AO value: 136 MQ2 sensor AO value: 136 MQ2 sensor AO value: 573 MQ2 sensor AO value: 674 MQ2 sensor AO value: 938 MQ2 sensor AO value: 954 MQ2 sensor AO value: 1000 MQ2 sensor AO value: 1002 MQ2 sensor AO value: 1014 MQ2 sensor AO value: 1017
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Từ các giá trị đọc được từ đầu ra DO hoặc AO, bạn có thể đánh giá chất lượng không khí dựa trên tiêu chuẩn của bạn, hoặc kích hoạt cảnh báo hoặc bật hệ thống thông gió.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Các tham chiếu hàm