ESP8266 Cảm biến khí
Hướng dẫn này chỉ cho bạn cách sử dụng ESP8266 và cảm biến khí MQ-2 để đánh giá chất lượng không khí bằng cách đo nồng độ của các khí như LPG, khói, cồn, propane, hidro, metan và khí cacbon monoxit. Cụ thể, chúng ta sẽ tìm hiểu:
- Cách kết nối cảm biến khí MQ-2 với ESP8266
- Cách lập trình ESP8266 để đọc giá trị từ cảm biến khí MQ-2
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | MQ2 Gas Sensor | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về cảm biến khí MQ2
Cảm biến khí MQ-2 là một thiết bị hữu ích có thể phát hiện nồng độ của nhiều loại khí khác nhau, bao gồm LPG, khói, rượu, propane, hiđro, metan và khí CO (carbon monoxide) trong môi trường xung quanh. Nó cung cấp hai tùy chọn đầu ra: một chân đầu ra kỹ thuật số và một chân đầu ra tương tự.
Điều quan trọng cần lưu ý là cảm biến khí MQ2 không cung cấp thông tin riêng biệt cho từng loại khí. Thay vào đó, nó cho chúng ta một chỉ báo tổng quát về sự kết hợp của các loại khí hoặc sự hiện diện của các khí nói chung.
Việc sử dụng cảm biến MQ2 cho phép chúng ta xác định xem có rò rỉ khí gas hay chất lượng không khí kém hay không. Thông tin này rất có giá trị vì nó cho phép chúng ta thực hiện các biện pháp phù hợp để đảm bảo an toàn, chẳng hạn như kích hoạt báo động hoặc bật hệ thống thông gió.
Bố trí chân
Cảm biến khí MQ-2 gồm bốn chân phục vụ các chức năng khác nhau:
- Pin VCC: Nên được kết nối với cực dương của nguồn cấp (5V) để cấp nguồn cần thiết cho cảm biến.
- Pin GND: Nên được kết nối với cực âm của nguồn cấp (0V) để hoàn tất mạch điện.
- Pin DO: Đây là một chân đầu ra số cho biết sự hiện diện của khí dễ cháy. Khi nồng độ khí được phát hiện, đầu ra ở mức LOW, và khi không có khí được phát hiện, đầu ra ở mức HIGH. Ngưỡng phát hiện nồng độ khí có thể được điều chỉnh bằng một biến trở tích hợp trên cảm biến.
- Pin AO: Đây là một chân đầu ra analog (tín hiệu đầu ra tương tự) tạo ra một tín hiệu điện áp tỷ lệ với nồng độ khí. Khi nồng độ khí tăng lên, điện áp đầu ra cũng tăng, và khi nồng độ khí giảm, điện áp đầu ra giảm tương ứng.

Ngoài ra, cảm biến khí MQ2 có hai đèn LED chỉ báo:
- Đèn chỉ thị PWR-LED: Đèn LED này hoạt động như một đèn nguồn, cho biết cảm biến có đang nhận nguồn hay không. Khi cảm biến được cấp nguồn đúng, PWR-LED sáng lên, cung cấp sự xác nhận trực quan về trạng thái vận hành của cảm biến.
- Đèn chỉ thị DO-LED: Đèn LED này được liên kết trực tiếp với chân DO của cảm biến. Nó cho biết sự có mặt của nồng độ khí dựa trên giá trị nhận được từ chân DO. Khi nồng độ khí được phát hiện và chân DO được đặt ở mức LOW, DO-LED sáng lên. Ngược lại, khi không có nồng độ khí được phát hiện và chân DO được đặt ở mức HIGH, DO-LED tắt.
Cách hoạt động
Về chân DO:
- Module MQ2 bao gồm một biến trở tích hợp để điều chỉnh độ nhạy hoặc ngưỡng nồng độ khí.
- Khi nồng độ khí trong môi trường xung quanh vượt quá ngưỡng đã thiết lập, đầu ra của cảm biến ở mức LOW, và đèn LED DO bật.
- Ngược lại, khi nồng độ khí giảm xuống dưới ngưỡng, đầu ra của cảm biến ở mức HIGH, và đèn LED DO tắt.
Về chân AO:
- Điện áp trên chân AO tăng lên khi nồng độ khí tăng.
- Ngược lại, khi nồng độ khí giảm, điện áp trên chân AO giảm tương ứng.
Cần lưu ý rằng việc điều chỉnh biến trở không ảnh hưởng đến giá trị tại chân AO.
Giai đoạn làm nóng cảm biến MQ2
Cảm biến khí MQ-2 yêu cầu một thời gian làm ấm trước khi có thể được sử dụng hiệu quả. Dưới đây là những điều bạn cần biết:
- Khi lần đầu tiên sử dụng cảm biến sau một thời gian lưu trữ dài (khoảng một tháng hoặc hơn), cần làm ấm nó từ 24–48 giờ. Điều này đảm bảo cảm biến hoạt động chính xác.
- Nếu cảm biến đã được sử dụng gần đây, thời gian làm ấm sẽ ngắn hơn nhiều, thường chỉ mất 5–10 phút. Trong thời gian làm ấm này, việc cảm biến ban đầu cho thấy các giá trị cao hơn là bình thường. Tuy nhiên, các giá trị này sẽ giảm dần cho đến khi cảm biến ổn định.
Để làm nóng cảm biến MQ2, chỉ cần kết nối các chân VCC và GND của nó với nguồn cấp điện hoặc với các chân VCC và GND của ESP8266. Để cảm biến duy trì kết nối trong thời gian làm nóng được chỉ định.
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ơ đồ đấu nối giữa ESP8266 và cảm biến khí MQ-2 khi chỉ sử dụng đầu ra số (DO).

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
- Sơ đồ nối dây giữa ESP8266 và cảm biến khí MQ2 khi chỉ sử dụng AO.

This image is created using Fritzing. Click to enlarge image
- Sơ đồ nối dây giữa ESP8266 và cảm biến khí MQ2 khi sử dụng cả AO và DO.

This image is created using Fritzing. Click to enlarge image
ESP8266 Mã nguồn - Đọc giá trị từ chân DO
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các thành phần như được hiển thị trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn board ESP8266 phù hợp, ví dụ như (ví dụ: NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Sao chép mã ở trên và mở bằng Arduino IDE.
- Nhấp nút Upload trên Arduino IDE để tải mã lên ESP8266.
- Đặ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.
Hãy nhớ 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ã ESP8266 - Đọc giá trị từ chân AO
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 ESP8266
- Đặt cảm biến khí MQ2 gần khói/khí mà bạn muốn phát hiện
- Kiểm tra kết quả trên Serial Monitor.
Từ các giá trị được đọc từ DO hoặc AO, bạn có thể suy ra 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 báo động hoặc bật hệ thống thông gió.
※ Lưu ý:
Bài hướng dẫn này sử dụng hàm analogRead() để lấy dữ liệu từ một ADC (Analog-to-Digital Converter) được kết nối với một cảm biến hoặc bộ phận khác. ADC của ESP8266 hoạt động tốt cho các dự án mà bạn không cần độ chính xác cao. Tuy nhiên, hãy nhớ rằng ADC của ESP8266 không quá chính xác cho các phép đo chi tiết. Nếu dự án của bạn cần độ chính xác rất cao, bạn có thể muốn sử dụng một ADC riêng như ADS1115 với ESP8266, hoặc dùng Arduino như Arduino Uno R4 WiFi, có ADC đáng tin cậy hơn.
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.