#include <Wire.h>
#include <Arduino.h>
#define led1 5
#define led2 18
#define PPM_PIN 4
int batas = 100;
void setup() {
Wire.begin(23, 22);
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Serial.println("Hello, ESP32!");
}
void loop() {
// Value after from AD convertor
int16_t ppmValue = analogRead(PPM_PIN);
// Map the correct value ad AD convertor expects max votage to be 3.3 V and we are sending 5 V
int mappedppmValue = (ppmValue/4.095);
Serial.print("PPM: ");
Serial.println(mappedppmValue);
Serial.print("Nilai Analog = ");
Serial.println(ppmValue);
Serial.print("Smoke = ");
Serial.println(ppmValue-50);
if(ppmValue-50 >= batas){
Serial.println("Asap terdeteksi");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
} else {
Serial.println("Asap tidak terdeteksi");
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
}
delay(1000);
}