Aplikasi fuzzy logic untuk pengendali pe

APLIKASI FUZZY LOGIC UNTUK PENGENDALI
PENERANGAN RUANGAN BERBASIS MIKROKONTROLER
ATMEGA8535
1. Penjelasan project
Suatu penerangan ruang diperlukan oleh manusia untuk mengenali objek
secara visual. Penerangan mempunyai pengaruh terhadap fungsi sebuah ruangan.
Oleh karena itu diperlukan lampu sebagai sumber penerangan utama yang dapat
menunjang fungsi ruangan. Umumnya untuk pengaturan penerangan ruangan
digunakan prinsip on-off. Pengaturan penerangan dengan prinsip on-off hanya
berdasarkan pada kondisi gelap terang ruangan, tanpa menghiraukan kontribusi dari
luar. Hal ini sering mengakibatkan ketidaknyamanan dan ketidakefisienan
penggunaan energi listrik. Oleh karena itu diperlukan pengaturan penerangan yang
dihasilkan lampu.
Prinsip kendali yang digunakan adalah kendali fuzzy. Sistem inferensi fuzzy
yang digunakan pengendali penerangan ruangan ini adalah Metode Mamdani.
Komposisi aturan menggunakan operator OR (union), sedangkan untuk defuzzifikasi
digunakan metode MOM (Mean of Maximum). Sebagai pengendali utama pada
sistem menggunakan miktokontroller ATmega8535 dengan input dari sensor cahaya
(LDR). Output dari pendendali selanjutnya ditampilkan LCD M1632 sebagai
penampil dan sebagai input rangkaian pengatur tegangan. Sistem ini bekerja di dalam
ruangan (in door) menggunakan maket rumah dengan tiga ruangan sebagai model.

Dalam pengujian perangkat keras dan lunak, diketahui bahwa sistem
pengendalian penerangan ruangan ini dapat menghemat energi. Dari pengujian
sensor cahaya diperoleh hubungan antara luminansi dan tegangan yang mendekati
linier, sehingga pengendalian dengan mikrokontroler ATmega8535 dapat bekerja
dengan baik.

TUGAS 5 OLEH DEDY DHARMAYASA

1

DASAR TEORI
1.1. Intensitas Penerangan (Iluminasi)
Intensitas penerangan (E) adalah pernyataan kuantitatif untuk intensitas
cahaya (I) yang menimpa atau sampai pada permukaan bidang. Intensitas penerngan
disebut pula iluminasi atau kuat penerangan.
Dengan menganggap sumber penerangan sebagai titk yang jaraknya (h) dari
bidang penerangan, maka iluminasi (E) dalam lux (lx) pada suatu titik pada bidang
penerangan adalah:

Pada skema dibawah ini X sebagai sumber cahaya, sehingga besarnya E pada

titik P dan Q adalah:

Gambar 2.1. Skema perumusan iluminasi (E)

1.2. Fuzzy Logic
Fuzzy logic pertama kali dikenalkan kepada publik oleh Lotfi Zadeh, seorang
profesor di University of California di Berkeley. Fuzzy logic digunakan untuk
menyatakan hukum operasional dari suatu sistem dengan ungkapan bahasa, bukan
dengan persamaan matematis. Banyak sistem yang terlalu kompleks untuk
dimodelkan secara akurat, meskipun dengan persamaan matematis yang kompleks.
Dalam kasus seperti itu, ungkapan bahasa yang digunakan dalam Fuzzy logic dapat
TUGAS 5 OLEH DEDY DHARMAYASA

2

membantu mendefinisikan karakteristik operasional sistem dengan lebih baik.
Ungkapan bahasa untuk karakteristik sistem biasanya dinyatakan dalam bentuk
implikasi logika, misalnya aturan Jika - Maka.
Pada teori himpunan klasik yang disebut juga dengan himpunan crisp
(himpunan tegas) hanya dikenal dua kemungkinan dalam fungsi keanggotaannya,

yaitu kemungkinan termasuk keanggotaan himpunan (logika 1) atau kemungkinan
berada di luar keanggotaannya (logika 0). Namun dalam teori himpunan fuzzy tidak
hanya memiliki dua kemungkinan dalam menentukan sifat keanggotaannya tetapi
memiliki derajat kenaggotaan yang nilainya antara 0 dan 1. fungsi yang menetapkan
nilai ini dinamakan fungsi keanggotaan yang disertakan dalam himpunan fuzzy. 2.7.1.
Notasi Himpunan Fuzzy
Misalkan U adalah kumpulan obyek yang secara umum dinyatakan dengan
{u}. U disebut semesta pembicaraan dan u mewakili elemen-elemen dari U. Suatu
himpunan fuzzy F dalam semesta pembicaaraan U dapat direpresentasikan oleh suatu
fungsi keanggotaan (membership function) |J,F yang mewakili nilai dalam interval
[0,1 ] untuk tiap u dalam U dinyatakan sebagai \xv = U -> [0,1]

