#include <LiquidCrystal_I2C.h>
const int flamepin = 0;
const int buzpin = 2;
const int threshold = 200; // sets threshold value for flame sensor
int flamesensvalue = 0; // initialize flame sensor reading
const int col = 16;
const int row = 2;
LiquidCrystal_I2C lcd(0x27, col, row);
void setup() {
Serial.begin(9600);
pinMode(flamepin, INPUT);
pinMode(buzpin, OUTPUT);
lcd.init();
lcd.backlight();
}
void loop() {
flamesensvalue = analogRead(flamepin); // membaca data analog dari sensor api
Serial.print("Flame sensor value: ");
Serial.println(flamesensvalue); // Cetak nilai sensor api untuk debugging
if (flamesensvalue <= threshold) { // membandingkan nilai pembacaan sensor api dengan nilai ambang batas
digitalWrite(buzpin, HIGH); // menyalakan LED dan buzzer
tone(buzpin, 100);
// delay(1000); // menghentikan program selama 1 detik
lcd.setCursor(0, 0); // menentukan posisi kursor tanpa membersihkan layar
lcd.print("BAHAYA "); // tambahkan spasi untuk menghapus karakter sebelumnya
lcd.setCursor(0, 1); // menentukan posisi kursor tanpa membersihkan layar
lcd.print("ADA API! "); // tambahkan spasi untuk menghapus karakter sebelumnya
} else {
digitalWrite(buzpin, LOW); // mematikan LED dan buzzer
noTone(buzpin);
lcd.setCursor(0, 0); // menentukan posisi kursor tanpa membersihkan layar
lcd.print("AMAN "); // tambahkan spasi untuk menghapus karakter sebelumnya
lcd.setCursor(0, 1); // menentukan posisi kursor tanpa membersihkan layar
lcd.print("TIDAK ADA API! "); // tambahkan spasi untuk menghapus karakter sebelumnya
}
// delay(1000); // Tambahkan delay untuk memperlambat loop dan memudahkan pembacaan serial monitor
}