Máy Đo Chất Lượng Không Khí PM2.5
Trung cấp10/6/2024

Máy Đo Chất Lượng Không Khí PM2.5

Đo PM1.0, PM2.5, PM10, CO2 và VOC với cảnh báo thời gian thực

Air QualityPM2.5CO2ESP32Health
912 lượt thích445 người đã làm2 giờ6 bước6 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Phần 2: Kết nối và cấu hình cảm biến

1. Giới thiệu về các cảm biến PM1.0, PM2.5, PM10, CO2 và VOC, 2. Sơ đồ kết nối giữa ESP32 và các cảm biến, 3. Cấu hình và lập trình để đọc dữ liệu từ các cảm biến, 4. Kiểm tra dữ liệu đầu ra từ cảm biến, 5. Xử lý dữ liệu và hiển thị lên Serial Monitor

Cập nhật 01/06/2026

Phần 2: Kết nối và cấu hình cảm biến

Trong phần này, chúng ta sẽ tìm hiểu cách kết nối và cấu hình các cảm biến PM1.0, PM2.5, PM10, CO2 và VOC với ESP32 để đo chất lượng không khí. Các cảm biến này sẽ giúp chúng ta theo dõi tình trạng không khí xung quanh và đưa ra các cảnh báo khi cần thiết.

1. Giới thiệu về các cảm biến

Các cảm biến mà chúng ta sẽ sử dụng trong dự án này bao gồm:

  • Cảm biến PM1.0, PM2.5, PM10: Đây là những cảm biến bụi mịn, giúp đo các hạt bụi có đường kính nhỏ hơn hoặc bằng 1.0, 2.5 và 10 micromet. Chúng rất quan trọng trong việc đánh giá chất lượng không khí.
  • Cảm biến CO2: Cảm biến này đo nồng độ carbon dioxide trong không khí, giúp đánh giá mức độ ô nhiễm và thông gió của môi trường.
  • Cảm biến VOC: Cảm biến này đo các hợp chất hữu cơ bay hơi, có thể gây hại cho sức khỏe con người và môi trường.

2. Sơ đồ kết nối giữa ESP32 và các cảm biến

Trước khi bắt đầu kết nối, chúng ta cần có một sơ đồ kết nối rõ ràng để đảm bảo rằng mọi thứ được kết nối đúng cách. Dưới đây là sơ đồ kết nối giữa ESP32 và các cảm biến:


ESP32            Cảm biến
-------------------------
GPIO 21  ------  SDA (I2C)
GPIO 22  ------  SCL (I2C)
GND       ------  GND
3.3V      ------  VCC

Hãy chắc chắn rằng bạn đã kết nối đúng các chân trên ESP32 với các chân tương ứng của các cảm biến. Nếu cảm biến yêu cầu nguồn điện khác, hãy tham khảo tài liệu hướng dẫn của nhà sản xuất để biết thêm chi tiết.

3. Cấu hình và lập trình để đọc dữ liệu từ các cảm biến

Để bắt đầu lập trình, chúng ta sẽ sử dụng môi trường phát triển Arduino IDE. Hãy chắc chắn rằng bạn đã cài đặt các thư viện cần thiết cho các cảm biến mà bạn sử dụng. Dưới đây là mã nguồn mẫu để đọc dữ liệu từ các cảm biến:


#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_PM25AQI.h>
#include <DHT.h>

#define DHTPIN 4
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
Adafruit_PM25AQI aqi = Adafruit_PM25AQI();

void setup() {
    Serial.begin(115200);
    dht.begin();

    if (!aqi.begin_I2C()) {
        Serial.println("Không thể tìm thấy cảm biến PM!");
        while (1);
    }
}

void loop() {
    PM25_AQI_Data data;
    if (aqi.read(&data)) {
        Serial.print("PM1.0: "); Serial.print(data.pm10_standard);
        Serial.print(" PM2.5: "); Serial.print(data.pm25_standard);
        Serial.print(" PM10: "); Serial.print(data.pm100_standard);
        Serial.println();
    }
    delay(2000);
}

Mã nguồn trên sẽ đọc dữ liệu từ cảm biến PM và in ra các giá trị PM1.0, PM2.5 và PM10 trên Serial Monitor. Bạn có thể mở Serial Monitor trong Arduino IDE để theo dõi dữ liệu này.

4. Kiểm tra dữ liệu đầu ra từ cảm biến

Sau khi tải mã nguồn lên ESP32, hãy mở Serial Monitor và kiểm tra dữ liệu đầu ra. Bạn sẽ thấy các giá trị PM1.0, PM2.5 và PM10 được hiển thị. Điều này cho thấy rằng cảm biến đang hoạt động bình thường và bạn đã kết nối thành công.

Tip: Nếu bạn không thấy dữ liệu nào được hiển thị, hãy kiểm tra lại kết nối giữa ESP32 và cảm biến, cũng như đảm bảo rằng bạn đã cài đặt đúng thư viện cần thiết.

5. Xử lý dữ liệu và hiển thị lên Serial Monitor

Để xử lý dữ liệu từ các cảm biến CO2 và VOC, bạn có thể thêm mã tương tự như sau vào trong hàm loop():


void loop() {
    // Đọc dữ liệu từ cảm biến PM
    PM25_AQI_Data data;
    if (aqi.read(&data)) {
        Serial.print("PM1.0: "); Serial.print(data.pm10_standard);
        Serial.print(" PM2.5: "); Serial.print(data.pm25_standard);
        Serial.print(" PM10: "); Serial.print(data.pm100_standard);
        Serial.println();
    }

    // Đọc dữ liệu từ cảm biến CO2 và VOC (giả sử bạn đã thêm mã cho cảm biến này)
    // Đoạn mã ở đây sẽ phụ thuộc vào loại cảm biến bạn sử dụng

    delay(2000);
}

Hãy chắc chắn rằng bạn đã xử lý dữ liệu từ các cảm biến CO2 và VOC theo cách tương tự như cảm biến PM. Bạn có thể thêm các điều kiện để cảnh báo nếu nồng độ vượt ngưỡng an toàn.

Lưu ý: Để đảm bảo độ chính xác của dữ liệu, hãy thường xuyên hiệu chỉnh cảm biến theo hướng dẫn của nhà sản xuất.

Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách tích hợp dữ liệu vào một ứng dụng web để theo dõi chất lượng không khí theo thời gian thực. Hãy tiếp tục theo dõi!