Module Cảm Biến Bụi Gp2y1010au0f (chính Hãng Waveshare)
Có thể bạn quan tâm
Module Cảm Biến Bụi GP2Y1010AU0F
Mô tả sản phẩm
Module Cảm Biến Bụi GP2Y1010AU0F (Chính hãng Waveshare) sử dụng cảm biến bụi GP2Y1010AU0F của SHARP, được sử dụng để nhận biết nồng độ bụi trong không khí.
Thông số kỹ thuật
- Độ nhạy: 0.5V / (100μg / m3)
- Phạm vi đo lường: 500μg / m3
- Điện áp: 2.5V ~ 5.5V
- Dòng tiêu thụ: 20mA (max)
- Nhiệt độ hoạt động: -10 ℃ ~ 65 ℃
- Nhiệt độ bảo quản: -20 ℃ ~ 80 ℃
- Tuổi thọ: 5 năm
- Kích thước: 63,2mm × 41,3mm × 21,1mm
- Kích thước lỗ gắn: 2.0mm
- Kích thước lỗ khí: 9.0mm
CODE TEST ARDUINO:
#define PIN_LED 7 #define SENSOR_PIN A0
// Cấu hình const int SAMPLES_PER_CYCLE = 10; // số mẫu analog trong 1 chu kỳ đo để lấy trung bình const int DELAY_MS_LOOP = 200; // thời gian giữa 2 chu kỳ đo (Plotter dễ nhìn) const int BASELINE_SECONDS = 5; // thời gian đo baseline khi khởi động (giây)
// Hệ số hiệu chuẩn mặc định (µg/m3 trên Volt của delta Vo). // Bạn phải tinh chỉnh CAL_FACTOR bằng cách hiệu chuẩn thực tế. // Giá trị mặc định này là điểm bắt đầu - cần hiệu chuẩn với thiết bị tham chiếu. float CAL_FACTOR = 20000.0; // µg/m3 per Volt (mặc định, cần hiệu chuẩn)
float baselineADC = 0.0; float smoothDensity = 0.0; const float SMOOTH_ALPHA = 0.2; // hệ số cho EMA smoothing (0..1)
void setup() { Serial.begin(9600); pinMode(PIN_LED, OUTPUT); digitalWrite(PIN_LED, LOW);
// Đo baseline khi startup (yêu cầu môi trường sạch) Serial.println("Calibrating baseline... keep sensor in clean air."); baselineADC = measureBaseline(BASELINE_SECONDS); Serial.print("Baseline ADC = "); Serial.println(baselineADC); delay(500); }
void loop() { // Lấy trung bình nhiều mẫu trong 1 chu kỳ float sum = 0; for (int i = 0; i < SAMPLES_PER_CYCLE; ++i) { // Kích LED đo theo timing chuẩn digitalWrite(PIN_LED, HIGH); delayMicroseconds(280); int adc = analogRead(SENSOR_PIN); delayMicroseconds(40); digitalWrite(PIN_LED, LOW);
sum += adc;
// Khoảng cách giữa các mẫu nhỏ để giữ đồng bộ LED delay(5); } float adcAvg = sum / SAMPLES_PER_CYCLE;
// Tính toán float deltaADC = adcAvg - baselineADC; if (deltaADC < 0) deltaADC = 0; // bỏ giá trị âm float deltaVo = deltaADC * (5.0 / 1023.0); // chuyển ADC -> Volt float density_ugm3 = deltaVo * CAL_FACTOR; // công thức tuyến tính đơn giản (cần hiệu chuẩn)
// Smoothing (EMA) smoothDensity = SMOOTH_ALPHA * density_ugm3 + (1.0 - SMOOTH_ALPHA) * smoothDensity;
// Ghi ra Serial plotter: in 2 giá trị (rawADC, µg/m3) hoặc chỉ µg/m3 // In dạng CSV (2 cột) để plot 2 đường (raw & calibrated) Serial.print(adcAvg); Serial.print(","); Serial.println(smoothDensity);
delay(DELAY_MS_LOOP); // thời gian giữa các vòng để Plotter kịp cập nhật }
// Hàm đo baseline trung bình trong 'secs' giây float measureBaseline(int secs) { unsigned long endt = millis() + (unsigned long)secs * 1000UL; long sum = 0; long count = 0; while (millis() < endt) { // một chu kỳ đo giống như loop digitalWrite(PIN_LED, HIGH); delayMicroseconds(280); int adc = analogRead(SENSOR_PIN); delayMicroseconds(40); digitalWrite(PIN_LED, LOW);
sum += adc; count++; delay(50); } if (count == 0) return 0; return (float)sum / (float)count; }
Từ khóa » Cảm Biến Gp2y1010au0f
-
Cảm Biến Bụi GP2Y1010AU0F - Nshop
-
Cảm Biến Bụi Optical Dust Sensor PM2.5 GP2Y1010AU0F
-
Cảm Biến Bụi Sharp GP2Y1010AU0F - Linh Kiện điện Tử SMD
-
Cảm Biến Bụi GP2Y1010AU0F SHARP | Linh Kiện Điện Tử 3M
-
Cảm Biến Bụi PM 2.5 GP2Y1010AU0F | Shopee Việt Nam
-
Cảm Biến Bụi PM2.5 GP2Y1010AU0F - IC ĐÂY RỒI
-
Cảm Biến Bụi PM2.5 Sharp GP2Y1010AU0F - EPCB.VN
-
Sử Dụng Cảm Biến Bụi Sharp Gp2y10 | Cộng đồng Arduino Việt Nam
-
Cảm Biến Bụi Sharp GP2Y1010AU0F Compact Optical Dust Sensor
-
Cảm Biến Bụi GP2Y1010AU0F - Linh Kiện Giá Gốc
-
Hướng Dẫn Sử Dụng Module Cảm Biến Bụi (Dust Sensor) - MLAB
-
GP2Y1010AU0F Cảm Biến Bụi PM2.5 - Thegioiic
-
Cảm Biến Bụi GP2Y1010AU0F - Cảm Biến | ore