BAB IV ANALISA DAN HASIL KINERJA ALAT 4.1. Analisa dan Tujuan Pengujian Analisa bertujuan untuk menjelaskan secara teoritis sistem kerja rangkaian yang dirancang, sementara pengujian dilakukan untuk melihat performa dari alat yang telah dirancang tersebut, dengan harapan hasil sesuai dengan yang kita inginkan/dirancang dan referensi. Pada pengujian alat light dimmer ini, pengambilan data dilakukan pada tiap bagian atau blok. Untuk dapat melakukan pengamatan tersebut, dilakukan pengukuran masing-masing blok sistem ataupun komponen yang digunakan sehingga mendapatkan nilai-nilai yang diinginkan sesuai dengan referensi. Adapun bagian yang dilakukan pengukuran oleh penulis diantaranya : Pengujian catu daya/voltage regulator +5Vdc Pengujian IC TL494CN Pengujian sensor cahaya (LDR) Pengujian nilai ADC dari mikrokontroler Pengujian pada lampu pijar/bohlam Pengujian sistem secara keseluruhan Proses pengujian ini dilakukan di tempat tinggal penulis, dan di kampus Universitas Mercu Buana. 4.2. Analisa Rangkaian Berikut merupakan analisa dan gambar bentuk gelombang yang terjadi pada rangkaian secara teoritis. 40
41 Gambar-4.1. Bentuk Gelombang tanpa Trigger Pada Gambar-4.1 menjelaskan tentang prinsip kerja TRIAC, dimana TRIAC yang dihubungkan dengan sumber tegangan 220 Vac akan men-supply daya ke beban melalui beban Z L (lampu) bergantung trigger pada gate (G). Gambar tersebut merupakan bentuk gelombang jika gate (G1) tidak di-trigger maka tegangan output (Vo) = nol, sehingga beban Z L (lampu) tidak menyala.
42 Gambar-4.2. Bentuk Gelombang dengan Trigger Pada Gambar-4.2 merupakan bentuk gelombang jika gate di-trigger. Jika gate (G2) di-trigger menjelang akhir kurva sinus dari tegangan sumber (Vs), maka tegangan output (Vo) rata-rata pada beban nilainya kecil sehingga lampu menyala redup. Sementara jika gate (G3) di-trigger pada awal kurva tegangan sumber (Vs) maka tegangan output (Vo) rata-rata nilainya besar sehingga lampu menyala terang.
43 Gambar-4.3. Bentuk Gelombang Penyearah Gambar-4.3 merupakan bentuk rangkaian penyearah gelombang, dimana pada bagian ini output LED akan berfungsi sebagai alat untuk mensinkronkan trigger gate dengan tegangan sumber (Vs). Hasil dari penyearahan jika menggunakan beban R (resistansi) terlihat pada bentuk gelombang V1. Sementara hasil dari penyearahan untuk menyalakan LED terlihat pada bentuk gelombang LED. Dari gambar tersebut LED akan padam jika posisi gelombang pada sekitar persilangan kurva sinus di titik t0, t1, t2, t3 dan seterusnya. Prinsip padam dan menyalanya LED tersebut dijadikan untuk meng-onkan atau meng-off-kan phototransistor. Rangkaian tersebut dapat terlihat pada Gambar-4.4 berikut.
44 Gambar-4.4. Rangkaian Kontrol Photo-Transistor Gambar-4.5. Bentuk Gelombang Rangkaian Kontrol PhotoTransistor
45 Dari Gambar-4.4 di atas, padamnya LED akan meng-off-kan phototransistor (pt), dengan demikian pt bekerja sebagai switch. Sementara padamnya phototransistor (pt) akan meng-on-kan transistor Q1. Dimana Q1 juga bekerja sebagai switch. Resistor variabel (RV4) merupakan resistansi yang dapat diatur untuk pengisian kapasitor C4 dari tegangan Vcc. Dioda D3 reverse bias (bias terbalik) pada saat Q1 Off-state (t0b t1a) akan memblok tegangan Vcc ke arah kapasitor C4, sehingga kapasitor C4 terisi tegangan (V CT ) dari Vcc melalui RV4 (t0b t1a). Dioda D3 forward bias (bias maju) pada saat Q1 On-state (t1a t1b) menyebabkan tegangan pada kapasitor (V CT ) terhubung ke ground melalui kolektor emiter Q1 (switch On) sehingga V CT = 0. Dari gambar rangkaian kontrol phototransistor tersebut pada akhirnya menghasilkan gelombang gigi gergaji yang sinkron dengan gelombang jala-jala listrik PLN. Pada Gambar-4.5 di atas merupakan gambar-gambar bentuk gelombang yang terjadi, diantaranya bentuk gelombang persegi V pt, VQ1, dan gelombang gigi gergaji V CT. Setelah terbentuknya gelombang gigi gergaji tersebut, kemudian dimanfaatkan untuk membuat Pulse Width Modulation (PWM). Rangkaian PWM ini terbentuk melalui proses membandingkan gelombang gigi gergaji dengan tegangan DC yang variabel. Gambar-4.6 merupakan gambar rangkaian PWM Control Unit dengan menggunakan IC TL494CN. Dari bentuk gelombang gigi gergaji pada gambar sebelumnya yaitu tegangan pada kapasitor (V CT ) berfungsi sebagai input pada pin 5 (CT) IC TL494CN. Sementara tegangan DC variabel akan masuk sebagai input pada pin 4 (DTC). Dengan mengatur besar kecilnya DTC, maka akan dihasilkan lebar pulsa (PWM) yang berbeda-beda juga. Gambar-4.6. Rangkaian PWM Control Unit
46 Keluaran (output) PWM Control Unit tersebut kemudian dialirkan menuju IC MOC3020 (optocoupler) yang berfungsi untuk men-trigger gate TRIAC. Berikut merupakan gambar rangkaian optocoupler yang berfungsi untuk mentrigger TRIAC. Gambar-4.7. Rangkaian untuk Men-trigger TRIAC Gambar-4.8. Bentuk gelombang PWM
47 Gambar-4.8 merupakan proses komparasi dua input komparator IC TL494CN, yaitu input sinyal gigi gergaji dan input tegangan DC (V DC ) variabel. Bentuk gelombang PWM dan Power Out yang terjadi dapat dijelaskan sebagai berikut, yaitu pada saat tegangan DC (V DC Variabel) tinggi, maka gelombang gigi gergaji yang terpotong adalah pada bagian puncaknya, dimana bagian puncak ini tersinkronkan dengan kurva sinus tegangan sumber bagian akhir gelombang, sehingga hasil komparasinya (perbandingannya) adalah bentuk PWM out berupa pulsa sempit yang digunakan untuk men-trigger TRIAC di akhir tiap perpotongan kurva gelombang sinus. Proses ini menghasilkan Power Outputnya rendah (tegangan rata-ratanya kecil) yang menyebabkan lampu menyala redup. Proses ini digambarkan pada Gambar-4.8 bagian kiri. Jika input tegangan DC variabelnya rendah, maka sinyal gigi gergaji terpotong di bagian bawah dan menghasilkan output komparator yang lebar atau PWM out berupa pulsa yang lebar. Proses ini akan men-trigger TRIAC pada awal kurva gelombang sinus, dan menghasilkan Power Outputnya menjadi besar (tegangan rata-ratanya tinggi) yang menyebabkan lampu menyala terang. Proses ini digambarkan pada Gambar-4.8 bagian kanan. 4.3. Alat dan Media Pengujian Alat dan bahan yang digunakan oleh penulis untuk melakukan pengambilan data yaitu : Power supply (power switching) 12Vdc, digunakan sebagai power input DC Multimeter digital atau analog, digunakan untuk mengukur besaran tegangan pada setiap blok Kondisi ruangan terang, redup, dan gelap, yaitu untuk menguji sensor LDR yang mempengaruhi ke sistem yang lainnya MCB, digunakan sebagai pelindung pada bagian/blok arus AC Lampu pijar 60 W, digunakan sebagai output akhir dari keseluruhan sistem alat ini
48 4.4. Pengujian dan Pengukuran Kinerja Alat Seperti yang telah dijelaskan di atas, berikut merupakan langkah-langkah pengujian alat light dimmer. 4.4.1. Pengujian Catu Daya +5 Vdc Pada rangkaian catu daya ini, pengukuran dilakukan pada output regulator 7805 untuk mendapatkan tegangan +5Vdc. Untuk inputnya sendiri menggunakan power switching +12Vdc. Tegangan +5Vdc ini sendiri nantinya digunakan untuk power mikrokontroler dan semua komponen yang membutuhkan power +5Vdc. Tabel 4.1. Data Hasil Pengujian Catu Daya +5 Vdc Output (Vdc) Input (Vdc) Hasil Pengukuran Referensi 12 4.93 5 4.4.2. Pengujian IC TL494CN Untuk pengujian IC TL494CN dilakukan dengan memberikan tegangan variabel di kaki pin 4 yaitu DTC. Berikut merupakan tabel hasil pengujian IC TL494CN. Tabel 4.2. Data Hasil Pengukuran TL494CN Kondisi Tegangan DC Variabel (DTC) Gelap 0.02 Redup 2.05 Terang 3.94 Nilai DTC tersebut merupakan nilai tegangan DC variabel yang berfungsi untuk memotong gelombang gigi gergaji di puncak atau di bawah. Jika nilai DTC semakin besar maka lampu menyala semakin redup dan sebaliknya jika nilai DTC semakin kecil maka lampu menyala semakin terang.
49 4.4.3. Pengujian Tegangan Output pada Lampu Pijar Sebelum melakukan pengukuran pada lampu pijar, terlebih dahulu dilakukan pengukuran sumber tegangan AC yaitu besarnya tegangan jala-jala listrik PLN yang sedang digunakan. Karena tegangan jala-jala listrik PLN ini besarnya relatif dan berbeda-beda pada setiap tempat dimana secara teoritis mempunyai nilai 220 Vac, maka hasil pengukuran tegangan jala-jala listrik ini akan mempengaruhi pada pengukuran lainnya. Tabel 4.3. Tegangan Jala-jala PLN Tegangan Jala-jala Pengukuran Ke PLN (Vac) 1 196 2 197 3 194 Dari tabel di atas, dapat diketahui besarnya tegangan rata-rata jala-jala PLN yaitu : Vs(PLN) = 196 + 197 + 194 3 Tabel 4.4. Pengukuran Arus ke Beban Lampu = 195,7 Vac Pengukuran Ke I (A) 1 0,200 2 0,223 3 0,222 I = 0,2 + 0,223 + 0,222 3 = 0,215 A Karena tegangan jala-jala PLN yang relatif lebih rendah dari 220 Vac (teoritis) maka daya lampu pijar 60 W akan lebih kecil juga, dari hasil pengukuran tegangan dan arus, maka daya lampu menjadi : P (Lamp) = 195,7 x 0,215 = 42,0755 W 42 W
50 Dari perhitungan daya lampu diatas, kondisi lampu 60 W tidak tercapai, sehingga pada pengukuran selanjutnya nilai daya lampu 42 W ini menjadi acuan daya maksimal lampu pijar. Pada keadaan terang, redup atau gelap, maka nilai tegangan AC untuk menyalakan lampu pijar berubah-ubah. Berikut merupakan hasil pengukuran tegangan dan arus lampu pijar. Tabel 4.5. Tegangan dan Arus pada Lampu Pijar Ruangan Gelap (Lampu Terang) Arus Lampu (A) Tegangan Lampu (V) 0,223 193 0,222 189 0,222 192 0,222 184 0,222 190 Ruangan Redup (Lampu Redup) Arus Lampu (A) Tegangan Lampu (V) 0,133 119 0,132 102 0,134 120 0,130 110 0,131 112 Ruangan Terang (Lampu Padam) Arus Lampu (A) Tegangan Lampu (V) 0,008 0,6 0,008 0,7 Dari tabel 4.5 di atas, tegangan rata-rata lampu pijar pada kondisi gelap lebih besar daripada kondisi redup, ini sesuai dengan yang diharapkan dan penjelasan bentuk gelombang secara teoritis sebelumnya, dimana ketika kondisi redup tegangan DC variabel tinggi dan bentuk gelombang akan terpotong di akhir siklus kurva sinus dan menyebabkan nilai tegangan rata-rata kecil dan sebaliknya pada kondisi gelap tegangan DC variabel rendah dan bentuk gelombang terpotong di awal siklus gelombang sinus dan menyebabkan nilai tegangan rata-rata besar. Sementara untuk kondisi terang, lampu menyala sangat kecil sekali. Dari hasil pengukuran besarnya tegangan
51 dan arus pada lampu tersebut dapat kita hitung besarnya daya lampu pada masing-masing kondisi, dengan diasumsikan besarnya factor daya adalah 0,8. Kondisi ruangan gelap (Lampu menyala terang) : 193 + 189 + 192 + 184 + 190 V(Gelap) = = 189,6 Vac 5 0,223 + 0,222 + 0,222 + 0,222 + 0,222 I(Gelap) = = 0,222 A 5 P1(Gelap) = V. I. 0,8 = 189,6 x 0,222 x 0,8 = 33,68 W Kondisi ruangan redup (Lampu menyala redup) : 119 + 102 + 120 + 110 + 112 V(Redup) = = 112,6 Vac 5 0,133 + 0,132 + 0,134 + 0,130 + 0,131 I(Redup) = = 0,132 A 5 P2(Redup) = 112,6 x 0.132 x 0,8 = 11,89 W Kondisi terang : 0,6 + 0,7 V(Terang) = = 0,65 Vac 2 0,008 + 0,008 I(Terang) = = 0,008 A 2 P3(Terang) = 0,65 x 0,008 x 0,8 = 0.00416 W Dari hasil perhitungan di atas, didapatkan bahwa penggunaan lampu pada kondisi redup memakan daya yang lebih kecil yaitu sekitar 12 W dibandingkan pada kondisi gelap yaitu sekitar 34 W dari daya maksimal lampu yaitu 42 W. Dengan sistem otomatis seperti ini, pengaturan penggunaan daya untuk lampu dapat diminimalisir dibandingkan lampu tetap menyala dengan terang walaupun kondisi ruangan tidak membutuhkan sinar cahaya lampu secara penuh. Untuk perhitungan besarnya konsumsi daya dalam WattHour terdapat pada lampiran.
52 4.4.4. Pengujian Sensor Cahaya (LDR) Pengujian dilakukan dengan membuat kondisi ruangan menjadi gelap, redup, dan terang, lalu diukur berapa nilai tegangan yang terjadi pada saat-saat tersebut. Gambar-4.9. Rangkaian Sensor Cahaya Rangkaian untuk sistem ini menggunakan sistem pembagian tegangan antara tegangan LDR (V ) dan tegangan RV1 (V ) dengan tegangan input (Vref) yaitu +5VDC. Pengukuran dilakukan pada tegangan di LDR (V ). Berikut merupakan tabel hasil pengujian sensor cahaya. Tabel 4.6. Data Hasil Pengukuran Tegangan pada LDR Kondisi Gelap 2.56 Redup 1.83 Terang 0.07 V LDR (VDC) Dari Tabel 4.6 tersebut, hasil yang didapat sesuai dengan prinsip sensor LDR, dimana ketika tidak mendapat cahaya (gelap) nilai hambatannya besar sebaliknya ketika mendapat cahaya (terang) maka nilai hambatannya menurun/kecil. Dengan nilai arus yang sama, jika nilai resistansi besar maka didapatkan tegangan yang besar begitu pula dengan nilai resistansi yang kecil didapatkan tegangan yang rendah. Nilai resistansi LDR sendiri dapat dihitung dengan menggunakan rumus pembagian tegangan yang mengacu pada Gambar-4.9 tersebut, yaitu :
53 V = R R + R. V V. R = V. (R + R ) V = V + V. R R Maka didapatkan nilai R adalah : R = V. R V V 4.1 Dimana nilai R = 20,8 KΩ (hasil pengukuran) dan V = 5V, sehingga dengan menggunakan rumus 4.1 akan didapatkan besarnya R untuk masing-masing kondisi ruangan. Berikut merupakan hasil perhitungan besarnya R dengan menggunakan nilai V dari Tabel 4.6 di atas. Kondisi ruangan gelap didapatkan V = 2,56 V R = 2,56 V. 20,8 KΩ 5 V 2,56 V = 21823 Ω = 21,8 KΩ Kondisi ruangan redup didapatkan V = 1,83 V R = 1,83 V. 20,8 KΩ 5 V 1,83 V = 12007 Ω = 12 KΩ Kondisi ruangan terang didapatkan V = 0,07 V R = 0,07 V. 20,8 KΩ 5 V 0,07 V = 295,33 Ω = 0,29 KΩ Berikut merupakan grafik karakteristik LDR terhadap pencahayaan (iluminasi). Besarnya kuat cahaya dinyatakan dalam Lux.
54 Gambar-4.10. Grafik Resistansi LDR terhadap Iluminasi Dari gambar grafik tersebut dapat diketahui perbandingan besarnya resistansi LDR terhadap intensitas cahaya/iluminasi, yaitu : Untuk kondisi gelap dengan resistansi LDR sebesar 21,8 KΩ, intensitas cahaya berada di sekitar ± 10 Lux. Untuk kondisi redup dengan resistansi LDR sebesar 12 KΩ, intensitas cahaya berada di sekitar ± 20 Lux. Untuk kondisi terang dengan resistansi LDR sebesar 0,29 KΩ, intensitas cahaya berada di sekitar ± 9000 Lux. 4.4.5. Pengujian Nilai ADC Mikrokontroler AVR Pengujian dilakukan dengan menggunakan pemrograman BASCOM AVR untuk mendapatkan nilai ADC. Hasil yang didapat merupakan sebuah konversi dari nilai tegangan LDR yang didapat menjadi sebuah nilai ADC yang merupakan salah satu fitur dari BASCOM AVR ini. Berikut merupakan coding dari pemrograman ADC ini. ' program TES ADC.BAS ' $regfile = "m32def.dat" $crystal = 8000000 Config Lcdpin = Pin, Db4 = Portd.4, Db5 = Portd.5, Db6 = Portd.6, Db7 = Portd.7, E = Portd.2, Rs = Portd.0 Config Lcd = 16 * 2 Config Adc = Single, Prescaler = Auto, Reference = Avcc Start Adc Dim Data_adc As Word
55 Cursor Off Cls Locate 1, 1 Lcd " Selamat Datang " Locate 2, 1 Lcd " Tes ADC 2012 " Wait 1 Cls Do Data_adc = Getadc(0) Locate 1, 4 Lcd "Data ADC:" Locate 2, 6 Lcd Data_adc ; " " Waitms 200 Loop Perhitungan untuk mendapatkan nilai ADC adalah sebagai berikut : Dengan menggunakan ADC 10 bit, maka Resolusi ADC = 2 1 = 1023 level kuantisasi 4.2 Resolusi Tegangan (Q) yaitu : Q = Nilai ADC Resolusi ADC Nilai ADC x Vref = x Vref 4.3 1023 Maka untuk mendapatkan nilai ADC yaitu ; Nilai ADC = Q x 1023 4.4 Vref dan untuk mendapatkan nilai yang berbanding lurus antara naiknya intensitas cahaya dengan naiknya nilai ADC, maka : Q = Vref Tegangan LDR 4.5 Sehingga, Nilai ADC = Vref Tegangan LDR x 1023 4.6 Vref Dimana, Vref = 5 Vdc
56 Berikut merupakan pembagian nilai ADC dengan tiga kondisi ruangan yaitu : Gelap : 0 Nilai ADC 500 Redup : 500 < Nilai ADC 650 Terang : Nilai ADC > 650 Dari Tabel 4.6 di atas yang merupakan hasil besarnya tegangan LDR dapat dikonversi menjadi nilai ADC dengan menggunakan persamaan 4.6, yaitu : a) Kondisi Gelap Nilai ADC = 5 2.56 x 1023 = 499.2 level kuantisasi 5 Berikut tampilan nilai ADC pada LCD untuk kondisi gelap. b) Kondisi Redup Gambar-4.11. Data ADC untuk Kondisi Gelap Nilai ADC = 5 1.83 x 1023 = 648.6 level kuantisasi 5 Berikut tampilan nilai ADC pada LCD untuk kondisi redup. Gambar-4.12. Data ADC untuk Kondisi Redup
57 c) Kondisi Terang Nilai ADC = 5 0.07 x 1023 = 1008.7 level kuantisasi 5 Berikut tampilan nilai ADC pada LCD untuk kondisi terang. Gambar-4.13. Data ADC untuk Kondisi Terang Tabel berikut merupakan perbandingan antara nilai-nilai ADC dan besarnya daya lampu yang sudah didapat sebelumnya melalui perhitungan. Tabel 4.7. Perbandingan Antara ADC dengan Daya Lampu Kondisi ADC (level kuantisasi) Daya Lampu (W) Gelap 499.2 33.68 Redup 648.6 11.89 Terang 1008.7 0.00416 Dari tabel 4.7 di atas dapat dilihat bahwa semakin besar nilai ADC maka besarnya daya lampu akan semakin rendah dan akan mendekati nol yang menyebabkan lampu tidak menyala. Sebaliknya semakin kecil nilai ADC maka daya lampu akan semakin besar dan akan mendekati daya maksimal dari lampu tersebut. 4.4.6. Pengujian Sistem Secara Keseluruhan Pengujian dilakukan mulai dari sensor objek keberadaan ada tidaknya manusia yaitu dengan menggunakan limit switch sebagai dummy sensor, lalu mengubah kondisi ruangan menjadi gelap, redup, atau terang. Dari keadaan
58 keadaan tersebut terjadi perubahan nyalanya lampu pijar. Selain itu juga ditampilkan status keadaan melalui LCD. Berikut merupakan tampilantampilan LCD dari status keadaan sistem kerja alat tersebut. Gambar-4.14. Status Kondisi Keadaan Standby 1 Gambar-4.15. Status Kondisi Keadaan Standby 2 Gambar-4.16. Status Kondisi Ruangan Gelap Gambar-4.17. Status Kondisi Ruangan Redup
59 4.5. Pemrograman Gambar-4.18. Status Kondisi Ruangan Terang Untuk pemrograman dilakukan dengan menggunakan bahasa pemrograman BASCOM AVR. Berikut merupakan coding untuk pemrograman Automation Light Dimmer ini. '============================================================================= ' AUTOMATITATION LIGHT DIMMER ' Muhammad Jumadi Akhirudin ' 41410110067 ' Teknik Elektro ' Universitas Mercu Buana ' @2013 '============================================================================= $regfile = "m32def.dat" $crystal = 8000000 On Int0 Objek Langkah pertama dalam pembuatan coding ini yaitu mendeklarasikan pustaka/library berdasarkan mikrokontroler yang digunakan, dalam tugas akhir ini digunakan ATMega32 sehingga file yang dibutuhkan adalah m32def.dat. Sedangkan instruksi $crystal digunakan untuk menentukan frekuensi kerja dari mikrokontrolernya, yaitu menggunakan kristal 8MHz atau ditulis 8000000_Hz. Untuk instruksi On Int0 Objek yaitu jika interupsi terjadi maka terjadi lompatan proses ke sub-rutin Objek. Dengan demikian instruksi program akan melaksanakan proses-proses instruksi di dalam sub-rutin tersebut. Config Int0 = Low Level Config Portb = Output Config Portd = Input Config Portc = Output Config Lcdpin = Pin, Db4 = Portc.4, Db5 = Portc.5, Db6 = Portc.6, Db7 = Portc.7, E = Portc.2, Rs = Portc.0
60 Config Lcd = 16 * 2 Config Adc = Single, Prescaler = Auto, Reference = Avcc Port_ldr Alias Portb Start Adc Dim Data_adc As Word, Adc_convert As Single, Adc_string As String * 10 Langkah selanjutnya pada coding di atas yaitu melakukan konfigurasi terhadap input dan output, diantaranya konfigurasi untuk menggunakan timer 0 sebagai interupsi eksternal, Port B sebagai output untuk LED indikasi, Port D sebagai input interupsi eksternal, Port C sebagai output untuk LCD dan melakukan konfigurasi LCD, lalu kemudian melakukan konfigurasi ADC (Port A sebagai input ADC). Portd = 255 Enable Int0 Enable Interrupts Set Portc.1 menyalakan background LCD Do Portb.0 = 0 Portb.1 = 0 Portb.2 = 0 Portb.7 = 0 Cursor Off Cls Locate 1, 1 Lcd " Automatitation " Locate 2, 1 Lcd " Light Dimmer " Wait 2 Locate 1, 1 Lcd " Stand By " Locate 2, 1 Lcd " " Wait 1 Loop Pada coding program di atas, Portd = 255 yaitu untuk membuat output Port D semuanya bernilai logika high (Port D.0 D.7 = 1). Ini dikarenakan interupsi eksternal aktif low (berlogika 0). Sementara Enable Int0 dan Enable Interrupts yaitu perintah untuk mengaktifkan timer 0 yang digunakan sebagai program interupsi. Lalu perintah Set Portc.1 yaitu untuk membuat tampilan LCD menyala, ini merupakan salah satu optional dari fasilitas LCD dimana layarnya bisa terang (background menyala) atau redup (background tidak menyala). Program perintah DO LOOP merupakan perintah yang berulang, dimana dalam coding di atas dimulai dari Port B.0, B.1, B.2, dan B.7 dibuat logika low. Untuk tampilan LCD diawali dengan menghilangkan kursor (Cursor
61 Off) dan membersihkan layar (Cls), kemudian menuliskan karakter-karakter (Lcd_"Automatitation") pada baris bagian atas (Locate 1,1), dan karakter (Lcd_"Light Dimmer") pada baris bagian bawah (Locate 2,1). Selang 2 detik kemudian (Wait2), tampilan LCD berubah menjadi (Lcd_"Stand By") pada baris atas dan baris bawah dibuat kosong (Lcd " "). Dan selang 1 detik kemudian (Wait 1) perintah/instruksi kembali ke atas karena perintah DO LOOP tersebut. Instruksi ini akan terus menerus berulang selama tidak ada perintah interupsi eksternal dari Port D. Instruksi akan berhenti sesaat ketika ada perintah interupsi, dan jika interupsi telah selesai dilaksanakan maka instruksi DO LOOP ini kembali dijalankan. Objek: Set Portb.7 Data_adc = Getadc(0) If Data_adc >= 0 And Data_adc <= 500 Then 'gelap = PB2 Adc_convert = Data_adc - 358 ' Range adc : 358-1015 Adc_convert = Adc_convert / 657 ' 1015-358=657 Adc_convert = Adc_convert * 100 Adc_string = Fusing(adc_convert, "#.#") Gosub Ldr1 Elseif Data_adc > 500 And Data_adc <= 650 Then 'redup = PB1 Adc_convert = Data_adc - 358 ' Range adc : 358-1015 Adc_convert = Adc_convert / 657 ' 1015-358=657 Adc_convert = Adc_convert * 100 Adc_string = Fusing(adc_convert, "#.#") Gosub Ldr2 Elseif Data_adc > 650 Then 'terang = PB0 Adc_convert = Data_adc - 358 ' Range adc : 358-1015 Adc_convert = Adc_convert / 657 ' 1015-358=657 Adc_convert = Adc_convert * 100 Adc_string = Fusing(adc_convert, "#.#") Gosub Ldr3 End If Return Instruksi di atas merupakan proses sub-rutin Objek ketika perintah interuspi aktif. Proses yang terjadi yaitu proses manipulasi data input ADC di Port A.0 (Data_adc = Getadc(0)). Data tersebut merupakan data analog dari sensor
62 cahaya (LDR) yang kemudian diubah (convert) menjadi data digital. Manipulasi data tersebut dibagi menjadi tiga bagian yaitu : - kondisi gelap : (..Data_adc >= 0 And Data_adc <= 500..) - redup : (..Data_adc > 500 And Data_adc <= 650..) - terang : (..Data_adc > 650..) Masing-masing dari kondsi tersebut kemudian akan mengalami lompatan proses kembali yaitu menuju sub-rutin Ldr1, Ldr2, dan Ldr3. Ldr1: Cls Portb.0 = 0 Portb.1 = 0 Portb.2 = 1 Locate 1, 1 Lcd "Light Dimmer ON " Locate 2, 1 Lcd "DARK" Locate 2, 12 Lcd Adc_string ; "%" Waitms 200 Return Ldr2: Cls Portb.0 = 0 Portb.1 = 1 Portb.2 = 0 Locate 1, 1 Lcd "Light Dimmer ON " Locate 2, 1 Lcd "LOW LIGHT" Locate 2, 12 Lcd Adc_string ; "%" Waitms 200 Return Ldr3: Cls Portb.0 = 1 Portb.1 = 0 Portb.2 = 0 Locate 1, 1 Lcd "Light Dimmer ON " Locate 2, 1 Lcd "BRIGHT" Locate 2, 12 Lcd Adc_string ; "%" Waitms 200 Return Semua sub-rutin di atas berfungsi untuk menampilkan status dari hasil manipulasi data ADC ke LCD dan PortB (LED indikator). Pada LCD akan menampilkan karakter status dimmer aktif (Lcd_"Light Dimmer ON") di baris bagian atasnya (Locate 1,1), dan status kondisi ruangan (Lcd "DARK") atau
63 (Lcd_"LOW LIGHT") atau (Lcd "BRIGHT") di baris bagian bawahnya (Locate_2,1). Instruksi progam ini akan terus berlanjut selama masih ada perintah interupsi eksternal yang merupakan adanya keberadaan objek dan akan berubah juga status kondisi mengikuti kondisi pencahayaan ruangan.