T1 612006011 BAB III

(1)

26 3.1. Gambaran Umum Sistem

Sistem yang dirancang merupakan sistem pengatur intensitas cahaya lampu Philips Master LED. Sistem ini dapat mengatur intensitas cahaya lampu baik secara otomatis maupun secara manual. Perancangan terbagi atas 2 bagian, yaitu perancangan perangkat keras, dan perancangan perangkat lunak. Perangkat lunak terdiri atas 6 bagian, yaitu:

1. Modul catu daya

2. Modul zero crossing detector 3. Modul dimmer lampu 4. Modul TSOP

5. Modul mikrokontroler ATmega8

6. Modul PIR (Passive Infra Red) Paradox PA-465

Sedangkan perancangan perangkat lunak merupakan pemrograman terhadap mikrokontroler yang berperan sebagai pengendali utama sistem.


(2)

Gambar 3.1. Blok diagram sistem

3.2. Perancangan dan Realisasi Perangkat Keras 3.2.1. Modul catu daya

Modul catu daya menghasilkan tegangan sebesar 5 Volt DC dan 10 Volt DC. Masing-masing sumber tegangan tersebut berasal dari PLN sebesar 220 Vrms diturunkan menjadi 12 Vrms menggunakan trafo step down. Tegangan tersebut kemudian disearahkan dengan rangkaian diode bridge dan diratakan dengan kapasitor sehingga menghasilkan tegangan DC.


(3)

Gambar 3.2. Rangkaian catu daya 5 Volt DC dan 10 Volt DC

Dioda D1-D4 merupakan rangkaian penyearah tegangan berbentuk sinyal AC. Saat siklus tegangan positif, arus akan dilewatkan oleh D1 kemudian arus balikannya dikeluarkan oleh D3. Sedangkan saat siklus tegangan negatif, arus akan dilewatkan oleh D4 dan arus baliknya dikeluarkan lewat D2. Dengan demikian, baik tegangan saat siklus positif maupun siklus negatif disalurkan namun menjadi searah meskipun masih berbentuk setengah sinusoida.

Kapasitor C0 berfungsi untuk meratakan tegangan yang telah

searahkan oleh rangkaian diode. Waktu pengisian kapasitor lebih cepat daripada waktu pengosongannya sehingga tengangan kapasitor akan tetap karena telah terisi kembali sebelum kapasitor kosong. Sedangkan C1 berfungsi

D1 1N4001 D2 1N4001 D3 1N4001 D4 1N4001 12 ACPWR_IN 100uF/25V C1 FB 4 ON/OFF 5 GND 3 IN 1 OUT 2 U1 LM2576T-ADJ 1000uF/10V C2 6.8k R2 2.2k R1 D5 1N5822 100uH L1 2200uF/25V C0 100uF/25V C1 FB 4 ON/OFF 5 GND 3 IN 1 OUT 2 U1 LM2576T-ADJ 1000uF/10V C2 8.2k R4 1.2k R3 D5 1N5822 100uH L1


(4)

sebagai menghilang riak tegangan pada masukan LM2576. Sesuai dengan

datasheet, nilai C1 yang direkomendasikan adalah 100 µF.

R1 dan R2 merupakan tahanan pembagi tegangan untuk feedback bagi

LM2576. Nilai ini menentukan nilai tegangan keluaran LM2576 sesuai persamaan pada datasheet. Jika dipilih R1 = 2,2 k dan diinginkan tegangan

keluaran 5 Volt DC maka dapat dihitung R2 sebagai berikut:

� =� (1 +�2 �1)

5 = 1,23 1 + �2 2,2 k

�2 = 5

1,23−1 2,2 k

�2 = 6,743 k

Nilai yang paling mendekati hasil perhitungan R2 adalah 6,8 k dengan ralat 0,9 %.

Sedangkan untuk tegangan keluaran 10 Volt DC, dengan pemilihan nilai R1sebesar 1,2 kΩ dapat dihitung nilai R2 sebagai berikut:

� =� (1 +�2 1) 10 = 1,23 1 + �2

