Diagram blok rangkaian Program

Program awali dengan start yang berarti rangkaian dihidupkan, sensor TGS 2610 akan mendeteksi adanya kadar gas dilingkungan tersebut, apabila sensor tidak mendeteksi adanya gas maka program akan terus mendeteksi adanya kadar gas padalikungan tersebut. jika terdeteksi adanya gas maka sensor akan mengirimkan sinyal ke mikrokontroler untuk menghidupkan kipas dan alarm.

4.1.2 Diagram blok rangkaian

secara umum alat pendeteksi kebocoran gas LPG terdiri dari lima blok rangkaian utama. Blok diagram dari rangkaian dapat dilihat dari gambar 4.4 berikut: Diagram dari rangkaian sistem pendeteksian dini kebocoran gas LPG menggunakan sensor TGS 2610. Gambar 4.2 Diagram blok rangkaian pendeteksi kebocoran gas LPG Untuk mendeteksi gas LPG digunakan sensor TGS 2610. output sensor berupa tegangan. Apabila terkena gas LPG maka tegangan pada output sensor akan semakin besar. Data output sensor merupakan data analog. Agar dapat dibaca oleh mikrokontroler maka terlebih dahulu output dari sensor dimasukkan ke ADC untuk diolah datanya menjadi data data digital. Hasil dari perubahan yang di olah oleh ADC inilah yang dikirimkan ke mikrokontroller untuk di proses lebih lanjut. Mikrokontroler AT89S51 berfungsi sebagai otak dari keseluruhan sistem. Dimana didalam mikrokontroler inilah nantinya semua data akan diolah dan dibandingkan . untuk menjalankan kipas dan menghidupkan alarm dibutuhkan suatu rangkaian driver relay. Driver menghidupkan kipas dan alarm ini terdiri dari rangkaian relay dimana relay ini berfungsi sebagai saklar otomatis sehingga dapat menyalakan dan mematikan kipas dan alarm sesuai dengan yang perintahkan secara otomatis dengan sendirinya.

4.1.3 Program

Adapun program yang digunakan pada rangkaian sistem pendeteksian dini kebocoran gas LPG menggunakan sensor TGS 2610 adalah sebagai berikut : program LPG detector initial port kipas bit p3.6 ; alamat kipas alarm bit p3.5 ; alamat alarm program utama: clr kipas ; matikan kipas clr alarm ; matikan alarm clr p3.7 ; cek busy interrupt ADC acall tadc ; panggil tadc setb p3.7 ; cek data interrupt ADC start: jb p3.7, ; ambil data interrupt ADC call tadc ; panggil routine tunda ADC mov a,p0 ; isikan nilai p0 pada alamat a a = data gas LPG mov 62h,a ; isikan ke alamat 62h nilai a mov b,100 ; isikan ke alamat b nilai 100 div ab ; bagikan a dengan b hasilnya save to a mov 72h,a ; isikan nilai a pada 72h mov a,b ; isikan a,b mov b,10 ; isikan nilai 10 ke b div ab ; tambahkan ab mov 71h,a ; isikan a di 71h mov 70h,b ; isikan b di 70h call tunda ; panggil tunda mov a,62h ; isikan 62h di a cjne a,0c0h,utama ; baca data gas ada atau tidak , jika tidak ada kembali ke awal call hidup_kipas ; jika ada hidupkan kipas dan alarm sjmp utama ; jika tidak kembali ke utama hidup_kipas: setb alarm ; terhubungke alarm setb kipas ; terhubungke kipas call tunda_alarm_5detik ; pangil kembali alarm sesudah 5 detik call tunda_kipas_5detik ; pangil kembali kipas sesudah 5 detik ret tunda_kipas_5detik: mov r7,200 ; ini merupakan delay waktu pada register 7 tnd_kps: mov r6,255 td_kp: mov r5,100 djnz r5, : jika tidak kembali ke register 5 djnz r6,td_kp djnz r7,tnd_kps ret tunda: mov r7,100 tnd: mov r6,100 djnz r6, djnz r7,tnd ret tadc: mov r7,100 adc: mov r6,40 djnz r6, djnz r7,adc ret end ;selesai

4.2 Pengujian Rangkaian Mikrokontroller AT89S51