Alat Pendeteksi Asap dan Api
Pada tutorial kali ini akan dibahas mengenai alat pendeteksi asap dan api yang merupakan pengembangan dari percobaan sebelumnya Pengujian Sensor Gas MQ 135 & . Dari percobaan-percobaan tersebut, akan dijadikan ke dalam satu modul Arduino. Untuk jelasnya berikut penjelasannya:
Pendahulan
Alat ini dapat dimanfaatkan untuk menjadi pengaman rumah atau kantor. Apabila menteksi asap atau api alat ini akan memberi peringatan dalam bentuk suara buzzer dan indikator warna led. Dengan demikian akan lebih mudah untuk menjadi peringatan dini bagi orang disekitar.
Baca juga:
Pin Out Model / Sensor:
Modul/ Sensor yang digunakan pada percobaan ini adalah
, Pendahulan
Alat ini dapat dimanfaatkan untuk menjadi pengaman rumah atau kantor. Apabila menteksi asap atau api alat ini akan memberi peringatan dalam bentuk suara buzzer dan indikator warna led. Dengan demikian akan lebih mudah untuk menjadi peringatan dini bagi orang disekitar.
Baca juga:
Pin Out Model / Sensor:
Modul/ Sensor yang digunakan pada percobaan ini adalah
- Sensor asap : MQ 135
- Sensor api : Flame sensor module (KY - 026)
- LED 3 Warna : 3-color LED module (KY - 016)
- Buzzer
Berikut tampilan modul / sensor yang digunakan:
Modul/ Sesor yang digunakan dalam pembuatan alat pendeteksi Asap dan Api |
Konfigurasi Pin:
Berikut gambar konfigurasi pin modul / sensor ke Arduino:
Konfigurasi alat pendeteksi Asap dan Api |
Keterangan:
(+) Buzeer - 3,3V / 5V Arduino
Kaki lain Buzzer - pin 8 Arduino
A0 sensor Gas- pin A0 Arduino
A0 sensor Api - pin A1 Arduino
D0 sensor Api - pin 3 Arduino
Pin R Led - pin 9 Arduino
Pin B Led - pin 10 Arduino
Pin G Led - pin 11 Arduino
(+) sensor / Modul - pin 5V Arduino (diparalel)
(-) senosr / Modul - pin GND Arduino (diparalel)
Kode program:
int pinMerah =11; //pin untuk warna merah
int pinBiru =10; //pin untuk warna biru
int pinHijau =9; //pin untuk warna hijau
int led =13;// pin led yg digunakan
int pinDigitalApi =3;//deklarasi interface sensor api
int analogApi =A1;// deklarasi interface sensor api
int pinDigitalGas = 4;
int sensorGas;
int val;// deklarasi nilai variable val
float sensor; // membaca nilai analog
float sinVal;
int toneVal;
void setup()
{
pinMode (led, OUTPUT);// deklarasi LED sebagai output
pinMode (pinDigitalApi, INPUT); //deklarasi buttinpin sebagai inputan
pinMode (analogApi, INPUT); //deklarasi analogApi sebg inputan
pinMode(8,OUTPUT);
pinMode (pinMerah, OUTPUT);
pinMode (pinBiru, OUTPUT);
pinMode (pinHijau, OUTPUT);
Serial.begin(9600);
}
void loop()
{
sensor = analogRead(analogApi);
Serial.print("Sensor Api: ");
Serial.println (sensor);// menampilkan nilai pembacaan analog
sensorGas = analogRead(0); // read analog input pin 0 (nilai sensor gas)
Serial.print("Gas: ");
Serial.println(sensorGas,DEC); // prints the value read
val= digitalRead (pinDigitalApi);// membaca nilai dari pinDigitalApi
if ((val==HIGH) && (sensorGas>=410))// ketika sensor mendeteksi sinal led berkedip
{
//warna merah
analogWrite(pinMerah,255); //memberi nilai PWM warna merah
analogWrite(pinHijau,0); //memberi nilai PWM warna hijau
analogWrite(pinBiru,0); //memberi nilai PWM warna biru
digitalWrite(led, HIGH);
//Mengeluarkan Bunyi Alarm dari Buzzer
for (int x=0; x<180; x++){
//convert degrees to radians then obtain sin value
//mengubah derajat ke radian lalu mendapatkan hasil sin
sinVal = (sin(x*(3.1412/180)));
//generate a frequency from the sin value
//menghasilkan frekuensi dari hasil sin
toneVal = 2000+(int (sinVal*1000));
tone(8, toneVal);
delay (2);
}
}
if ((val==HIGH) && (sensorGas<410))// ketika sensor mendeteksi sinal led berkedip
{
//warna merah
analogWrite(pinMerah,255); //memberi nilai PWM warna merah
analogWrite(pinHijau,0); //memberi nilai PWM warna hijau
analogWrite(pinBiru,0); //memberi nilai PWM warna biru
digitalWrite(led, HIGH);
//Mengeluarkan Bunyi Alarm dari Buzzer
for (int x=0; x<180; x++){
//convert degrees to radians then obtain sin value
//mengubah derajat ke radian lalu mendapatkan hasil sin
sinVal = (sin(x*(3.1412/180)));
//generate a frequency from the sin value
//menghasilkan frekuensi dari hasil sin
toneVal = 2000+(int (sinVal*1000));
tone(8, toneVal);
delay (2);
}
}
if ((val==LOW) && (sensorGas>=410))// ketika sensor mendeteksi sinal led berkedip
{
//warna kuning
analogWrite(pinMerah,255); //memberi nilai PWM warna merah
analogWrite(pinHijau,255); //memberi nilai PWM warna hijau
analogWrite(pinBiru,0); //memberi nilai PWM warna biru
digitalWrite(led, HIGH);
//Mengeluarkan Bunyi Alarm dari Buzzer
for (int x=0; x<270; x++){
//convert degrees to radians then obtain sin value
//mengubah derajat ke radian lalu mendapatkan hasil sin
sinVal = (sin(x*(3.1412/270)));
//generate a frequency from the sin value
//menghasilkan frekuensi dari hasil sin
toneVal = 1000+(int (sinVal*500));
tone(8, toneVal);
delay (2);
}
}
if ((val==LOW) && (sensorGas<410))
{
//warna hijau
analogWrite(pinMerah,0); //memberi nilai PWM warna merah
analogWrite(pinHijau,255); //memberi nilai PWM warna hijau
analogWrite(pinBiru,0); //memberi nilai PWM warna biru
digitalWrite (led,LOW);
noTone(8); //mematikan suara buzzer
}
else
{
analogWrite(pinMerah,0); //memberi nilai PWM warna merah
analogWrite(pinHijau,255); //memberi nilai PWM warna hijau
analogWrite(pinBiru,0); //memberi nilai PWM warna biru
digitalWrite (led,LOW);
noTone(8); //mematikan suara buzzer
}
}
Kode diatas bisa didownload DISINI.
Penjelasan Program:
Secara umum program berjalan dengan gambaran berikut,
- Sensor mendeteksi asap dan api, maka buzzer berbunyi keras dan LED mereah menyala
- Hanya api yang terdeteksi, maka buzzer berbunyi keras dan LED merah menyala
- Hanya asap yang terdeteksi, maka buzzer berbunyi sedang dan LED kuning menyala
- Bila tidak terdeteksi antara asap dan api, maka buzzzer diam, dan LED hijau menyala
Yang perlu menjadi catatan dari program adalah: Sensor gas membutuhkan pengkalibrasian untuk hasil pendeteksian optimal dan tidak terjadi kesalahan dalam memberi peringatan (mengaktifkan buzzer). Tiap sensor memiliki kepekaan yang berbeda-beda oleh karena itu batasan aman dan saat mendeteksi asap perlu ditetapkan. Pada program bagian yang bisa diubah untuk masalah ini , yaitu bagian ini::
sensorGas>=410
Nilai 410 diperoleh dari pengamatan melalu serial monitor hasil pembacaan dari nilai pin analog dari sensor gas. Sensor gas yang penulis gunakan kondisi normal saat tidak mendeteksi asap berkisaran dibawah 400. Dan saat ada asap terdeteksi nilai Analog read sensor gas berada dikisaran lebih dari 400. Maka penulis menetapkan nilai 410 untuk menandakan sensor telah mendeteksi asap, dan mengaktifkan buzzer untuk memberi peringatan.
Untuk buzzer tempo dan besar kecilnya suara bisa diatur pada bagian kode ini:
//Mengeluarkan Bunyi Alarm dari Buzzer
for (int x=0; x<180; x++){
//convert degrees to radians then obtain sin value
//mengubah derajat ke radian lalu mendapatkan hasil sin
sinVal = (sin(x*(3.1412/180)));
//generate a frequency from the sin value
//menghasilkan frekuensi dari hasil sin
toneVal = 2000+(int (sinVal*1000));
Untuk mengubah tempo suara buzzer (cepat atau lambatnya dengungan buzzer) bisa mengubah nilai 180 pada kode. Semakin kecil nilai maka akan semakin cepat tempo suara buzzer dan sesebaliknya. Untuk mengubah besar kecilnya suara bisa mengganti nilai 2000 dan 1000 pada kode. Semakin besar nilai maka suara yang dihasilnkan buzzer semakin keras dan sebaliknya.
Video Percobaan:
Berikut video hasil percobaan yang dilakukan:
Kesimpulan:
Alat ini akan mendeteksi antara asap dan api. Apabila asap terdeteksi maka buzzer mengeluarkan suara sedang dan LED kuning menyala, menandakan ada bahaya tingkat menengah yang perlu diwaspadai, dan bila api terdeteksi maka buzzer berbunyi keras dan LED merah menyala indikator ada bahaya. Bila tidak terdeteksi asap dan api, maka keadaan aman, indikator LED hijau menyala dan buzzer diam.
Pengembangan:
Untuk pengembangan alat ini bisa ditambahkan sensor kelembapan dan suhu, yang ditampilkan ke LCD. Dengan demikan pendeteksian semakin lengkap, detail dan mudah diamati. Namun dalam pembuatan program dan budget yang dikeluarkan menjadi lebih rumit dan mahal.
Selamat mencoba...
Semoga bermanfaat....
Artikel menarik lainya:
Pake arduino uno r3 mega,atmega bisa gan ?
ReplyDeleteTerus pake library nya ga ?
Atau langsung copy in ke aplikasi arduino, buat di upload ?
DeleteBisa pake arduino uno ato atmega, tinggal di sesuaikan tenpat pinya. Ngak pake library, tinggal di copy paste aja
ReplyDeleteGan, untuk buzzernya ko hidup terus ya.. mohon pencerahannya
ReplyDeleteSori baru bales gan, Kemungkinan besar perlu di rubah nilai hasil pembacaan sensor gasnya. Seperti yang sudah dipaparkan pada bagian penjelasan program, setiap sensor memiliki kepekaan pembacaan yang berbeda jadi perlu dikalibrasi dahulu. Bisa dicoba di naikkan nilai dari:
DeletesensorGas>=410
semua angka 410 dari sensorGas diganti dengan nilai yang lebih tinggi 450 misalnya, atau 500. Nilai ini didapat setelah melakukan pengamatan pada serial monito, nilai yang paling dominan tampil saat sendsor tidak mendeteksi asap.
Selamat mencoba, semoga bisa membantu...
gan, mau tanya, untuk menggabungkan alat diatas dengan sim800L(pemberitahuan SMS), gimana ya kodingnya? kira2 agan bisa kasih tau cara nambah kodingnya? mohon pencerahannya
ReplyDeleteMaaf gan kalau yang pakai sim800L belum pernah coba gan.
Deletegan kalo menggunakan sensor asap yang mq 7 bisa gak
ReplyDeleteBisa gan yang penting perlu dibekali tadi untuk nilai pembacaan sensornya.
DeleteGan klo di tambah bluetooth hc-05, untuk menghidupkan kipas bisa gak ya gan, ngidupinya pake bluetooh. Matiinnya kipas pake sensor asap
ReplyDeleteGan klo di tambah bluetooth hc-05, untuk menghidupkan kipas bisa gak ya gan, ngidupinya pake bluetooh. Matiinnya kipas pake sensor asap
ReplyDeleteBisa aja gan, tapi perlu nambah program. Saya juga belum pernah nyoba gan
Deletegan, buzzernya kok nyala terus ya padahal udah di naikkan dan turunkan nilaianya?
ReplyDeletegan, kalo cuma pake led biasa bisa gak?
ReplyDeletegan ada wa ?
ReplyDelete