1,2 k

�2 = 10

1,23−1 1,2 k

�2 = 8,556 k

Sehingga dipasangkan R2 sebesar 8,2 k yang merupakan nilai terdekat dengan hasil perhitungan dengan ralat sebesar 1 %.


(5)

Dioda D5 merupakan diode freewheel yang berfungsi menghilangkan

overshoot tegangan negatif. Overshoot tegangan negatif terjadi karena

induktansi magnetis yang muncul saat catu daya berkurang secara tiba-tiba. Untuk keperluan ini perlu digunakan diode dengan kecepatan pensklaran yang tinggi karena LM2576 bekerja dengan frekuensi pensaklaran 52 kHz. Selain itu, D5 juga harus mampu menahan arus maksimum LM2576 sebesar 3 A dan

memiliki tegangan bias balik minimal 1,25 kali tegangan masukan maksimum. Sehingga sesuai dengan datasheet, pada rangkaian ini dapat digunakan diode schottky tipe 1N5822.

Induktor L1 berfungsi untuk menyimpan muatan saat pensaklaran

tersambung dan mengeluarkannya saat pensaklaran terputus. Sedangkan kapasitor C2 berfungsi untuk memperhalus tegangan keluaran LM2576.

3.2.2. Modul zero crossing detector

Modul zero crossing detector pada sistem ini berfungsi untuk mendeteksi keberadaan titik 0 (nol) Volt dari keluaran diode bridge. Dimana tegangan keluaran diode bridge ini merupakan hasil penyearahan trafo step

down dengan tegangan sebesar 12 VRMS. Berikut gambar rangkaian zero


(6)

Gambar 3.3. Rangkaian zero crossing detector

Gambar 3.4. Untai LM2576T-ADJ (5 Volt)

Transistor difungsikan sebagai saklar dengan memanfaatkan dua keadaan transistor yaitu kondisi tersumbat (cut-off) dan jenuh (saturation). Kondisi tersumbat terjadi saat IB= 0 A atau tidak ada arus masukan pada kaki basis sehingga IC= 0 A sesuai dengan persamaan

ℎ =� ..…...………. (3.1)

Sedangkan kondisi jenuh terjadi saat IB = IB (saturasi), VBE = 0,7 Volt dan VCE(saturasi) ≈ 0 Volt. Karena VCE ≈ 0 Volt maka tegangan keluaran = VCCsehingga dapat diperoleh IC (pada saat saturasi) sebagai berikut:

100uF/25V C1 FB 4 ON/OFF 5 GND 3 IN 1 OUT 2 U1 LM2576T-ADJ 1000uF/10V C2 6.8k R2 2.2k R1 D5 1N5822 100uH L1 2200uF/25V


(7)

� = ���

RC ...………...

(3.2)

� = 5 �

100Ω= 50 �

Dari nilai IC tersebut dapat dihitung IB: � = �

ℎ � = 50 �

120 = 416,67 µ

Dengan nilai IB diketahui, RB yang akan dipasang:

� = � − � � ………... (3.3)

� = (5− 0,7)�

416,67 µ = 10,32�Ω

Dengan demikian, dipasangkan resistor sebesar 10 kΩ yang mendekati nilai 10.32 kΩ pada kaki basis dengan ralat sebesar 3,2 %.

3.2.3. Modul dimmer lampu

Modul dimmer terdiri dari 2 bagian utama, yaitu MOC 3020 dan TRIAC BT136. MOC 3020 merupakan sensor optocoupler, yang berfungsi sebagai pemisah antara rangkaian power dengan rangkaian kontrol. Rangkaian kontrol yang dimaksud adalah mikrokontroler, sebagai pengatur

waktu ‘ON’ dan ‘OFF’ keluaran MOC 3020 ini. Sedangkan rangkaian power

menggunakan triac sebagai rangkaian pengendali tegangan yang masuk ke

lampu. Triac akan ‘ON’ ketika ada arus yang mengalir masuk ke gate, dan


(8)

