#include <Wire.h>
#include <Arduino.h>
#define PPM_PIN_1 4 // Sensor MQ-135 pertama
#define PPM_PIN_2 34 // Sensor MQ-135 kedua (gunakan GPIO 34 agar lebih stabil)
void setup() {
Wire.begin(23, 22);
Serial.begin(115200);
Serial.println("ESP32 with Two MQ-135 Sensors");
}
void loop() {
// Baca nilai mentah dari sensor
int16_t raw1 = analogRead(PPM_PIN_1);
int16_t raw2 = analogRead(PPM_PIN_2);
// Konversi nilai ADC ke PPM
int ppm1 = raw1 / 4.095;
int ppm2 = raw2 / 4.095;
// Hitung rata-rata untuk lebih stabil
int avgPPM = (ppm1 + ppm2) / 2;
// Tampilkan hasil di Serial Monitor
Serial.print("PPM Sensor 1: ");
Serial.print(ppm1);
Serial.print(" | PPM Sensor 2: ");
Serial.print(ppm2);
Serial.print(" | Rata-rata: ");
Serial.println(avgPPM);
// Jika PPM tinggi, beri peringatan (misal > 1000)
if (avgPPM > 900) {
Serial.println("⚠️ Kualitas udara buruk! Segera ambil tindakan!");
}
delay(1000); // Baca data setiap 1 detik
}