TUGAS 5 OLEH DEDY DHARMAYASA

3

Himpunan fuzzy F dalam U biasanya dinyatakan sebagai himpunan pasangan
berurutan u dan derajat keanggotaan.
F = {(u,n f (u))|ueU}.............................................


(2.4)

Jika U kontinyu, himpunan fuzzy F dapat ditulis sebagai:

Jika U diskrit, himpunan fuzzy F dinyatakan sebagai:

1.2.1. Operasi Himpunan Fuzzy
Jika A dan B adalah dua buah himpunan Fuzzy dalam semesta pembicaraan
U dengan fungsi keanggotaan |J,A (U) dan |J,B (U), maka pada kedua himpunan Fuzzy
tersebut dapat berlaku operasi :
1. Kesamaan (equality)
Dua buah himpunan Fuzzy A dan B dapat dinyatakan sama jika :
HA(u) = HB(u); untuk semuau EU...................................................

(2.7)

2. Gabungan (union)
Fungsi keanggotaan dari gabungan dua buah himpunan Fuzzy A dan B,
HAUB, dapat dinyatakan sebagai :
HAUB(u) = max{|j,A(u),|j,B(u)}; untuk semuau e U...............................


(2.8)

3. Irisan (intersection)
Fungsi keanggotaan dari irisan dua buah himpunan Fuzzy A dan B, [IAHB,
dapat dinyatakan sebagai :

HAnB(u) = min{|j,A(u),|j,B(u)}; untuk semuau G U...............................

(2.9)

4. Komplemen (complement)
Fungsi keanggotaan dari komplemen himpunan Fuzzy A,

(i-, dapat

dinyatakan sebagai :
|j,-(u) = l-|j, A(u) ; untuk semua u

G


U

(2.10)

1.2.2. Pengendali Fuzzy Logic
Tujuan utama dalam system pengendali adalah mendapatka keluaran (outpu)
sebagai respon dari masukan (input). Dalam kendali dengan cara klasik, melibatkan
formula-formula matematika yang cukup rumit. Hal ini berbeda dengan kendali
fuzzy. Pengendali Fuzzy merupakan suatu sistem kendali yang berdasar pada basis
pengetahuan manusia didalam melakukan kendali terhadap suatu proses. Konsep
matematika yang mendasari logika fuzzy sangat sederhana dan mudah dimengerti.
Pendekatan fuzzy melibatkan aturan-aturan yang dinyatakan dalam kata-kata dan
tidak memerlukan presisi yang tinggi serta ada toleransi untuk data yang kurang
tepat. Struktur dasar sebuah pengendali Fuzzy diperlihatkan pada Gambar 2.9
.

Gambar 2.9. Struktur dasar pengendali Fuzzy

1.2.3.


Fuzzifikasi
Fuzzifikasi yaitu suatu proses untuk mengubah suatu masukan dari bentuk

tegas (crisp) menjadi fuzzy (variabel linguistik) yang biasanya disajikan dalam
bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya masingmasing.
1.2.4. Basis Aturan (Rule Base)
Basis aturan berisi aturan-aturan fuzzy yang digunakan untuk pengendalian
sistem. Aturan-aturan ini dibuat berdasarkan logika dan intuisi manusia, serta
berkaitan erat dengan jalan pikiran dan pengalaman pribadi yang membuatnya. Jadi
tidak salah bila dikatakan bahwa aturan ini bersifat subjektif, tergantung dari
ketajaman yang membuat.

Aturan yang telah ditetapkan digunakan untuk

menghubungkan antara variabel-variabel masukan dan variabel-variabel keluaran.
Aturan ini berbentuk 'JIKA - MAKA' (IF - THEN), sebagai contoh adalah : Aturan
1 : JIKA x adalah A1 DAN y adalah B1 MAKA z adalah C1 Aturan 2 : JIKA x
adalah A2 DAN y adalah B2 MAKA z adalah C2. Aturan i : JIKA x adalah Ai DAN y
adalah Bi MAKA z adalah Ci Dengan :

Ai (i = 1,2,3,.) adalah himpunan Fuzzy ke i untuk variabel masukan x
Bi (i = 1,2,3,.) adalah himpunan Fuzzy ke i untuk variabel masukan y
Ci (i = 1,2,3,.) adalah himpunan Fuzzy ke i untuk variabel keluaran z
2. GAMBAR RANGKAIAN DAN PENJELASANNYA
2.1. Mikrokontroler ATmega8535
Mikrokontroller ATmega8535 merupakan mikrokontroller generasi AVR (Alf
and Vegard's Risk processor). Mikrokontroller AVR memiliki arsitektur RISC
(Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dikemas dalam
kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 siklus

clock. 2.3.1. Arsitektur ATmega8535

Gambar 2.1. Diagram Blok Fungsional ATmega8535
(diambil dari data sheet ATmega8535)
Gambar 2.1. memperlihatkan bahwa ATmega8535 memiliki bagian sebagai
berikut
1.Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
2.ADC 10 bit sebanyak 8 saluran.
3.Tiga buah Timer/Counter dengan kemampuan pembandingan.
4.CPU yang terdiri atas 32 buah register.

5.Watchdog Timer dengan osilator internal.
1. SRAM sebesar 512 byte.
2. Memori Flash sebesar 8 Kb dengan kemampuan Read While Write.
3. Unit interupsi internal dan eksternal.
4. Port antarmuka SPI.
5. EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar
512 byte yang dapat diprogram saat operasi.
6. Antarmuka komparator analog.
7. Port USART untuk komunikasi serial dengan kecepatan maksimal 2,5 Mbps.
8. Sistem mikroprosessor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
2.1.1. Konfigurasi Pin ATmega8535

Gambar 3.1.1. Konfigurasi Pin ATmega8535
(diambil dari data sheet ATmega8535)

Konfigurasi pin ATmega8535 dapat dilihat pada Gambar 2.18. Secara
fungsional konfigurasi pin ATmega8535 sebagai berikut :
1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.
2. GND merupakan pin ground.

3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus untuk
Timer/Counter, Komparator analog, dan SPI.
5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin khusus untuk TWI,
Komparator analog, dan Timer Oscilator.
6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin khusus untuk
Komparator analog, Interupsi eksternal, dan Komunikasi serial.
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREF merupakan pin masukan tegangan referensi ADC.
2.2. Peta Memori
ATmega8535 memiliki ruang pengalamatan memori data dan memori
program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register
umum, 64 buah register I/O, dan 512 byte SRAM Internal.
Register dengan fungsi umum menempati space data pada alamat terbawah,
yaitu $00 sampai $1F, register khusus untuk menangani I/O dan kontrol
mikrokontroller menempati 64 alamat $20 hingga $5F, sedangkan SRAM 512 byte
pada alamat $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan Gambar
2.2.


Gambar 2.2. Konfigurasi Memori Data ATmega8535
(diambil dari data sheet ATmega8535)
Memori program yang terletak dalam Flash PEROM tersusun dalam word
karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATmega8535
memiliki 4 Kbyte x 16-bit Flash PEROM dengan alamat mulai dari $000 sampai
$FFF. AVR memiliki 12-bit Program Counter (PC) sehingga mampu mengalamati
isi Flash.

Gambar 2.21. Memori Program ATmega8535

(diambil dari data sheet ATmega8535)
ATmega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak
512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. 2.3.4. Status Register
(SREG)
Status Register merupakan register berisi status yang dihasilkan pada setiap
operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian
dari inti CPU mikrokontroller.

Gambar 2.22. Status Register ATmega8535
(diambil dari data sheet ATmega8535)
a. Bit 7 - I : Global Interrupt Enable
Bit yang harus diset untuk meng-enable interupsi.
b. Bit 6 - T : Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan
dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T
menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke
suatu bit dalam register GPR menggunakan instruksi BLD.
c. Bit 5 - H : Half Carry Flag
d. Bit 4 - S : Sign Bit
Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag-V
(two's complement overflow).
e. Bit 3 - V : Two's Complement Overflow Flag
Bit yang berguna untuk mendukung operasi aritmatika.
f.

Bit 2 - N : Negative Flag

Bit akan diset bila suatu operasi menghasilkan bilangan negatif.
g. Bit 1 - Z : Zero Flag
Bit akan diset bila hasil operasi yang diperoleh adalah nol. h.
Bit 0 - C : Carry Flag
Bit akan diset bila suatu operasi menghasilkan carry.
4. LDR
LDR (Light Dependent Resistant) merupakan suatu jenis tahanan yang sangat
peka terhadap cahaya. Sifat dari tahanan LDR ini adalah nilai tahanannya akan
berubah apabila terkena sinar atau cahaya. Apabila tidak terkena cahaya nilai
tahanannya akan besar dan sebaliknya apabila terkena cahaya nilai tahanannya akan
menjadi kecil. LDR terbuat dari bahan cadmium selenoide atau cadmium sulfide.
Film cadmium sulfide mempunyai tahanan yang besar jika tidak terkena sinar dan
apabila terkena sinar tahanan tersebut akan menurun. LDR banyak digunakan karena
mempunyai ukuran kecil, murah dan sensitivitas tinggi. Simbol LDR seperti
ditunjukan pada Gambar 2.22, sedangkan Gambar 2.23 menunjukkan grafik
hubungan antara resiatansi dan iluminasi
.

Gambar 4.1. Simbol LDR
(diambil dari data sheet LDR)

Gambar 4.1.1. Grafik hubungan antara resistansi dan iluminasi
(diambil dari data sheet LDR)
5 Triac
Pengaturan terhadap lampu listrik dapat dilakukan dengan pemotongan
gelombang sinusoida. Pemotongan terhadap gelombang sinus menyebabkan nilai
efektif arus berkurang sehingga lampu menjadi redup. Pemotongan gelombang sinus
dapat dilakukan menggunakan thyristor. Peredup menggunakan thyristor untuk
mengontrol gelombang penuh satu fasa yang menentukan kuantitas pemotongan
gelombang sinusoida. Prinsip dari kontrol sudut fasa untuk gelombang penuh satu
fasa dapat dijelaskan berdasarkan rangkaian pada Gambar 2.24. Energi mengalir ke
beban dikontrol dengan menunda sudut pemicuan thyristor T1 dan sudut pemicuan
thyristor T2. Selama tegangan masukan setengah siklus positif, daya yang mengalir
dikontrol oleh beberapa sudut tunda dari thyristor T1, dan thyristor T2 mengontrol
daya selama tegangan masukan setengah siklus negatif. Pulsa-pulsa yang dihasilkan
pada T1 dan T2terpisah 180°.

Gambar 5.1. Rangkaian pengontrol gelombang penuh satu fasa Bentuk
gelombang untuk tegangan masukan, tegangan keluaran, dan sinyal gerbang untuk
T1 dan T2 ditunjukkan pada Gambar 5.1.

Gambar 2.25. Bentuk gelombang pengontrol gelombang penuh satu fasa

SCR (Sillicon Controlled Rectifier) dan TRIAC (Bidirectional triode
thyristor) adalah alat thyristor yang paling sering digunakan (Petruzella 2002: 264).
Triac dapat bersifat konduktif dalam dua arah. Dalam hal ini dapat dianggap
sebagai dua buah thyristor yang terhubung invers-paralel dengan koneksi gerbang
seperti ditunjukkan pada Gambar 5.1.1. Triac mempunyai tiga terminal; terminal
utama 2 (MT2), terminal utama 1 atau (MT1), dan gerbang (G). Gambar 5.1.2.
menunjukan symbol triac.

Gambar 5.1.1. Rangkaian ekivalen triac

Gambar 5.1.2. Simbol triac
Jika terminal MT2 positif terhadap MT1, triac dapat di-on-kan dengan
memberikan sinyal gerbang positif antara G dan MT1. Jika terminal MT 2 negatif
terhadap MT1 maka triac dapat di-on-kan dengan memberikan sinyalpulsa negatif
antara G dan MT1. Tidak perlu memiliki kedua sinyal gerbang positif dan negative
dan triac dapat dihidupkan baik oleh sinyal gerbang positif maupun negative.
Karakteristik v-I dari triac diberikan Gambar 5.1.1. Arus I, disebut holding current
adalah arus minimun yang dibutuhkan untuk mempertahankan triac tetap on, Triac
merupakan komponen yang simetris dan mampu memberikan perfomansi yang sama
pada daerah kerja kuadran III dari grafik dengan kerja kuadran I. Sehingga Triac
dapat dioperasikan dikuadran I (tegangan dan arua gerbang positif) atau di kuadran
III (arus dan tegangan gerbang negatif).

Gambar 5.1.3. Karakteristik triac
PERANCANGAN ALAT
Perancangan sistem Pengendali Penerangan Ruangan meliputi perancangan
perangkat lunak (software) dan perangkat keras (hardware). Sistem yang dirancang
akan membentuk suatu sistem pengendali penerangan ruang. Pengendalian
penerangan ruang dilakukan dengan mengendalikan besarnya kuantitas cahaya yang
dihasilkan oleh lampu. Untuk pengendalian besarnya kuantitas cahaya, maka
dilakukan pengaturan tegangan yang diberikan ke lampu. Pada Gambar 3.1,
pengaturan tegangan dilakukan oleh blok pengatur tegangan berdasarkan output dari
pengendali fuzzy.

Gambar 5.2. Blok diagram sistem Pengendalian Penerangan satu Ruangan
Interaksi user dengan sistem dapat dilihat dari input yang diberikan yaitu
dengan menekan switch 1. Setelah switch 1 ditekan, input dari sensor cahaya diolah
oleh pengendali dengan metode fuzzy logic. Output dari pendendali selanjutnya
ditampilkan oleh penampil dan sebagai input rangkaian pengatur tegangan. Lampu
akan menyala sesuai dengan input yang diberikan oleh rangkaian pengatur tegangan.
Variabel keluaran dari proses yaitu intensitas cahaya yang dihasilkan lampu akan
berbaur dengan cahaya dari sumber luar menghasilkan iluminasi ruang Selanjutnya
iluminasi ruang diukur oleh sensor cahaya yang kemudian menghasilkan sinyal
sebagai masukan umpan balik bagi pengendali. Pengendali akan terus mengolah
sinyal masukan dan menghasilkan suatu nilai keluaran sehingga terbentuk suatu
sistem kendali loop tertutup. Sistem akan berhenti bekerja apabila user menekan
switch 1.
Sistem ini bekerja di dalam ruangan (in door) menggunakan maket rumah
dengan tiga ruangan sebagai model , dengan sumber penerangan yang berasal dari
lampu didalam ruang dan sumber penerangan dari luar. Maket rumah tersebut terdiri
dari tiga ruangan, yaitu ruang tamu/keluarga dengan ukuran 30x60 cm, ruang tidur
yang berukuran 30x30 cm, dan ruang baca yang berukuran 30x30 cm. Masingmasing ruangan menggunakan lampu pijar dengan daya berbeda-beda yang
disesuaikan dengan fungsi ruangan tersebut. Standar kuat penerangan dalam ruangan
untuk ruang keluarga, ruang tidur, dan ruang baca adalah 300, 50, dan 200 lux
(Muhaimin 2001: 145). Ruang keluarga menggunakan lampu dengan daya 20 watt,

ruang tidur menggunakan lampu dengan daya 5 watt, sedangkan ruang baca
menggunakan lampu dengan daya 15 watt. Karena penelitian yang dilakukan
menggunakan model, maka atrandar kuat penerangan tidak terpenuhi. Iluminasi yang
dihasilkan berdasar lampu yang terpasang, terukur untuk ruang keluarga, ruang ruang
tidur, dan ruang baca adalah 300, 70, dan 200 lux. Denah maket rumah ditunjukkan
oleh Gambar

3.2,

Gambar 3.3

menunjukkan

maket rumah

tampak depan.

Gambar 3.2. Denah Maket Rumah

sedangkan

Gambar 3.3. Maket Rumah Tampak Depan

3.3. Perancangan Perangkat Keras
Perancangan perangkat keras meliputi perancangan, rangkaian sensor cahaya,

bagian pengendali berbasiskan mikrokontroler ATmega8535, rangkaian penampil,
rangkain Solid State Relay (SSR). Blok diagram system perangkat keras ditunjukkan
pada gambar 3.4, sedangkan gambar rangkaian keseluruhan terlampir.

3.3.1. Sensor Cahaya
Rangkaian

sensor

cahaya

yang

digunakan

pada

pengendali

penerangan ruangan ditunjukkan pada Gambar 3.5. Sebagai sensor cahaya
adalah LDR (Light Dependent Resistor) yang berfungsi untuk mendeteksi
besarnya iluminasi di dalam ruangan. Pengendali penerangan ruangan ini
menggunakan enam buah LDR sebagai transducer yg mengubah energi cahaya
ke energi listrik yang selanjutnya akan diolah mikrokontroller. LDR 0 dan LDR 1
diletakkan di ruang 0, LDR 2 dan 3 diletakkan di ruang 1, sedangkan LDR 4
dan LDR 5 diletakkan di ruang 2. Masing-masing ruangan menggunakan 2
sensor. Sensor pertama diletakkan di dekat lampu, hal ini bertujuan supaya
iluminasi yang diukur sebagian besar bersumber dari lampu. Sedangkan sensor
kedua diletakkan dekat dengan sumber luar.

Gambar 3.5. Rangkaian sensor cahaya
3.3.2. Rangkaian Penampil
Penampil pada sistem Pengendali Penerangan Ruangan ini menggunakan
modul penyaji kristal cair (LCD) dengan tingkat kecerahan tinggi. Modul ini

merupakan modul penyaji kristal cair matrik titik dengan pengendali di dalamnya.
Pengendali ini mempunyai sebuah ROM/RAM pembangkit karakter di dalamnya dan
RAM data tampilan. Semua fungsi tampilan dikendalikan oleh instruksi-instruksi.
M1632 merupakan Modul LCD Matrix dengan konfigurasi 16 karakter dan 2
baris dengan setiap karakternya dibentuk oleh 8 barispixel dan 5 kolompixel (1 baris
pixel terakhir adalah kursor). Gambar 3.6. menunjukkan Modul LCD M1632. Dan
Gambar 3.7. menunjukkan hubungan antara layar LCD dengan HD44780 yang
merupakan mikrokontroller pengendali LCD dan mempunyai kemampuan untuk
mengatur proses scanning pada layar.

Gambar 3.6. Modul LCD M1632

Gambar 3.7. Hubungan HD44780 dengan LCD
(diambil dari data sheet HD44780)
Rangkaian ini berfungsi untuk menampilkan informasi sebagai berikut:
1. Nama alat

Setelah sistem dihubungkan dengan jala-jala PLN, pada baris pertama LCD akan
menampilkan " KENDALI LAMPU " dan baris kedua akan menampilkan "dgn
LOGIKA FUZZY"
2.

Identitas pembuat
1,5 detik setelah menampilkan nama alat, LCD akan menampilkan " N E T I K
A " pada baris pertama dan "== U N N E S ==" pada baris kedua.

3. Hasil pengukuran iluminasi, output dari pengendali fuzzy, dan periode pemicuan
PWM (Pulse Width Modulation)
Jika switch 1 ditekan maka sistem akan berjalan sehingga LCD dapat
menampilkan hasil pengukuran iluminasi, output dari pengendali fuzzy, dan
periode pemicuan PWM (Pulse Width Modulation). Baris pertama LCD
menampilkan hasil pembacaan iluminasi sensor pada ruang 0 (LDR 0 dan LDR
1) yang telah dikonversi menjadi bentuk digital. Baris kedua akan menampilkan
output pengendali fuzzy yang berupa nilai tegangan pengaturan, dan
menampilkan periode pemicuan PWM yang merupakan hasil konversi dari
output pengendali fuzzy. Apabila switch 0 ditekan sekali, LCD akan
menampilkan informasi hasil pengukuran iluminasi, output pengendali fuzzy, dan
periode pemicuan PWM dari ruang 1. Namun jika switch 0 ditekan dua kali, LCD
akan menampilkan informasi dari ruang 2.
Konfigurasi pin dari LCD dan alokasinya pada mikrokontroler ATmega8535
dapat dilihat pada Gambar 3.8.

Gambar 3.8. Rangkain LCD M1632
3.3.3. Modul pengatur tegangan
Sebagai pengatur tegangan, digunakan rangkaian Solid State Relay (SSR)
yang pada prinsipnya adalah penggabungan antara rangkaian optocoupler yang
menggunakan Zero Crossing Circuit di dalam MOC 3041 dan TRIAC. Gambar 3.9
menunjukkan gambar rangkaian SSR, sedangkan cara kerja rangkaian ini adalah
sebagai berikut:
Jika ada logika 1 pada input (IN) rangkaian ini, maka transistor BD139 akan
aktif dan sambungan Collector dan Emitter seolah-olah seperti saklar tertutup
sehingga arus akan lewat dari power suply melewati MOC kaki 1 dan 2. Hal ini akan
mengakibatkan dioda yang berada didalam MOC 3041 aktif dan transistor yang
berada di dalam MOC3041 juga aktif. Keadaan ini akan mengakibatkan arus dari
jala-jala 220VAC mengalir ke kaki Gate TRIAC dan akan memicu TRIAC tersebut.
Pemicuan ini mengakibatkan kaki MT1 dan MT2 akan terhubung dan jala-jala
220VAC akan mengalir melalui beban. Hal ini berakibat beban ON. C 10nF/400V
pada rangkaian ini berfungsi untuk mengurangi arus yang sangat besar saat beban
mulai ON.
Jika terdapat logik 0 pada input (IN) rangkaian ini, maka transistor BD139
tidak akan aktif dan sambungan kolektor emitor (CE) seolah-olah seperti saklar
tebuka. Hal ini mengakibatkan dioda dan transistor yang berada di dalam MOC3041
tidak aktif dan tidak akan ada pemicuan pada TRIAC sehingga beban tidak
terhubung ke jala-jala 220VAC atau dengan kata lain beban OFF. Pemberian logika
0

ataupun logika 1 tersebut dikendalikan oleh mikrokontroler.

Gambar 3.9. Rangkaian Solid State Relay
3.3.4. Mikrokontroler ATmega8535
Rangkaian ini bekerja sebagai unit pengendali agar sistem bekerja sesuai
dengan algoritma program.
Bagian input mikrokontroler di dalam rangkaian ini pin 0 - 5 Port A
terhubung dengan rangkaian sensor, sehingga system dapat mengolah besarnya
tegangan menjadi informasi besarnya iluminasi yang terukur oleh sensor.
Bagian output mikrokontroler Port B mikrokontroler ini terhubung dengan
rangkaian solid state relay untuk mengendalikan keadaan lampu dalam keadaan
terang, agak terang, redup, agak redup, atau padam. Pin 2 Port D terhubung dengan
rangkaian zero crossing detector. Pin 3 Port D terhubung dengan rangkaian switch 0
untuk melihat keadaan di masing-masing ruangan seperti yang terlihat pada
penampil. Pin 7 Port D terhubung dengan switch 1 untuk menjalankan system.
Sedangkan Port B untuk mengaktifkan tampilan pada penampil. Gambar rangkaian
sistem mikrokontroller ATmega8535 seperti terlihat pada gambar 3.10.

Gambar 3.10 . Rangkaian mikrokontroller ATmega8535

3. PROGRAM DAN PENJELASANNYA
Perangkat

lunak

yang

digunakan

untuk

membuat

program

mikrokontroler yaitu CodeVision AVR C Compiler dengan menggunakan
bahasa C. Selanjutnya program ini disimpan dalam memori data dan memori
program.
Inisialisasi

sistem

ATmega8353.

Pada

CodeWizardAVR

dilakukan

pengaturan Port A sebagai input ADC, Port B sebagai output lampu, Port C sebagai
output LCD, sedangkan Port D sebagai input zero crossing detector, switch 0 dan
switch 1. Timers yang digunakan adalah Timer2 dengan mode normal top = FFh
dan clock value 4 MHz. Dalam pemrograman digunakan variabel-variabel sebagai
berikut:
void r3(void)
{
GPR3=SDR3=TRR3=0;
mu_gpr3=mu_sdr3=mu_trr3=0;
// GELAP
mu=(127-ldr[x])*10;

if (ldr[x]>127) {mu=0;};
mu=mu/127;
if (mu>0) {
GPR3=1;
mu_gpr3=mu;
};
// SEDANG
if (ldr[x]0) {
SDR3=1;
mu_sdr3=mu;
}
}
// TERANG
else {
mu=((255-ldr[x])*10)/128;
if (mu>0) {
SDR3=1;
mu_sdr3=mu;
}
mu=((ldr[x]-127)*10)/128;
if (mu>0) {
TRR3=1;
mu_trr=mu;
};
};
}

Sedangkan untuk membaca besarnya sinyal dari LDR 0, LDR 2, dan LDR 4 dalam
program dituliskan sebagai berikut
ldr[x+1]=read_adc(x+1);
r5();

Sinyal-sinyal tersebut selanjutnya difuzzifikasi Berikut adalah penerjemahan
derajad keanggotaan input r5 (Gambar 3.13) kedalam bahasa pemrograman
Atmega8535.
void r5(void)
{
unsigned char y;
y=x+1;

GPR5= AGR5= RRR5= ATR5= TRR5= 0;
mu_gpr5= mu_agr5= mu_rrr5= mu_atr5= mu_trr5= 0;
// GELAP
if (ldr[y]0) {
GP=1; mu_gp=mu;
}
// AGAK GELAP
mu=(ldr[y]*10)/64;
if (mu>0) {
AG=1; mu_ag=mu;
}
}
if (ldr[y]>64 && ldr[y]0) {
AG=1; mu_ag=mu;
}
// REMANG-REMANG
mu=((ldr[y]-64)*10)/64;
if (mu>0) {
RR=1; mu_rr=mu;
}
}
if (ldr[y]>128 && ldr[y]0) {
RR=1; mu_rr=mu;
}
// AGAK TERANG
mu=((ldr[y]-128)*10)/64;
if (mu>0) {
AT=1; mu_at=mu;
}
}
if (ldr[y]>192) {
mu=((255-ldr[y])*10)/64;
if (mu>0)

{

AT=1; mu_at=mu;

}
//TERANG
mu=((ldr[y]-192)*10)/64;
if (mu>0) {
TR=1; mu_tr=mu;
}
}
}

Setelah input difuzzifikasi kemudian dilakukan evaluasi aturan (inferensi)
menggunakan basis aturan yang telah dirancang. Output yang diperoleh dari inferensi
selanjutnya didefuzzifikasi untuk mendapatkan output dalam bentuk nilai tegas.
Penerj emahan derajad keanggotaan output, basis aturan, dan defuzzifikasi kedalam
bahasa pemrogramn Atmega8535 adalah sebagai berikut:
// Global variables
char buf[33];
// Variabel fungsi keanggotaan input
unsigned int mu, mu_gpr3, mu_sdr3, mu_trr3, mu_gpr5, mu_agr5,
mu_rrr5, mu_atr5, mu_trr5,
GPR3, SDR3, TRR3, GPR5, AGR5, RRR5, ATR5, TRR5,
ldr[6], xx;
long int ot[6];
unsigned char room, rom, flg, x, out_fuz[6];
// Variabel fungsi keanggotaan output
unsigned int mu_pdot, mu_atot, mu_rdot, mu_srot, mu_trot;

Program dimulai dengan inisialisasi variabel awal pada menu utama:
void main(void)
{
unsigned char j;
xx=flg=0;
room=0;
x=0;
ot[0]=ot[1]=ot[2]=0;

Selanjutnya LCD akan menampilkan informasi nama alat dan identitas pembuat,
dalam pemrograman dituliskan sebagai berikut:
#asm("cli") // Global disable interrupts
lcd_init(16); // LCD module initialization
lcd_gotoxy(0,0); lcd_putsf(" KENDALI LAMPU");
lcd_gotoxy(0,1); lcd_putsf("dgn LOGIKA FUZZY"); delay_ms(1500);

lcd_clear();
#asm("sei") // Global enable interrupts
while (1)
{
lcd_gotoxy(0,0); lcd_putsf(" D E D Y ");
lcd_gotoxy(0,1); lcd_putsf("== U N D I K S H A ==");

Proses pengendalian dimulai apabila switch 1 ditekan
j=0;
while (PIND.7==1) {}
while (PIND.7==0) {}
while (j==0) {
if (PIND.7==0) {j=1;};

Untuk membaca besarnya sinyal dari LDR 0, LDR 2, dan LDR 4 dalam
program dituliskan sebagai berikut
ldr[x]=read_adc(x);
r3();

Sinyal-sinyal tersebut selanjutnya difuzzifikasi. Berikut adalah penerjemahan
derajad keanggotaan input r3 (Gambar 3.8) kedalam bahasa pemrograman
Atmega8535.
void r3(void)
{
GPR3=SDR3=TRR3=0;
mu_gpr3=mu_sdr3=mu_trr3=0;
// GELAP
mu=(127-ldr[x])*10;
if (ldr[x]>127) {mu=0;};
mu=mu/127;
if (mu>0) {
GPR3=1;
mu_gpr3=mu;
};
// SEDANG
if (ldr[x]0) {
SDR3=1;
mu_sdr3=mu;
}
}

// TERANG
else {
mu=((255-ldr[x])*10)/128;
if (mu>0) {
SDR3=1;
mu_sdr3=mu;
}
mu=((ldr[x]-127)*10)/128;
if (mu>0) {
TRR3=1;
mu_trr=mu;
};
};
}

Sedangkan untuk membaca besarnya sinyal dari LDR 0, LDR 2, dan LDR 4
dalam program dituliskan sebagai berikut
ldr[x+1]=read_adc(x+1);
r5();

Sinyal-sinyal tersebut selanjutnya difuzzifikasi Berikut adalah penerjemahan
derajad keanggotaan input r5 (Gambar 3.13) kedalam bahasa pemrograman
Atmega8535.
void r5(void)
{
unsigned char y;
y=x+1;
GPR5= AGR5= RRR5= ATR5= TRR5= 0;
mu_gpr5= mu_agr5= mu_rrr5= mu_atr5= mu_trr5= 0;
// GELAP
if (ldr[y]0) {
GP=1; mu_gp=mu;
}
// AGAK GELAP
mu=(ldr[y]*10)/64;
if (mu>0) {
AG=1; mu_ag=mu;
}
}

if (ldr[y]>64 && ldr[y]0) {
AG=1; mu_ag=mu;
}
// REMANG-REMANG
mu=((ldr[y]-64)*10)/64;
if (mu>0) {
RR=1; mu_rr=mu;
}
}
if (ldr[y]>128 && ldr[y]0) {
RR=1; mu_rr=mu;
}
// AGAK TERANG
mu=((ldr[y]-128)*10)/64;
if (mu>0) {
AT=1; mu_at=mu;
}
}
if (ldr[y]>192) {
mu=((255-ldr[y])*10)/64;
if (mu>0) {
AT=1; mu_at=mu;
}
//TERANG
mu=((ldr[y]-192)*10)/64;
if (mu>0) {
TR=1; mu_tr=mu;
}
}
}

Manfaat
Secara garis besar pembuatan alat ini bermaanfaat untuk mempelajari
penerapan metode fuzzy dalam pengendalian penerangan beberapa ruangan pada

sebuah rumah.
Kesimpulan
Berdasarkan perancangan dan pengujian yang telah dilakukan maka dapat
disimpulkan bahwa:
1. Pengendalian penerangan dalam ruang dengan memperhitungkan kontribusi
pencahayaan dari sumber luar kedalam ruangan dapat menghemat energi.
2. Sistem ATmega8535 berfungsi sebagai central processing unit yang
mengolah sinyal analog dari LDR menjadi suatu nilai keluaran yang berupa
waktu tundaan untuk pemicuan triac pada rancl mjgkaian solid state relay.
3. Jumlah ruangan yang dikendalikan oleh Sistem Pengendali Penerangan
Ruangan ini terbatas. Hal ini disebabkan oleh kapasitas ADC internal yang
berada di Port A Mikrokontroler ATmega8535 hanya terdiri dari 8 pin.
4. Mikrokontroller ATmega8535 dapat bekerja dengan baik karena hubungan
antara iluminasi dan tegangan mendekati linier.