sampai tegangan MT1 dan MT2 sudah mencapai nol volt maka kondisi kerja

triac akan berubah dari ‘ON’ ke ‘OFF’.

Gambar 3.5. Rangkaian driver pengatur intensitas lampu

Setiap terdeteksi pulsa dari keluaran zero crossing detector, mikrokontroler akan memicu kaki 1 MOC 3020. Mikrokontroler menggunakan PWM (Pulse Width Modulation) untuk mengatur waktu ‘ON’

dan ‘OFF’ MOC 3020 ini. Lamanya waktu ‘ON’ diatur secara manual oleh

pengguna.

Gambar 3.6. Sinyal Output TRIAC 330

220V AC

BT136 mikrokontroler

OPTOISO

360


(9)

Cara di atas disebut pengendalian daya dengan pergeseran fase. Daya pada beban dikendalikan dengan mengubah sudut hantar triac. Cara kerja triac dalam pengendalian fase ini adalah dengan cara memotong sebagian luasan dari tegangan AC yang berbentuk sinusoida, sebab triac dapat berubah dari kondisi tidak menghantar ke kondisi menghantar dan sebaliknya.

Gambar 3.7. Pengendalian fase (phase controller)

Untuk mengaktifkan MOC 3020 diperlukan picuan arus pada kaki 1 sebesar 15-30 mA. Tegangan masukan led berasal dari keluaran port mikrokontroler sebesar ± 5,06 Volt. Berdasarkan datasheet MOC 3020, LED membutuhkan tegangan sebesar 3 Volt untuk mengaktifkannya. Sehingga dapat dilakukan perhitungan terhadap Rin yang perlu dipasangkan pada masukan MOC 3020.

Untuk perhitungan arus minimum IFT :

IFT = (Vin –Vdioda) / Rin ………... (3.4) 15mA = (5,06 – 3) / Rin

Rin = 2,06V / 15mA Rin = 137 Ω


(10)

Untuk perhitungan arus maksimum IFT : IFT = (Vin – Vdioda) / Rin

30mA = (5,06 – 3) / Rin Rin = 2,06V / 30mA Rin = 68,667Ω

Sehingga dapat diketahui bahwa resistor yang dapat dipasang dengan jangkauan 68,667 Ω ≤ Rin ≤ 137 Ω. Maka dari itu dipasangkan hambatan

sebesar 100Ω pada kaki inputan untuk memicu MOC 3020. Ketika MOC ini

aktif maka MOC akan mengeluarkan arus pada kaki 4 yang terhubung dengan

kaki gate triac dan menyebabkan triac ‘ON’.

3.2.4. Modul TSOP

Pada modul ini digunakan TSOP dengan seri 1238 yang memilliki frekuensi carrier sebesar 38 kHz. TSOP ini digunakan untuk menerima data yang dikirimkan oleh remote control. Berikut untainya:

Gambar 3.8. Rangkaian TSOP 1238

Nilai R1 yang digunakan sebesar 100Ω dan 4,7uF digunakan untuk


(11)

dari pabrik yang berfungsi untuk mencegah terjadinya EOS (Electrical

Overstress). Electrical Overstress merupakan peristiwa dimana terjadi

kerusakan karena adanya arus atau tegangan yang besarnya melewati batas kemampuan komponen.

Data yang dikirimkan oleh remote diterima oleh TSOP kemudian dikirimkan ke mikrokontroler untuk diolah. Semua paket data yang dikeluarkan remote control telah mengandung frekuensi carrier dan dimodulasi dengan teknik PWM (Pulse Width Modulation). Pada perancangan kali ini digunakan Timer 1 untuk menghitung lebar pulsa yang dikirimkan remote. Lebar pulsa tersebut dihitung oleh mikrokontroler dengan ukuran 2 byte untuk tiap pulsa yang diterima. Kemudian byte tersebut digabungkan sehingga dapat menjadi sebuah bit data yang nantinya digunakan untuk diproses sebagai data remote.

