// ESP32 + MQ135 Custom Chip (multi-gas version)
// IN -> GPIO34 (ADC input)
// OUT -> GPIO25 (digital input)
const int PIN_IN = 34; // ADC
const int PIN_OUT = 25; // digital
void setup() {
Serial.begin(115200);
pinMode(PIN_OUT, INPUT);
}
void loop() {
// baca analog (0..4095)
int raw = analogRead(PIN_IN);
float voltage = (raw / 4095.0f) * 5.0f;
// konversi ke ppm_total (model di chip: 0-5V -> 0-5000 ppm)
float ppm_total = (voltage / 5.0f) * 5000.0f;
// baca digital output
int outVal = digitalRead(PIN_OUT);
Serial.print("ADC=");
Serial.print(raw);
Serial.print(" V=");
Serial.print(voltage, 3);
Serial.print(" V Total PPM≈");
Serial.print(ppm_total, 1);
Serial.print(" OUT=");
Serial.println(outVal ? "HIGH (>= threshold)" : "LOW (< threshold)");
delay(500);
}