// inialisasi pin sensor dan alarm/buzzer
const int pinApi = 8;
const int pinAlarm = 9;
const int redLED = 10;
const int smokeA0 = A5;
// inialisasi variabel data
int data;
int dataAsap;
//Nilai threshold
int sensorThres = 100;
void setup()
{
// inialisasi status I/O pin
pinMode(pinApi, INPUT); // pin sebagai input
pinMode(smokeA0, INPUT); // pin sebagai input
pinMode(pinAlarm, OUTPUT); // pin sebagai output
pinMode(redLED, OUTPUT);
Serial.begin(1000);
}
void loop()
{
// variabel data adalah hasil dari pembacaan sensor
// berupa logic LOW/HIGH
data = digitalRead(pinApi);
int analogSensor = analogRead(smokeA0);
Serial.print("Api Terdeteksi: ");
Serial.println(analogSensor);
// jika data pada sensor API bernilai logic LOW
if (data == LOW)
{
// alarm dinyalakan
digitalWrite(pinAlarm, HIGH);
tone(pinAlarm, 2050);
digitalWrite(redLED, HIGH);
delay(100);
}
// jika data Analog pada sensor Asap lebih besar dari batas
else if (analogSensor > sensorThres)
{
digitalWrite(redLED, HIGH);
tone(pinAlarm, 2050);
delay(100);
}
// jika data tidak bernilai logic LOW
else
{
//Lampu Dimatikan
digitalWrite(redLED, LOW);
// alarm dimatikan
digitalWrite(pinAlarm, LOW);
delay(100);
}
}