Ada berbagai macam standar yang dapat digunakan untuk mendeteksi paket datanya, diantaranya yang terkenal adalah protokol RC5 dan protokol SIRC. Protokol RC5 digunakan oleh Philips, sedangkan protokol SIRC

(SONY TV Infrared Remote Control) digunakan oleh pabrikan Sony. Pada

modul TSOP ini digunakan pembacaan data remote dengan SIRC.

Sebuah paket data lengkap SIRC terdiri atas sebuah start bit dan 12 bit data dan sebuah frame space yang memisahkan sebuah frame dengan frame berikutnya. Dimana 12 bit data tersebut terbagi atas 7 bit command code (C6


(12)

LSB terlebih dahulu, sehingga C0 adalah data pertama yang diterima setelah start bit.

Gambar 3.9. Paket data yang dikirimkan protocol SIRC (http://www.sbprojects.com/knowledge/ir/sirc.php)

Untuk mengidentifikasi start bit, pulsa yang dikirimkan sebesar 2,4

ms. Data ‘0’ diwakili dengan 0,6 ms tidak ada pulsa, dan 0,6 ms ada pulsa, sehingga total waktu untuk mendeteksi data ‘0’ sebesar 1,2 ms. Sedangkan data ‘1’ diwakili dengan 0,6 ms tidak ada pulsa, dan 1,2 ms ada pulsa, sehingga total waktu yang dibutuhkan sebesar 1,8ms.

0,6ms 0,6ms 0,6ms 1,2ms

data ‘0’ data ‘1’

Gambar 3.10. Data ‘0’ dan data ‘1’ pada protokol SIRC

3.2.5. Modul mikrokontroler ATmega8

Pada modul ini, mikrokontroler ATmega8 digunakan untuk mengatur dan mengolah beberapa data, yaitu:


(13)

Pulsa yang dihasilkan modul zero crossing detector dimasukkan pada PORT D4 yang berfungsi sebagai interupsi eksternal 1 (satu) ATmega8. Interupsi eksternal ini nantinya digunakan sebagai penanda titik mulai waktu tunda yang diberikan pada MOC 3020.

2. Mengolah data remote control melalui perantara TSOP 1238. Data yang dikirimkan oleh remote control diterima mikrokontroler dan dimasukkan pada PORT D3 yang berfungsi sebagai interupsi eksternal 0 (nol). Sebuah paket data protokol SIRC terdiri atas 1 start bit dan 12 bit data, sehingga untuk sebuah paket data dilakukan interupsi eksternal sebanyak 13 kali.

Gambar 3.11. Interupsi remote control dan lebar pulsanya

Setiap kali interupsi terjadi, mikrokontroler akan mengaktifkan Timer1 untuk melakukan perhitungan lebar pulsa untuk tiap interupsi. Setelah perhitungan lebar pulsa itu dilakukan, dapat diketahui data mana yang merupakan start bit dan data mana yang merupakan bit data.


(14)

3. Mengatur lebar pulsa ‘ON’ dan ‘OFF’ untuk MOC3020.

Setelah mendapat interupsi eksternal dari modul zero crossing

detector, mikrokontroler akan mengaktifkan Timer 2 dengan nilai

pembanding sebesar OCR2. Untuk satu siklus, Timer 2 memiliki waktu maksimal selama 10 mS. Lamanya lebar pulsa ‘ON’ dan

‘OFF’ bergantung pada besarnya OCR2. Keluarannya pada PORT

D7 akan diberikan pada input (kaki 1) MOC 3020 untuk mengaktifkan MOC 3020.

4. Menerima dan mengolah data yang dari PIR Paradox PA-465. Data yang dikirimkan oleh sensor ini berupa nilai logika ‘0’

atau ‘1’. Ketika data yang diberikan bernilai ‘0’ selama selang

waktu 3 menit, berarti sensor ini tidak mendeteksi adanya orang dalam ruangan. Ketika dideteksi tidak ada orang dalam ruangan maka mikrokontroler akan secara otomatis menonaktifkan lampu. Tetapi apabila terdeteksi ada orang dalam ruangan, maka sensor ini

akan tetap bernilai ‘1’ dan lampu akan tetap menyala normal.

Pengendali mikro membutuhkan sumber osilator agar dapat bekerja. Pada perancangan ini, digunakan osilator dengan kristal 11,0592 MHz dan kapasitor 20 pF. Pemasangan osilator sesuai dengan gambar di bawah ini.


(15)

Gambar 3.12. Pemasangan osilator pada ATmega8

ATmega8 membutuhkan low-level reset jika akan me-reset ATmega8 secara manual, sehingga perlu ditambahkan sebuah rangkaian pe-reset pada ATmega8 yang dihubungkan pada kaki RESET. Pada rangkaian tersebut

dipakai kapasitor 10 μF untuk menstabilkan tegangan pada kaki RESET,

supaya pengendali mikro tidak ter-reset bila catu daya tidak stabil (tiba-tiba

turun). Sedangkan resistor 10 kΩ berfungsi untuk menunda pengisian

kapasitor sehingga kaki RESET tetap mendapatkan tegangan < 0,9 Volt (batas

atas tegangan reset) selama minimal 1,5 μs (lebar pulsa minimum reset).

Saat tombol reset ditekan, maka akan terjadi pengosongan kapasitor

seketika sehingga kaki RESET bernilai ‘0’. Pada saat tombol dilepas, maka

akan terjadi proses pengisian sesuai dengan persamaan berikut:

��� =� 1− −� ……….. (3.5)

Dengan Vcap(t) = tegangan kapasitor saat t detik, V = tegangan catu daya, t = waktu pengisian, τ = RC, R = tahanan resistor, C = kapasitansi kapasitor. Dengan demikian nilai t diperoleh:


(16)

��� =� 1− −�

0,9 = 5 1− −1k × 10μ 0,9

5 = 1−

10m

0,18 = 1− −10m −10m = 10,181k × 10μ

= 0,82 ln −10m = log 0,82

10 =−0,0862 = −0,0862 × −10�

= 0,862 � = 862 � ≫1,5 �


(17)

3.2.6. Modul PIR (Passive Infra Red) Paradox PA-465

Modul PIR Paradox PA-465 merupakan sensor yang berfungsi untuk mendeteksi pancaran sinar infra merah yang dipancarkan tubuh manusia. Sensor ini membutuhkan pasokan tegangan sebesar 9-16 VDC untuk mengaktifkannya. Paradox PA-465 memiliki daya jangkau sebesar 7 meter x 6 meter pada posisi ketinggian 2,5 meter dari permukaan tanah.

Ketika kondisi normal (tidak terdeteksi gerakan), LED warna merah akan mati (OFF) dan kontak relay NC dan C akan terhubung. Saat terdeteksi gerakan, LED warna merah akan menyala (ON) dan kontak relay NC dan C akan terputus. Ketika kaki C terhubung dengan +Vcc, maka saat terdeteksi adanya gerakan tegangan keluaran pada kaki NC akan bernilai ‘0’ (ground), saat tidak ada gerakan tegangan keluaran pada kaki kaki NC bernilai +Vcc (disini +Vcc berupa keluaran port mikrokontroller sekitar 5,06 V). Begitu juga sebaliknya apabila kaki C terhubung dengan ground.

3.3. Perancangan dan Realisasi Perangkat Lunak

Perangkat lunak yang dibuat digunakan untuk mengolah data dari modul zero

crossing detector dan juga mengatur lebar pulsa ‘ON’ dan ‘OFF’ pada input MOC

3020. Perangkat lunak juga mengolah data-data yang dikirim oleh remote control melalui sensor TSOP 1238. Secara umum cara kerja sistem sesuai dengan diagram alir pada Gambar 3.14.


(18)

Gambar 3.14. Diagram alir keseluruhan sistem

Pertama sistem akan mengecek data yang tersimpan di dalam EEPROM,

dimana data tersebut diberi label ‘level2’. Data dalam EEPROM merupakan level terakhir yang disimpan oleh pengguna. Setelah mendapatkan nilai level, sistem akan mengatur nilai OCR2 yang merupakan parameter yang berpengaruh lamanya waktu Timer 2 aktif. Lamanya waktu Timer 2 aktif akan berpengaruh terhadap lebar pulsa


(19)

‘OFF’ dan ‘ON’ pada masukan MOC 3020. Lebar pulsa‘OFF’ dan ‘ON’ secara tidak

langsung akan berpengaruh terhadap tegangan masukan lampu nantinya.

Karena menggunakan dimmer dengan karakteristik leading edge, sehingga

keluaran PORT D7 dibuat agar ‘OFF’ terlebih dahulu selama OCR2. Setelah nilai

TCNT2 sama dengan nilai OCR2, PORT D7 akan menghasilkan nilai logika ‘ON’ selama waktu 10 mS dikurangi dengan lamanya waktu yang diperlukan oleh OCR2. Setelah itu nilai TCNT2 akan di-reset. Setiap terdeteksi adanya interupsi eksternal dari zero crossing detector, perangkat lunak akan mengulang proses ini terus menerus.

Perangkat lunak juga didesain untuk dapat mendeteksi perubahan nilai dari

sensor PIR. Ketika sensor PIR memberikan logika ‘1’, maka sistem akan terus

berlangsung karena itu menandakan ada orang dalam ruangan. Sedangkan ketika terdeteksi tidak ada orang dalam ruangan dalam selang waktu 3 menit, selama selang waktu itu juga PIR akan memberikan logika ‘0’ kepada mikrokontroler dan mikrokontroler akan mengubah nilai level menjadi 0 (nol) untuk mematikan lampu. Apabila terdeteksi ada orang dalam ruangan, sensor PIR akan langsung memberikan

logika ‘1’ kepada mikrokontroler dan sistem berjalan dari awal lagi.

Selain itu perangkat lunak juga digunakan untuk membaca data yang dikirimkan oleh remote control dengan cara membaca lebar pulsa tiap data. Untuk tiap data yang dikirimkan akan mengaktifkan interupsi eksternal mikrokontroler dan secara otomatis perangkat lunak akan menghitung lebar pulsa yang dikirimkan untuk setiap interupsi yang terjadi. Berikut diagram alirnya.


(20)

(1)

Gambar 3.12. Pemasangan osilator pada ATmega8

ATmega8 membutuhkan low-level reset jika akan me-reset ATmega8 secara manual, sehingga perlu ditambahkan sebuah rangkaian pe-reset pada ATmega8 yang dihubungkan pada kaki RESET. Pada rangkaian tersebut dipakai kapasitor 10 μF untuk menstabilkan tegangan pada kaki RESET, supaya pengendali mikro tidak ter-reset bila catu daya tidak stabil (tiba-tiba turun). Sedangkan resistor 10 kΩ berfungsi untuk menunda pengisian kapasitor sehingga kaki RESET tetap mendapatkan tegangan < 0,9 Volt (batas atas tegangan reset) selama minimal 1,5 μs (lebar pulsa minimum reset).

Saat tombol reset ditekan, maka akan terjadi pengosongan kapasitor seketika sehingga kaki RESET bernilai ‘0’. Pada saat tombol dilepas, maka akan terjadi proses pengisian sesuai dengan persamaan berikut:

��� =� 1− −� ……….. (3.5) Dengan Vcap(t) = tegangan kapasitor saat t detik, V = tegangan catu daya, t = waktu pengisian, τ = RC, R = tahanan resistor, C = kapasitansi kapasitor. Dengan demikian nilai t diperoleh:


(2)

��� =� 1− −�

0,9 = 5 1− −1k × 10μ

0,9

5 = 1−

10m

0,18 = 1− −10m −10m = 10,181k × 10μ

= 0,82 ln −10m = log 0,82

10 =−0,0862 = −0,0862 × −10�

= 0,862 � = 862 � ≫1,5 �


(3)

3.2.6. Modul PIR (Passive Infra Red) Paradox PA-465

Modul PIR Paradox PA-465 merupakan sensor yang berfungsi untuk mendeteksi pancaran sinar infra merah yang dipancarkan tubuh manusia. Sensor ini membutuhkan pasokan tegangan sebesar 9-16 VDC untuk mengaktifkannya. Paradox PA-465 memiliki daya jangkau sebesar 7 meter x 6 meter pada posisi ketinggian 2,5 meter dari permukaan tanah.

Ketika kondisi normal (tidak terdeteksi gerakan), LED warna merah akan mati (OFF) dan kontak relay NC dan C akan terhubung. Saat terdeteksi gerakan, LED warna merah akan menyala (ON) dan kontak relay NC dan C akan terputus. Ketika kaki C terhubung dengan +Vcc, maka saat terdeteksi adanya gerakan tegangan keluaran pada kaki NC akan bernilai ‘0’ (ground), saat tidak ada gerakan tegangan keluaran pada kaki kaki NC bernilai +Vcc (disini +Vcc berupa keluaran port mikrokontroller sekitar 5,06 V). Begitu juga sebaliknya apabila kaki C terhubung dengan ground.

3.3. Perancangan dan Realisasi Perangkat Lunak

Perangkat lunak yang dibuat digunakan untuk mengolah data dari modul zero crossing detector dan juga mengatur lebar pulsa ‘ON’ dan ‘OFF’ pada input MOC 3020. Perangkat lunak juga mengolah data-data yang dikirim oleh remote control melalui sensor TSOP 1238. Secara umum cara kerja sistem sesuai dengan diagram alir pada Gambar 3.14.


(4)

Gambar 3.14. Diagram alir keseluruhan sistem

Pertama sistem akan mengecek data yang tersimpan di dalam EEPROM, dimana data tersebut diberi label ‘level2’. Data dalam EEPROM merupakan level terakhir yang disimpan oleh pengguna. Setelah mendapatkan nilai level, sistem akan mengatur nilai OCR2 yang merupakan parameter yang berpengaruh lamanya waktu Timer 2 aktif. Lamanya waktu Timer 2 aktif akan berpengaruh terhadap lebar pulsa


(5)

‘OFF’ dan ‘ON’ pada masukan MOC 3020. Lebar pulsa‘OFF’ dan ‘ON’ secara tidak langsung akan berpengaruh terhadap tegangan masukan lampu nantinya.

Karena menggunakan dimmer dengan karakteristik leading edge, sehingga keluaran PORT D7 dibuat agar ‘OFF’ terlebih dahulu selama OCR2. Setelah nilai TCNT2 sama dengan nilai OCR2, PORT D7 akan menghasilkan nilai logika ‘ON’ selama waktu 10 mS dikurangi dengan lamanya waktu yang diperlukan oleh OCR2. Setelah itu nilai TCNT2 akan di-reset. Setiap terdeteksi adanya interupsi eksternal dari zero crossing detector, perangkat lunak akan mengulang proses ini terus menerus.

Perangkat lunak juga didesain untuk dapat mendeteksi perubahan nilai dari sensor PIR. Ketika sensor PIR memberikan logika ‘1’, maka sistem akan terus berlangsung karena itu menandakan ada orang dalam ruangan. Sedangkan ketika terdeteksi tidak ada orang dalam ruangan dalam selang waktu 3 menit, selama selang waktu itu juga PIR akan memberikan logika ‘0’ kepada mikrokontroler dan mikrokontroler akan mengubah nilai level menjadi 0 (nol) untuk mematikan lampu. Apabila terdeteksi ada orang dalam ruangan, sensor PIR akan langsung memberikan logika ‘1’ kepada mikrokontroler dan sistem berjalan dari awal lagi.

Selain itu perangkat lunak juga digunakan untuk membaca data yang dikirimkan oleh remote control dengan cara membaca lebar pulsa tiap data. Untuk tiap data yang dikirimkan akan mengaktifkan interupsi eksternal mikrokontroler dan secara otomatis perangkat lunak akan menghitung lebar pulsa yang dikirimkan untuk setiap interupsi yang terjadi. Berikut diagram alirnya.


(6)