Kebakaran sering terjadi kapanpun dan dimanapun, pada saat kita tidak siap untuk menangani kebakaran tersebut karena terlambat bagi kita untuk mendeteksi kebakarannya. Bisa bermula dari listrik yang korslet, kompor yang lupa dimatikan, setrika yang lupa dimatikan dan sebagainya.
Video ini menjelaskan bagaimana kita bisa membuat perangkat peringatan kebakaran kita sendiri untuk mendeteksi kebakaran dengan menggunakan modul sensor api KY 26.
Video ini dibagi menjadi beberapa bagian:
- Menggunakan sensor api tanpa menggunakan microcontroller
- Menggunakan sensor api dengan menggunakan microcontroller Arduino Uno dan PIN Digital Out dari sensor api
Skema

Kode Program
// Protus Tanuhandaru
// www.progresstech.co.id
// www.karyaone.co.id
int PINLed = 12; // Variabel PIN LED
int buzzer = 9; // Variabel PIN Buzzer
int frekuensi = 1000; // Frekuensi pitch Buzzer
int deteksiApi = 8; // Variabel PIN Vout Sensor Api
int statusApi = HIGH; // Status keberadaan api. HIGH = "Tidak ada api"
void setup() {
pinMode(PINLed, OUTPUT); // Membuat PIN LED sebagai OUTPUT
pinMode(deteksiApi, INPUT); // Membuat PIN Vout Sensor Api sebagai INPUT
pinMode(buzzer, OUTPUT); // Membuat PIN Buzzer sebagai OUTPUT
Serial.begin(9600); // Memulai serial communication baud rate 9600
}
void loop() {
statusApi = digitalRead(deteksiApi); // Membaca sinyal api: HIGH atau LOW
if(statusApi == LOW) // Jika ada api
{
Serial.println("Ada api menyala"); // Pesan ada api
digitalWrite(PINLed, HIGH); // Nyalakan lampu LED
tone(buzzer, frekuensi); // Bunyikan buzzer
delay(100); // lampu LED dan buzzer aktif selama 100 milidetik
digitalWrite(PINLed, LOW); // Matikan lampu LED
noTone(buzzer);// Matikan buzzer
delay(100); // lampu LED dan buzzer mati selama 100 milidetik
} else { // Tidak ada api
Serial.println("Aman. Tidak ada api"); // Pesan tidak ada api
digitalWrite(PINLed, LOW); // Matikan lampu LED
noTone(buzzer); // Matikan buzzer
}
}
- Menggunakan sensor api dengan menggunakan microcontroller Arduino Uno dan PIN Analog Out dari sensor api
Skema

Kode Program
// Protus Tanuhandaru
// www.progresstech.co.id
// www.karyaone.co.id
int PINLedMerah = 12; // Variabel PIN LED Merah
int PINLedKuning = 11; // Variabel PIN LED Kuning
int buzzer = 9; // Variabel PIN Buzzer
int frekuensi = 1000; // Frekuensi pitch Buzzer
void setup() {
pinMode(PINLedMerah, OUTPUT); // Membuat PIN LED Merah sebagai OUTPUT
pinMode(PINLedKuning, OUTPUT); // Membuat PIN LED Kuning sebagai OUTPUT
pinMode(buzzer, OUTPUT); // Membuat PIN Buzzer sebagai OUTPUT
Serial.begin(9600); // Memulai serial communication baud rate 9600
}
void loop() {
int deteksiApi = analogRead(A0); // Membaca sinyal api berdasarkan kisaran tegangan 0 - 5 Volt
int jarak = map(deteksiApi, 0, 1023, 0, 3); // Memetakan kisaran 0-5 Volt ke tingkatan jarak
switch (jarak) {
case 0: // Jika ada api dekat sekali
Serial.println("Api sangat dekat"); // Pesan ada api sangat dekat
digitalWrite(PINLedMerah, HIGH); // Nyalakan lampu LED merah
tone(buzzer, frekuensi); // Bunyikan buzzer
delay(100); // lampu LED dan buzzer aktif selama 100 milidetik
digitalWrite(PINLedMerah, LOW); // Matikan lampu LED
noTone(buzzer); // Matikan buzzer
delay(100); // lampu LED dan buzzer mati selama 100 milidetik
break;
case 1:
Serial.println("Ada api"); // Pesan ada api
digitalWrite(PINLedKuning, HIGH); // Nyalakan lampu LED kuning
delay(100); // lampu LED aktif selama 100 milidetik
digitalWrite(PINLedKuning, LOW); // Matikan lampu LED
delay(100); // lampu LED mati selama 100 milidetik
break;
case 2:
Serial.println("Tidak ada api"); // Pesan tidak ada api
break;
}
delay(1);
}
- Mengatasi masalah sensor yang bisa menangkap sinyal yang dipancarkan oleh remote control seperti remote TV, AC dan sebagainya
Kode Program
// Protus Tanuhandaru
// www.progresstech.co.id
// www.karyaone.co.id
int PINLed = 12; // Variabel PIN LED
int buzzer = 9; // Variabel PIN Buzzer
int frekuensi = 1000; // Frekuensi pitch Buzzer
int deteksiApi = 8; // Variabel PIN Vout Sensor Api
int statusApi = HIGH; // Status keberadaan api. HIGH = "Tidak ada api"
int hitung = 0; // Variabel perhitungan selama ada api
void setup() {
pinMode(PINLed, OUTPUT); // Membuat PIN LED sebagai OUTPUT
pinMode(deteksiApi, INPUT); // Membuat PIN Vout Sensor Api sebagai INPUT
pinMode(buzzer, OUTPUT); // Membuat PIN Buzzer sebagai OUTPUT
Serial.begin(9600); // Memulai serial communication baud rate 9600
}
void loop() {
statusApi = digitalRead(deteksiApi); // Membaca sinyal api: HIGH atau LOW
if(statusApi == LOW) { // Jika ada api
hitung++; // hitung = hitung + 1
} else { // Jika sinyal api (infrared) sempat putus
hitung = 0; // hitung kembali ke 0
}
if((statusApi == LOW)&&(hitung > 100)) // Jika ada api lebih dari 100 kali loop perhitungan
{
Serial.println("Ada api menyala"); // Pesan ada api
digitalWrite(PINLed, HIGH); // Nyalakan lampu LED
tone(buzzer, frekuensi); // Bunyikan buzzer
delay(100); // lampu LED dan buzzer aktif selama 100 milidetik
digitalWrite(PINLed, LOW); // Matikan lampu LED
noTone(buzzer);// Matikan buzzer
delay(100); // lampu LED dan buzzer mati selama 100 milidetik
} else { // Tidak ada api
Serial.println("Aman. Tidak ada api"); // Pesan tidak ada api
digitalWrite(PINLed, LOW); // Matikan lampu LED
noTone(buzzer); // Matikan buzzer
}
}