Tutorial Sensor Api KY 26: tanpa Arduino, dengan Arduino dan mengatasi masalah sensor membaca sinyal dari remote control
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
- Menggunakan sensor api dengan menggunakan microcontroller Arduino Uno dan PIN Analog Out dari sensor api
- Mengatasi masalah sensor yang bisa menangkap sinyal yang dipancarkan oleh remote control seperti remote TV, AC dan sebagainya
File “Menggunakan sensor api tanpa menggunakan microcontroller”:
Skema
File “Menggunakan sensor api dengan menggunakan microcontroller dan PIN Digital Out”:
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 } else { // Tidak ada api Serial.println("Aman. Tidak ada api"); // Pesan tidak ada api digitalWrite(PINLed, LOW); // Matikan lampu LED noTone(buzzer); // Matikan buzzer } }
File “Menggunakan sensor api dengan menggunakan microcontroller dan PIN Analog Out”:
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); }
File “Mengatasi masalah sensor yang bisa menangkap sinyal dari remote control infrared”:
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 } }