i LAPORAN PROYEK AKHIR SISTEM KEAMANAN PADA SEBUAH PINTU BERBASIS MIKROKONTROLER AT89S51 Diajukan untuk memenuhi Persyaratan Kelulusan Program Diploma Teknik Elektro Fakultas Teknik Universitas Gadjah Mada Yogyakarta Disusun oleh : ANDRE GUNAWAN 05/184321/NT/10755 PROGRAM DIPLOMA TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS GADJAH MADA YOGYAKARTA 2009
111
Embed
43557230 Sistem Keamanan Pada Sebuah Pintu Berbasis Mikrokontroller AT89S51
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
i
LAPORAN PROYEK AKHIR
SISTEM KEAMANAN PADA SEBUAH PINTU
BERBASIS MIKROKONTROLER AT89S51
Diajukan untuk memenuhi
Persyaratan Kelulusan Program Diploma Teknik Elektro
Fakultas Teknik Universitas Gadjah Mada
Yogyakarta
Disusun oleh :
ANDRE GUNAWAN
05/184321/NT/10755
PROGRAM DIPLOMA TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2009
ii
LAPORAN PROYEK AKHIR
SISTEM KEAMANAN PADA SEBUAH PINTU
BERBASIS MIKROKONTROLER AT89S51
Disusun oleh :
ANDRE GUNAWAN
05/184321/NT/10755
Telah diperiksa dan disetujui oleh :
Ketua Program Diploma Teknik Elektro
Fakultas Teknik Universitas Gadjah Mada
Ir. Lukman Subekti, M.T. NIP. 132 052 395
Dosen Pembimbing
Ir. Lukman Subekti, M.T. NIP. 132 052 395
iii
LAPORAN PROYEK AKHIR
SISTEM KEAMANAN PADA SEBUAH PINTU
BERBASIS MIKROKONTROLER AT89S51
Telah diuji dan dipertahankan dihadapan tim penguji
Serta dinyatakan lulus pada :
Hari : Selasa
Tanggal : 21 Juli 2008
Pukul : 15:00 WIB
Tempat : Ruang Sidang II
Progam Diploma Teknik Elektro
Fakultas Teknik Universitas Gadjah
Mada Yogyakarta
Tim Penguji,
1. Ketua Penguji Ma’un Budiyanto, S.T, M.T.
NIP. 132 232 018
4. Anggota Penguji
Hidayat Nur Isnianto, S.T. NIP. 132 302 693
3. Penguji Utama
Alif Subardono, S.T, M.T. NIP. 132 302 681
2. Sekretaris Penguji
Ir. Rizal NIP. 131 766 568
iv
HALAMAN PERSEMBAHAN
Proyek Akhir ini aku persembahkan untuk :
Kedua orang tua-ku yang telah memberikan semangat, doa, dan berbagai
macam nasehat serta selalu sabar walau terkadang aku sering
merepotkan
Kakak dan adik-ku : Mardalena, Yuni, Devi, dan Rachmah terima kasih
telah memperhatikan aku selama ini
Keponakan-ku Dzacky yang telah membangkitkan semangat-ku untuk
segera menyelesaikan Proyek Akhir ini
Almamater-ku...
HIDUP MAHASISWA !!!
v
Motto
Positive Thinking Before do Something
Jangan menyerah sebelum berperang, karena kita tidak tahu apa yang akan
terjadi di akhir perjuangan nanti. Begitu juga dengan proyek akhir, jangan takut
untuk melakukan hal yang baru dalam hidup ini, kegagalan adalah suatu
keberhasilan yang tertunda, anggap aja kegagalan itu sebagai tantangan, ga ada
yang sempurna di dunia ini, keberhasilan pasti dibayangi oleh kegagalan, hanya
Atheis yang mudah berputus asa.
Terus berkarya bagi negeri tercinta ini, tetep keren dan tetep asyik (kaya
saya ^_^), Stop Global Warming! And Go Green!.
vi
PRAKATA
Puji dan syukur kehadirat Allah SWT atas berkah dan rahmatnya yang
diberikan kepada penulis sehingga penulis dapat menyelesaikan proyek akhir
Sistem Keamanan Pada Sebuah Pintu Berbasis Mikrokontroler AT89S51.
Proyek akhir merupakan salah satu mata kuliah yang harus ditempuh oleh
mahasiswa Diploma Teknik Elektro Universitas Gadjah Mada dan merupakan
syarat bagi mahasiswa untuk memperoleh gelar Ahli madya. Proyek akhir akan
memberikan manfaat bagi mahasiswa, diantaranya mahasiswa dapat menemukan
langsung permasalahan saat membuat alat tersebut.
Penulis ingin mengucapkan terimakasih kepada seluruh pihak yang telah
membantu dalam pelaksanaan Proyek Akhir ini maupun dalam penyusunan
laporannya, di antaranya :
1. Bapak dan Ibu-ku yang telah memberikan dukungan, semangat,
do’a, nasehat, dan sangat sabar dalam menghadapi-ku, aku
bangga pada kalian.
2. Kakak dan adik-ku : Mardalena, Yuni, Devi, dan Rachmah
terimakasih telah memperhatikan-ku selama ini.
3. Keponakan-ku Dzacky yang memberikan semangat untuk
segera menyelesaikan Proyek Akhir ini.
4. Bapak Ir. Lukman Subekti, M.T selaku Ketua Program Diploma
Teknik Elektro Universitas Gadjah Mada dan sekaligus sebagai
dosen pembimbing, terimakasih atas bimbingan-nya.
vii
5. Bung Evan terimakasih banyak atas ilmu mikrokontroler-nya,
dan sekali lagi terimakasih telah meluangkan waktu untuk
mengajari penulis mikrokontroler.
6. Bung Aji MAPADEGAMA terimakasih atas tips dan trik
profesional-nya dalam menggunakan berbagai alat untuk
membuat hardware dari proyek akhir ini.
7. Temen-temen-ku yang ganteng dan cantik : Ginanjar, Irjason,
Wiwit, Abdi, Redha, Aji Budianto, Marlin, Mas Feryonika, Baja
0’6, Reza 0’6, Restu 0’6, Kiky 0’6, Akbar 0’6 (kapan-kapan
ngenet gratis ya Bar…), Chulis 0’6, Andika X-KHMTE
(makasih ya udah ngijinin pake ruangan-nya, lumayan tinggal
gratis…), Wendy 0’6 (insyaf wen…stop maksiat!), Arif gendut
0’7, Alvi, Ajeng (thank u jeng udah mau bantu, makasih ya),
Inez, Ana, yang terakhir… Indah, semuanya makasih yach…
8. Temen kost, Azmi thank u for everything.
9. Temen lama-ku : Feriza Lukman (Maneh), Yanuardi (Abe),
Mukhlas, Eko, Ali si item hahaha… dan Yohanes, terimakasih
atas dukungan-nya, terimakasih juga telah memantau
perkembangan proyek akhir ini, kalian memang top! markotop
dan sip! markosip pokoknya asyiklah…hihihi…thank u bro!.
10. Temen-temen di laboratorium teknik ketenagaan : Mas Eko,
Mas Sabar, Pak Slamet, terimakasih.
11. Temen seperjuangan di perang Vietnam, Danang Kreebo.
viii
12. Temen yang selalu menyusahkan, Irpan, dan Fauzan (ga kok
becanda…kalian temen yang ok, thank u yach!).
13. Sriwijaya FC Fans Club : Robby, Parizal, dan Sapta makasih ya
atas saran mekaniknya, kapan-kapan nonton bola bareng lagi.
14. Buat Ly, makasih ya say…^_^
15. Nia anak UNSRI makasih ya do’a-nya.
16. Mba penjual komponen elektronika di Sinar lama, cieeee…..
17. Seluruh civitas akademika Program Diploma Teknik Elektro
Universitas Gadjah Mada.
18. Semua pihak yang tidak mungkin penulis sebutkan satu-persatu.
Penulis menyadari bahwa laporan ini jauh dari sempurna. Oleh karena itu,
penulis sangat mengharapkan kritik dan saran yang sifatnya membangun guna
penyusunan laporan-laporan selanjutnya. Semoga laporan ini dapat bermanfaat bagi
rekan-rekan yang membacanya.
Yogyakarta, Juni 2009
Penulis
ix
DAFTAR ISI
HALAMAN JUDUL ................................................................................. i
HALAMAN PERSETUJUAN ................................................................. ii
HALAMAN PENGESAHAN ................................................................... iii
HALAMAN PERSEMBAHAN ............................................................... iv
HALAMAN MOTTO ............................................................................... v
PRAKATA ................................................................................................. vi
DAFTAR ISI .............................................................................................. ix
DAFTAR GAMBAR ................................................................................. xiii
DAFTAR TABEL ..................................................................................... xvi
BAB I PENDAHULUAN .......................................................................... 1
1.1 Latar Belakang ................................................................................ 1
1.2 Tujuan ............................................................................................. 2
3. Kondensator variabel (nilai kapasitasnya dapat diubah-ubah).
Pada kapasitor yang berukuran besar, nilai kapasitansi umumnya ditulis
dengan angka yang jelas. Lengkap dengan nilai tegangan maksimum dan
polaritasnya. Misalnya pada kapasitor elco dengan jelas tertulis kapasitansinya
sebesar 100µF25v yang artinya kapasitor/kondensator tersebut memiliki nilai
kapasitansi 100 µF dengan tegangan kerja maksimal yang diperbolehkan sebesar
25 volt.
Gambar 2.16 Kapasitor Elektrolit (Kapasitor Polar).
Kapasitor yang ukuran fisiknya kecil biasanya hanya bertuliskan 2 (dua)
atau 3 (tiga) angka saja. Jika hanya ada dua angka, satuannya adalah pF (pico
farads). Sebagai contoh, kapasitor yang bertuliskan dua angka 47, maka
kapasitansi kapasitor tersebut adalah 47 pF. Jika ada 3 digit, angka pertama dan
kedua menunjukkan nilai nominal, sedangkan angka ke-3 adalah faktor pengali.
Faktor pengali sesuai dengan angka nominalnya, berturut-turut 1 = 10, 2 = 100, 3
= 1.000, 4 = 10.000, 5 = 100.000 dan seterusnya.
Gambar 2.17 Kapasitor Non Polar.
30
IN
1 2 3
OU
TG
ND
Fungsi penggunaan kapasitor dalam suatu rangkaian adalah :
1. Sebagai kopling antara rangkaian yang satu dengan rangkaian yang
lain (Power Supply).
2. Sebagai filter dalam rangkaian Power Supply.
3. Sebagai pembangkit frekuensi dalam rangkaian antenna.
4. Untuk menghemat daya listrik pada lampu neon.
5. Menghilangkan bouncing (loncatan api) bila dipasang pada saklar.
2.4.4 IC Regulator
Catu daya yang baik selalu dilengkapi dengan regulator tegangan. Tujuan
pemasangan regulator tegangan pada catu daya adalah untuk menstabilkan
tegangan keluaran apabila terjadi perubahan tegangan masukan pada catu daya.
Fungsi lain dari regulator tegangan adalah untuk perlindungan dari terjadinya
hubung singkat pada beban.
Gambar 2.18 Bentuk Fisik IC LM 78XX.
Tipe regulator LM78XX adalah salah satu regulator tegangan tetap dengan
tiga terminal, yaitu terminal Vin, GND dan Vout. Regulator tegangan LM 78XX
dirancang sebagai regulator tegangan tetap, meskipun demikian dapat juga
keluaran dari regulator ini diatur tegangan dan arusnya melalui tambahan
komponen eksternal.
31
Cara pemasangan dari penerapan regulator tegangan tetap LM 78XX pada
catu daya ditunjukkan pada Gambar 2.19.
Gambar 2.19 Penerapan Regulator Tegangan Tetap LM 78XX.
2.4.4.1 Regulator LM7805
Regulator seri LM7805 mempunyai karateristik sebagai berikut:
a. Menstabilkan tegangan searah positif dengan masukan dari +7,5 volt
sampai +20 volt DC.
b. Tegangan keluaran +5 volt DC teregulasi.
c. Arus keluaran antara 5mA - 1A.
2.4.4.2 Regulator LM7809
Regulator seri LM7809 mempunyai karateristik sebagai berikut:
a. Menstabilkan tegangan searah positif dengan masukan dari +11,5 volt
sampai +21 volt DC.
b. Tegangan keluaran +9 volt DC teregulasi
c. Arus keluaran antara 5mA - 1A.
2.5 LCD LCM1602A
LCD Display dengan seri LCM1602A merupakan jenis LCD Display yang
mampu menampilkan 16 karakter dan terdiri dari 2 baris. Jenis LCD yang dipakai
Output
+C1
2200uF
+C2
10uF
Input
LM78xx1
2
3VIN
GN
D
VOUT
32
adalah jenis STN – Positive – Transflective, dengan warna karakter hitam dan
warna background display hijau.
Fungsi masing-masing pin LCD LCM1602A adalah sebagai berikut:
1. Pin 1 (Vss) berfungsi sebagai ground tegangan
2. Pin 2 (Vdd) berfungsi untuk pen-suplay tegangan LCD Controller
3. Pin 3 (Vo) dihubungkan dengan catu daya untuk power supply LCD
Panel 16 karakter x 2 baris, dalam hal ini tegangan sebelumnya
diberikan resistor variabel (trimpot) untuk pengaturan kecerahan LCD
Panel.
4. Pin 4 (RS) untuk pemilihan jenis register, jika bernilai 1 maka untuk
menampilkan karakter, jika 0 maka untuk memberikan kode instruksi
5. Pin 5 (R/W) untuk pemilihan operasi baca atau tulis, jika bernilai 1
maka akan dijalankan operasi baca, sedang jika bernilai 0 maka akan
dijalankan operasi tulis.
6. Pin 6 (E) berfungsi untuk enable terhadap data yang masuk.
7. Pin 7-14 (DB0 – DB7) sebagai masukan/keluaran data 8 bit.
8. Pin 15, 16 (LEDA, LEDK) berfungsi pensuplai LED cahaya
background.
33
Diagram Kotak LCD LCM1602A dapat dilihat pada Gambar 2.22.
Gambar 2.20 Diagram kotak LCD LCM1602A.
2.6 Driver Motor (L293)
Driver motor digunakan untuk mengontrol arah putaran dan kecepatan
motor dc yang merupakan penggerak utama dari rangkaian proyek akhir ini. IC
driver motor L293 yang didalamnya terdapat rangkaian H-Bridge akan
mengontrol putaran motor sesuai data masukan digital yang berasal dari
mikrokontroler AT89S51, dan pada IC L293 ini juga terdapat pin untuk
pengaturan aplikasi PWM (Pulse Width Modulator) yang akan mengatur
kecepatan motor dc yang dikendalikannya.
L293 memiliki rangkaian dual H-Bridge, sehingga mampu mengendalikan
dua buah motor DC sekalaigus. Konfigurasi pin driver motor L293 ditunjukkan
Gambar 2.22.
34
Gambar 2.21 Konfigurasi Pin Driver Motor L293.
Karakteristik dari driver motor L293 adalah :
1. Tegangan operasi supply smpai dengan 36 Volt.
2. Total arus DC sampai dengan 1A.
3. Tegangan saturasi rendah.
4. Tegangan logic ”0” sampai dengan 1,5 Volt.
5. Memiliki dua Enable input.
Fungsi dari tiap-tiap pin driver motor L293 adalah sebagai berikut
1. Output 1 dan Output 2 (pin 3 dan pin 6)
Pin ini merupakan output untuk bridge A.
2. Vs (pin 8)
Merupakan pin supply tegangan untuk output.
3. Input 1 dan Input 2 (pin 2 dan pin 7)
Pin ini digunakan untuk mengontrol bridge A.
4. Enable 1 dan Enable 2 (pin 1 dan pin 9)
35
Pin ini berfungsi untuk mengaktifkan dan me-nonaktifkan bridge A
dan bridge B.
5. Ground (pin 4, 5, 12, dan 13)
Berfungsi sebagai grounding rangkaian driver.
6. Vss (pin 16)
Pin ini berfungsi sebagai supply logic untuk driver.
7. Input 3 dan Input 4 (pin 10 dan 15)
Berfungsi sebagai masukan pada bridge B.
8. Output 3 dan Output 4 (11 dan 14)
Merupakan pin output untuk bridge B.
Rangkaian driver motor L293 ditunjukkan pada Gambar 2.22.
Gambar 2.22 Rangkaian Driver Motor.
2.7 Motor DC
Motor DC memiliki dua bagian dasar yaitu rotor dan stator, rotor adalah
bagian yang berputar, sedangkan bagian yang statis disebut stator. Motor DC
bekerja berdasarkan medan magnet yang dihasilkan oleh kumparan. Semakin
besar arus yang melewati kumparan motor, makin cepat putaran motor. Arah
36
putaran motor dapat dikendalikan dengan mengatur arah arus yang melalui
kumparan.
Gambar 2.23 Gaya Lorentz.
Arah putaran motor dapat dikendalikan dengan mengatur arah arus yang
melalui kumparan. Hukum gaya Lorentz menyatakan arus yang mengalir melalui
konduktor jika ditempatkan dalam medan magnet akan menghasilkan gaya (F)
yang tegak lurus dengan arah arus(I), dan tegak lurus dengan arah flux (B). Arah
gaya (F) ditentukan dengan aturan tangan kanan, jari yang dikepalkan
menunjukan arah flux sedangkan ibu jari menunjukan arah resultan gaya yang
dihasilkan.
Dalam penggunaan motor dc ada beberapa hal yang perlu diperhatikan
yaitu torsi, kecepatan, daya dan energi. Torsi adalah kemampuan motor untuk
memutar atau disebut juga dengan gaya putar diberi satuan newton-meter (Nm).
Torsi merupakan gaya dikalikan jarak. Jika pada sebuah roda diameter
semakin besar, maka torsipun semakin besar disisi lain jarak tempuh satu putaran
roda akan menempuh jarak yang lebih besar. Hal ini akan menyebabkan kondisi
dimana torsi menjadi tinggi dengan kecepatan rendah atau sebaliknya torsi rendah
dengan kecepatan tinggi. Dalam kaitannya dengan motor listrik, kita perlu
37
membedakan antara daya listrik dengan daya mekanik. Daya listrik adalah satuan
listrik yang digunakan oleh motor sedangkan daya mekanik adalah daya yang
dihasilkan oleh motor, unit satuan dari daya listrik dan daya mekanik adalah watt
tapi satuan horsepower (hp) masih sering digunakan untuk mengukur daya
mekanik.
2.8 Limit Switch
Limit switch adalah suatu alat yang berfungsi untuk memutuskan dan
menghubungkan arus listrik pada suatu rangkaian,berdasarkan struktur mekanik
dari limit switch itu sendiri. Limit switch memiliki tiga buah terminal, yaitu :
central terminal, normally close (NC) terminal, dan normally open (NO)
terminal.
Gambar 2.24 Diagram Garis Limit Switch.
Sesuai dengan namanya, limit switch digunakan untuk membatasi kerja
dari suatu alat yang sedang beroperasi. Terminal NC, NO dan central dapat
digunakan untuk memutuskan aliran listrik pada suatu rangkaian atau sebaliknya.
2.9 Switch
Switch atau saklar adalah suatu alat yang berfungsi untuk memutuskan
menghubungkan arus listrik pada rangkaian. Switch banyak digunakan sebagai
tombol ON dan OFF untuk mengaktifkan dan me-non aktifkan beban
38
BAB III
PEMBUATAN ALAT
3.1 Blok Diagram Sistem
Gambar 3.1 Blok Diagram Sistem.
Sistem keamanan pada sebuah pintu ini terdiri dari pemancar infra merah
sebagai pengirim data, penerima infra merah sebagai penerima data,
mikrokontroler AT89S51 sebagai sistem yang mengendalikan semua proses, LCD
Mikrokontroler
AT89S51
Penerima
Infra Merah
LCD 16x2
Limit Switch 1
Limit Switch 2
Pemancar
Infra Merah
Catu Daya
5 volt
Baterai 3 Volt
Switch
38
Motor 1
Motor 2
Driver Motor
Catu Daya
9 volt
39
16x2 sebagai penampil, dan driver motor L293D. Secara keseluruhan sistem ini
terdiri dari masukan, proses, dan keluaran.
3.2 Gambaran Sistem Secara Umum
Cara kerja dari alat ini dimulai dari penekanan keypad pada remote control
yang memancarkan infra merah untuk mengirim data ke rangkaian penerima infra
merah yang terhubung ke mikrokontroler, kemudian mikrokontroler
menginisialisasi data tersebut dan menampilkannya ke LCD, apabila data tersebut
sesuai dengan apa yang terprogram pada mikrokontroler sebelumnya maka
mikrokontroler akan melanjutkan proses untuk menggerakkan motor DC melalui
driver motor, apabila data tidak sesuai, mikrokontroler akan memberi intruksi
mengulang ke penekanan keypad. Motor DC yang digerakkan ada 2 buah, kedua
motor dc tersebut bekerja secara bergantian sesuai dengan urutannya, untuk
membatasi gerak dari kedua motor DC tersebut dipasang 2 buah limit switch
dikedua sisi pintu agar motor dapat bekerja secara bergantian. Intinya adalah
untuk membuka dan menutup pintu sekaligus menguncinya memerlukan
password yang datanya dikirim oleh pemancar infra merah.
3.3 Pembuatan Perangkat Keras
Perancangan hardware sistem keamanan pada sebuah pintu berbasis
mikrokontroler AT89S51 terdiri dari 2 bagian yaitu bagian mekanik dan elektrik.
3.3.1 Pembuatan Bagian Mekanik
Perancangan sistem keamanan pada sebuah pintu ini memiliki design
mekanik yang sederhana antara bagian mekanik maupun elektrik agar sistem
40
keamanan pada sebuah pintu ini dapat diprogram dan dijalankan sesuai dengan
yang diharapkan.
Gambar 3.2 Pintu Tampak Depan
Material yang digunakan untuk membuat rangka sistem keamanan pada
sebuah pintu ini menggunakan bahan dasar dari kayu dengan ketebalan 2 cm dan
pintunya terbuat dari akrilik setebal 3 mm.
Pintu pada alat ini digerakkan oleh motor DC, design-nya ditunjukkan
oleh Gambar 3.3 sebagai berikut :
Gambar 3.3 Mekanik Penggerak Pintu.
Roda Pintu
Motor DC
Belt
Gear Motor
Gear Roda
41
Kedua buah gear digunakan untuk menggerakkan pintu agar dapat
berfungsi membuka dan menutup pintu, sedangkan belt berfungsi sebagai
penghubung yang menghubungkan gear motor dengan gear roda agar arah
putaran motor dan roda menjadi satu tujuan. Roda pada pintu ini berjenis pulley,
yaitu roda yang memiliki celah pada bagian tengah, celah tersebut digunakan
sebagai tempat untuk jalur roda. Bentuk mekanik sistem keamanan pada sebuah
pintu secara keseluruhan ditunjukkan oleh Gambar 3.4 sebagai berikut :
Gambar 3.4 Mekanik Pintu.
Pintu pada rangkaian proyek akhir ini memiliki dua buah jalur untuk
bergerak membuka dan menutup pintu, yaitu jalur pada bagian atas dan jalur pada
bagian bawah, jalur pada bagian atas berfungsi untuk menahan pintu agar tetap
seimbang pada saat pintu tersebut bergerak, bahan yang digunakan dalam
pembuatan jalur bagian atas ini terbuat dari akrilik setebal 1 cm yang pada bagian
tengahnya dibuat celah selebar 3 mm sebagai tempat untuk memasukkan pintu,
sedangkan jalur pada bagian bawah digunakan untuk jalur roda, bahan yang
42
digunakan dalam pembuatan jalur bagian bawah ini terbuat selongsong besi
berdiameter 3 mm.
3.3.2 Pembuatan Bagian Elektrik
3.3.2.1 Sistem Keamanan Pada Sebuah Pintu Dengan AT89S51
Pada modul kendali utama ini dibuat terintegrasi antara mikrokontroler
AT89S51, penampil LCD, limit switch, switch, modul penerima infra merah, dan
driver motor. Sistem keamanan pada sebuah pintu dengan AT89S51 ditunjukkan
Gambar 3.5.
Gambar 3.5 Sistem Keamanan Pada Sebuah Pintu Dengan AT89S51.
43
3.3.2.2 Rangkaian Catu Daya (Power Supply)
Sistem keamanan pada sebuah pintu berbasis mikrokontroler AT89S51 ini
memerlukan tegangan DC untuk beroprasi, sehingga diperlukan rangkaian
rectifier (penyearah) untuk merubah tegangan AC menjadi DC, rangkaian
penyearahnya menggunakan dioda. Sumber tegangan dari PLN adalah 220 V
dengan arus bolak-balik, oleh karena itu diperlukan transformator step-down
untuk menurunkan tegangannya kerena rangakaian pada proyek akhir ini hanya
membutuhkan tegangan maksimal 9 V DC. Rangkaian proyek akhir ini
memanfaatkan IC regulator LM7805 dan LM7809 sebagai penyedia dayanya.
Penggunaan IC regulator LM7805 dan LM7809 dimaksudkan agar out-put dari
rangkaian power supply ini memiliki tegangan yang stabil, LM7805 akan
menghasilkan tegangan keluaran sebesar 5 V dan LM7809 akan menghasilkan
tegangan keluaran sebesar 9 V, LM7805 digunakan untuk pemberi tegangan pada
LCD 16x2 karakter, driver motor L293 sebagai sumber tegangan logik-nya, dan
digunakan juga untuk modul penerima infra merah, sedangkan LM7809
digunakan untuk pemberi tegangan pada mikrokontroler (rangkaian
mikrokontroler dilengkapi dengan regulator LM7805), motor DC 1 (motor
penggerak kunci/central lock) dan motor DC 2 (motor penggerak pintu). Gambar
schematic rangkaian power supply ditunjukkan oleh Gambar 3.6.
44
Gambar 3.6 Power Supply Schematic.
Transformator yang digunakan untuk rangkaian ini adalah transformator
step-down dengan jenis centre tap yang memiliki dua buah tegangan yang
nilainya sama di kumparan sekundernya dan ct bertindak sebagai ground,
transformator ini memiliki kapasitas arus sebesar 2 A yang akan digunakan untuk
mengoprasikan masing-masing komponen, walaupun sumber tegangan berasal
dari satu transformator tetapi pemasangan IC regulator di terminal out-put
transformatornya dibuat berbeda, hal ini digunakan untuk memaksimalkan kerja
dari masing-masing IC regulator, apabila terlalu banyak percabangan untuk
pembagian tegangan dalam satu rangkaian yang menggunakan dua buah IC
regulator, maka arus yang masuk dan melewati percabangan akan terbagi dua,
sehingga dikhawatirkan IC regulator akan menerima arus yang tidak sesuai
45
dengan kebutuhan beban yang dipasang, akibatnya beban tidak dapat beroperasi
sebagaimana mestinya.
Pemasangan kapasitor pada rangkaian power supply ini digunakan sebagai
penapis (filter) untuk menapis riak gelombang keluaran (ripple) dari penyearah
agar lebih halus sehingga mendekati bentuk gelombang DC murni.. nilai kapasitor
yang dipasang pada rangkaian regulator LM7805 adalah 2200 uF/25 V, sedangkan
untuk rangkaian regulator LM7809 adalah 1000 uF/25 V.
Rangkaian regulator dengan IC LM78XX dapat bekerja apabila tegangan
masukannya lebih besar dari tegangan keluaran regulatornya, untuk perbedaan
tegangan masukan terhadap tegangan keluarannya direkomendasikan di dalam
datasheet komponen tersebut. Pemakaian heatshink (aluminium pendingin) pada
rangkaian regulator yang dialiri arus besar sangat baik untuk digunakan, karena
heatshink dapat meredam panas berlebih, sehingga IC regulator LM78XX
menjadi awet. Di dalam datasheet dijelaskan, IC regulator LM78XX dapat
dilewati arus mencapai 1 A.
3.3.2.3 Remote Control
Remote control pada alat ini berfungsi mengirimkan data yang akan
diproses oleh mikrokontroler untuk melanjutkan intruksi selanjutnya. Remote
control terdiri dari keypad matrik, catu daya, dan rangkaian pemancar infra
merah, data yang dikirimkan oleh remote ini berupa nomor pin (personal
indentification number) yang digunakan sebagai password untuk membuka dan
menutup pintu sekaligus menguncinya. Remote control infra merah bergerak
dengan menggunakan media cahaya untuk perambatannya, gelombang cahaya ini
46
berada pada spektrum infra merah, di mana secara fisik komunikasinya dilakukan
oleh LED infra merah yang berfungsi sebagai transmitter dan modul penerima
infra merah sebagai receiver, hal ini disebut dengan encoding system.
Catu daya yang digunakan sebagai sumber tegangan pada rangkaian
remote control ini menggunakan 2 buah baterai AA 1,5 V yang dirangkai secara
seri, sehingga tegangan totalnya ± 3 volt. Catu daya ini mensuplai tegangan
rangkaian pemancar. Rangkaian catu daya yang digunakan pada rangkaian remote
control dapat dilihat pada Gambar 3.7.
Gambar 3.7. Rangkaian catu daya pada remote control.
3.3.2.4 Penerima Infra Merah
Sensor penerima infra merah yang digunakan adalah modul penerima infra
merah IRM8510. Rangkaian IRM8510 ditunjukkan Gambar 3.8.
Gambar 3.8 Rangkaian IRM8510.
BT1
1,5V
3V
BT2
1,5V
47
Dari rangkaian penerima IRM8510 dapat dijelaskan bahwa cahaya infra
merah diterima oleh photodiode, kemudian sinyal yang masuk ke rangkaian
amplifier dikuatkan untuk diproses kembali, setelah dikuatkan, sinyal tersebut
akan dibatasi kecepatan transfer datanya oleh rangkaian limitter dan data yang
masuk ke rangkaian BPF (Band Pass Frequency) akan diatur frekuensi
keluarannya, apabila frekuensi telah sesuai, data analog dari sinyal tersebut diubah
menjadi data digital oleh rangkaian demodulation dan data digital tersebut diatur
kembali oleh rangkaian wave form arrangement sebelum dikeluarkan.
Sensor ini berfungsi menerima sinyal infra merah yang dipancarkan oleh
remote control. Pada dasarnya, data yang dikirimkan oleh remote control disertai
frekuensi pembawa. Hal ini dimaksudkan agar data dapat ditransmisikan untuk
mencapai jarak yang lebih jauh. Sinyal high yang dikirimkan oleh remote control
ditumpangkan pada pembawa = 38 kHz sehingga di dalam pulsa high tersebut
terdapat pulsa-pulsa kecil dengan frekuensi yang lebih tinggi. Komponen ini akan
menghilangkan sinyal pembawa (frekuensi carrier) sehingga hanya tersisa pulsa
data saja yang sudah sesuai dengan level TTL 5V dan bisa langsung diolah oleh
mikrokontroller. Sinyal yang dihasilkan oleh modul penerima infra merah
ditunjukkan pada Gambar 3.9.
Gambar 3.9 Sinyal Keluaran Modul Penerima Infra Merah.
48
Bila ada sinyal pembawa (carrier) dari pemancar maka keluaran dari
modul penerima infra merah akan rendah (‘0’ = 0V) dan bila tidak ada sinyal
pembawa, maka keluaran akan tinggi (‘1’ = 5V).
Bentuk fisik IRM8510 ditunjukkan Gambar 3.10.
Gambar 3.10 Bentuk Fisik IRM8510.
3.3.2.5 Sistem Minimum Mikrokontroler AT89S51
Sistem minimum Mikrokontroler AT89S51 digunakan sebagai pengolah
dan sekaligus sebagai unit penyimpan program. Mikrokontroler AT89S51 ini
memiliki 4 buah port yang dapat difungsikan sebagai port-port alternatif,
sehingga perangkat-perangkat yang akan dikendalikan dapat langsung
dihubungkan dengan port-port tersebut.
Rangkaian ini terdiri dari IC AT89S51, rangkaian auto reset dan rangkaian
clock internal, dilengkapi juga catu daya yang terpisah dan selain ada 4 port yaitu
port 0 sampai port 3.
Rangkaian clock internal digunakan untuk membangkitkan clock.
Rangkaian clock internal seperti terlihat pada Gambar 3.11.
49
Gambar 3.11 Rangkaian clock internal.
Gambar 3.12 Rangkaian Minimum Sistem AT89S51.
Tombol reset pada rangkaian mikrokontroler AT89S51 berfungsi untuk
mengembalikan keadan sistem pada posisi default, reset akan aktif apabila terjadi
hubung singkat pada pin reset itu sendiri.
3.3.2.6 LCD (Liquid Crystal Display) LMB162A
LCD LMB162A berfungsi sebagai penampil untuk menampilkan angka
pada saat konfigurasi password, kondisi kunci terbuka atau tertutup dan perintah-
perintah lainnya yang berhubungan dengan password dan kunci. Dalam pembuatan
50
antarmuka antara LCD dan mikrokontroler digunakan metode pengalamatan 4-bit
data. Alasan utama menggunakan metode ini adalah kesederhanaan proses dalam
program. Adapun peran utama LCD hanya difungsikan dalam kondisi tulis, jadi pada
LCD kaki R/W selalu dalam kondisi low. Pemberian resistor variabel, digunakan
untuk mengatur kontras tampilan. Detail dari rangkaian antarmuka disajikan dalam
Gambar 3.13.
Gambar 3.13 Rangkaian LCD.
3.3.2.7 Driver Motor (L293D)
Driver motor digunakan untuk mengontrol arah putaran motor yang
merupakan penggerak utama alat ini. IC driver motor L293D yang didalamnya
terdapat rangkaian H-Bridge akan mengontrol putaran motor sesuai data masukan
digital yang berasal dari mikrokontroler AT89S51. Rangkaian driver motor dc ini
dapat dilihat pada Gambar 3.14.
Gambar 3.14 Rangkaian Driver Motor DC.
51
Port – port yang digunakan pada IC L293D sesuai dengan gambar
rangkaian driver motor adalah sebagai berikut :
1. Port1A dan Port4A, merupakan port masukkan data digital yang berasal
dari mikrokontroler AT89S51, data ini yang menentukan arah putaran
motor DC yang dikendalikan oleh driver motor L293D.
2. Port 1,2 EN dan Port 3,4 EN, merupakan port masukkan yang digunakan
untuk men-enable putaran motor DC yang dikendalikan, dan dari pin ini
juga dapat diaplikasikan pengaturan kecepatan motor DC dengan
gelombang PWM (Pulse Widht Modulation).
3. Port 1Y dan 2Y, pin yang disediakan untuk disambungkan dengan motor
DC yang pertama.
4. Port 3Y dan 4Y, pin yang disediakan untuk disambungkan dengan motor
DC yang kedua.
3.3.2.8 Limit Switch
Pada rangkaian ini limit switch berfungsi sebagai pembatas gerak dari
motor DC 2 sebagai penggerak pintu, selain itu limit switch juga berfungsi
sebagai indikator yang memberikan informasi keadaan pintu, pintu dalam keadaan
tertutup atau terbuka dapat diketahui melalui LCD. Jalur instalasi limit switch
ditunjukkan pada Gambar 3.15.
Gambar 3.15 Instalasi Limit Switch.
52
Dari gambar instalasi limit switch maka cara kerja rangkaian sebagai
berikut, apabila tuas dari limit switch ditekan maka terminal NO (Normaly Open)
akan terhubung ke port mikro dan dibaca oleh mikrokontroler untuk diproses dan
ditampilkan ke LCD.
3.3.2.9 Switch
Switch adalah suatu alat yang digunakan untuk memutus dan
menyambungkan arus listrik. Pada rangkaian sistem keamanan pada sebuah pintu
berbasis mikokontroler ini switch berfungsi sebagai tombol untuk membuka dan
menutup pintu, tombol switch merupakan alat alternatif yang digunakan untuk
membuka dan menutup pintu pada rangkaian ini. Switch diletakkan di dalam
ruangan dan ditempat yang hanya diketahui oleh pemilik remote control, switch
ini dibuat untuk mempermudah user (pengguna) dalam membuka dan menutup
pintu pada saat berada didalam ruangan, sehingga pengguna yang berada didalam
ruangan tidak perlu memasukkan password untuk membuka dan menutup pintu.
Gambar 3.16 menjelaskan intalasi switch pada rangkaian ini.
Gambar 3.16 Instalasi Switch.
53
3.3.2.10 Motor DC
Motor DC adalah suatu alat yang memanfaatkan energi listrik menjadi
energi mekanik berupa putaran pada poros. Untuk rangkaian sistem keamanan
pada sebuah pintu berbasis mikrokontroler AT89S51 dibutuhkan 2 buah motor
DC dalam mengoprasikan sistem ini, motor DC tersebut diberi label dengan
motor DC1 dan motor DC 2.
3.3.2.10.1 Motor DC 1
Motor DC 1 adalah motor DC yang digunakan sebagai kunci pada pintu,
motor DC 1 lebih dikenal dengan sebutan central lock, yang biasa digunakan
sebagai kunci pintu pada kendaraan bermotor. Motor DC 1 memiliki rangkaian
mekanik tersendiri yang berada satu box dalam rangkaian motor itu sendiri, motor
DC 1 bekerja menggerakkan mekanik apabila diberi tegangan pada masukkannya,
untuk membuka dan menutup pintu motor DC 1 dikontrol oleh driver motor yang
dibalik polaritasnya berdasarkan kebutuhan yang diinginkan. Cara kerja motor DC
1 apabila pintu dalam posisi tertup dan terkunci, untuk membuka kuncinya motor
DC 1 tersebut akan menarik mundur tuas yang dihubungkan ke selongsong besi
sehingga kunci dari pintu terbuka, dan sebaliknya apabila pintu dalam posisi tidak
terkunci untuk menguncinya motor DC 1 mendapat supply tegangan dari driver
motor dengan polaritas yang berbeda dari sebelumnya, maka motor DC 1 tersebut
akan bergerak dan mendorong maju tuas pengunci, sehingga pintu akan terkunci.
Motor DC 1 memiliki spesifikasi sebagai berikut :
1. Tegangan maksimal 12 Volt dan tegangan minimal 5 V.
54
2. Kabel berwarna hijau dan biru merupakan masukkan motor DC 1, yang
merupakan tempat untuk membalik polaritas tegangan.
Gambar motor DC 1/central lock dijelaskan pada Gambar 3.17 sebagai
berikut :
Gambar 3.17 Central Lock.
Masukkan motor DC 1 terhubung dengan pin 2 dan pin 7 pada driver
motor L293D, melalui driver motor L293D central lock di kendalikan oleh
mikrokontroler yang terhubung ke port P1.5 dan port P1.4 sesuai dengan cara
kerja alat ini.
3.3.2.10.2 Motor DC 2
Motor DC 2 pada rangkaian ini digunakan sebagai penggerak pintu, gerak
dari motor DC 2 ini dibatasi oleh kedua buah limit switch, apabila motor DC 2
menyentuh tuas dari limit switch maka motor DC 2 akan berhenti, yang
menandakan bahwa tugasnya telah selesai dalam menggerakkan pintu dan proses
selanjutnya dilakukan oleh rangkaian yang lain. Motor DC 2 dikendalikan oleh
driver motor L293D di pin 10 dan pin 15 yang terhubung ke mikrokontroler di
port P1.7 dan port P1.6. Gerak dari motor DC 2 berupa putaran poros yang
55
berputar searah dengan jarum jam ataupun sebaliknya berlawanan dengan jarum
jam, motor DC 2 terhubung ke gear yang digunakan untuk mnggerakkan roda
pada pintu dengan media belt, mekanik motor DC 2 sebagai penggerak pintu di
tunjukkan Gambar 3.18.
Gambar 3.18 Mekanik motor DC 2.
Motor Dc 2 memiliki spesifikasi sebagi berikut :
1. Tegangan maksimal 12 Volt dan tegangan minimal 5 Volt.
2. Kecepatan putaran poros dengan tegangan maksimal sebesr 185 rpm.
3.4 Perancangan Perangkat Lunak
Perancangan perangkat lunak berbasis mikrokontroler dimulai dengan
perancangan perangkat keras, kemudian dilakukan penyusunan perangkat lunak
yang mengendalikan peralatan tersebut. Bahasa pemrograman yang digunakan
pada proyek akhir ini ialah bahasa Basic Compiler. Proses pemrograman
mikrokontroler diawali dengan menulis program sumber (source code). Source
code kemudian di-compile dan akan menghasilkan kode-kode yang dapat
dimengerti oleh mikrokontroler (format *.hex). Untuk memudahkan dalam
pembuatan program maka perlu dibuat flowchart sebagai berikut.
56
Flowchart membuka dari luar :
Mulai
Inisialisasi LCD, Timer
Baca data
Password = 12345
Buka pintu
Limit switch buka = 1
Motor DC 2 berhenti
Saklar tutup ditekan
Tidak
Ya
Tidak
Tidak
Ya
A
Ya
57
Flowchart membuka dari dalam :
Pintu tertutup
Limit switch tutup = 1
Motor DC 1 mengunci
Selesai
Tidak
Ya
Mulai
Baca tombol
Tombol = 1
Ya
Tidak
A
A
58
Buka pintu
Limit switch buka = 1
Baca tombol enter remote control
Enter = 1
Pintu tertutup
Limit switch tutup =1
Motor DC mengunci
Selesai
Tidak
Ya
Tidak
Ya
Tidak
A Ya
Ya
59
Berikut ini listing program sistem keamanan pada sebuah pintu berbasis
mikrokontroler AT89S51.
‘========================================================== $regfile = "reg51.dat" 'register AT89C51 $crystal = 11059200 'deklarasi cristal Config Lcdpin = Pin , Db4 = P2.3 , Db5 = P2.2 , Db6 = P2.1 , Db7 = P2.0 , E = P2.4 , Rs = P2.5 'konfigurasi LCD Config Timer0 = Timer , Gate = Internal , Mode = 2 'konfigurasi timer Th0 = 0 'Th di nolkan Set Tcon.0 'set timer Set Tcon.2 'set timer On Timer0 Timer_0_int 'sub rutin interupsi timer On Int0 Int0_int 'sub rutin external Enable Interrupts 'aktifkan interupsi Enable Timer0 'aktifkan interupsi timer Enable Int0 'aktifkan interupsi external Start Timer0 'start the timer 'deklarasi variabel Dim New_ir_command As Bit Dim Infra_count As Byte Dim Infra_count_old As Byte Dim Infra_command As Word Dim Segb1 As Byte Dim Kar As String * 1 Dim Pass As String * 5 Dim Segbit1 As Bit Dim N As Byte Dim Segw1 As Word Dim Segb2 As Byte , I As Byte Dim Password As String * 5 Dim Cetak As String * 5 Dim Status As Byte '========================================================== 'menonaktifkan interupsi Disable Interrupts '========================================================== 'alias pin mikro
60
A1 Alias P1.5 B1 Alias P1.4 A2 Alias P1.7 B2 Alias P1.6 Tombol Alias P3.0 '========================================================== 'menonaktifkan pin A1 = 0 B1 = 0 A2 = 0 B2 = 0 Wait 1 '========================================================== Limit1 Alias P1.0 Limit2 Alias P1.1 'Menutup Pintu Cls If Limit1 = 1 Then Gosub Tutup_pintu '========================================================== 'Deklarasi konstanta New_ir_command = 0 Pass = "" Password = "12345" Cetak = "" I = 0 '========================================================== Cls Locate 1 , 1 Lcd "Pintu Tertutup" Locate 2 , 1 Lcd "PASSWORD:" Enable Interrupts 'tutup pintu dari dalam Ide: If Tombol = 0 Then Waitms 40 If Tombol = 0 Then If Status = 0 Then Disable Interrupts Gosub Buka_pintu Else If Status = 1 Then Disable Interrupts Gosub Tutup_pintu End If
61
End If End If End If '========================================================== If New_ir_command = 0 Then Goto Ide Infra_count_old = 0 Segw1 = Infra_command ' ambil data remote Disable Interrupts Kar = "" 'Tampilkan angka remote Select Case Segw1 Case 2056 : Kar = "1" Case 2072 : Kar = "2" Case 2088 : Kar = "3" Case 2104 : Kar = "4" Case 2120 : Kar = "5" Case 2136 : Kar = "6" Case 2152 : Kar = "7" Case 2168 : Kar = "8" Case 2184 : Kar = "9" Case 2100 : Kar = "0" End Select '========================================================== 'menampilkan password If Status = 0 Then If Kar <> "" Then If I = 5 Then I = 0 Pass = "" Cetak = "" Locate 2 , 10 Lcd " " End If Pass = Pass + Kar Cetak = Cetak + "*" I = I + 1 Locate 2 , 10 Lcd Cetak Waitms 500 End If End If '========================================================== 'membuka pintu dengan password If Segw1 = 2520 Then If Status = 0 Then If Pass = Password Then
62
Locate 2 , 1 Lcd "PASSWORD COCOK" Gosub Buka_pintu Else Locate 2 , 1 Lcd "PASSWORD SALAH" End If Else Gosub Tutup_pintu End If Pass = "" Cetak = "" I = 0 Wait 2 Locate 2 , 10 Lcd " " End If Enable Interrupts '========================================================= Goto Ide 'Sub rutin tutup Pintu Tutup_pintu: Cls Do A2 = 0 B2 = 1 If Limit1 = 0 Then Waitms 40 If Limit1 = 0 Then Goto Selesai1 End If Loop Selesai1: A2 = 0 B2 = 0 Wait 1 Gosub Ngunci Cls Status = 0 Locate 1 , 1 Lcd "Pintu Tertutup" Locate 2 , 1 Lcd "PASSWORD:" Enable Interrupts 'enable the use of interrupts Return '========================================================== 'Sub rutin buka pintu
63
Buka_pintu: Cls Gosub Buka_kunci Do A2 = 1 B2 = 0 If Limit2 = 0 Then Waitms 40 If Limit2 = 0 Then Goto Selesai2 End If Loop Selesai2: A2 = 0 B2 = 0 Wait 1 Cls Locate 1 , 1 Lcd "Pintu terbuka" Status = 1 Enable Interrupts 'enable the use of interrupts Return Buka_kunci: A1 = 0 B1 = 1 Waitms 500 A1 = 0 B1 = 0 Wait 1 Return '========================================================== 'Sub rutin ngunci Ngunci: A1 = 1 B1 = 0 Waitms 500 A1 = 0 B1 = 0 Wait 1 Return '========================================================== 'Sub rutin interupsi timer Timer_0_int: If Infra_count < 150 Then Incr Infra_count New_ir_command = 0 Else
64
New_ir_command = 0 If Infra_count_old <> 0 Then New_ir_command = 1 End If End If Timer_0_int_end: Return '========================================================== 'Sub rutin Interupsi Ekternal Int0_int: If Infra_count = 150 Then Infra_count = 0 'start receive (Infra_count=0) New_ir_command = 0 Infra_count_old = 0 Infra_command = 0 N = 0 End If Segb1 = Infra_count - Infra_count_old If Segb1 > 5 Then Set Infra_command.15 Else Reset Infra_command.15 Infra_count_old = Infra_count Shift Infra_command , Right Incr N Int0_int_end: Return End '==========================================================
BAB IV
PENGUJIAN DAN PEMBAHASAN
4.1 Pendahuluan
Pada bab ini dilakukan pengujian terhadap sistem yang telah dibuat.
Secara garis besar terdapat dua hal yang diujikan yaitu pengujian terhadap bagian
pengendali (remote control) dan bagian yang dikendalikan. Dari kedua pengujian
tersebut dapat diketahui kelemahan dan kekurangan yang masih terdapat pada
alat, sehingga hasil perancangan perangkat keras (hardware) maupun perangkat
lunak (software) dapat lebih disempurnakan untuk tujuan dan pemanfaatan secara
nyata.
Dalam sistem keamanan pada sebuah pintu berbasis mikrokontroler
AT89S51 dengan menggunakan remote control infra merah ini, fitur-fitur yang
dimiliki yaitu :
1. Sistem memiliki password yang digunakan untuk melakukan instruksi
membuka dan menutup pintu sekaligus mnguncinya.
2. Digit password yang digunakan untuk dapat membuka kunci terdiri
dari 5 digit. Dan setiap digit-nya dapat dikonfigurasi dari angka 0
sampai 9.
3. Memiliki penampil LCD untuk menampilkan digit password, status
(terkunci/terbuka) dan tampilan ”password salah” apabila user
melakukan kesalahan dalam memasukkan password.
65
66
4. Untuk keamanan sistem password yang ditampilkan ke LCD berupa
tanda ” * ”.
Bentuk fisik dari sistem keamanan pada sebuah pintu berbasis
mikrokontroler AT89S51 ditunjukkan pada Gambar 4.1.
Gambar 4.1 (a) Remote Control, (b) Rangkaian Penerima, (c) LCD, (d) Pintu.
4.2 Pengujian Rangkaian Pengendali (Remote Control)
Pengujian pada remote control ditujukan agar perangkat lunak dan
perangkat keras dapat bekerja dengan benar untuk mengirimkan data sesuai
dengan tombol yang ditekan dan dapat diterima oleh rangkaian penerima. Remote
control yang digunakan adalah remote control jenis sony.
4.2.1 Pengujian LED Infra merah.
LED infra merah digunakan untuk menghasilkan gelombang infra merah
sebagai media transmisi data. Infra merah adalah frekuensi radiasi yang bekerja di
67
bawah tingkat sensitivitas mata manusia. Pengujian terhadap LED ini tidak sama
dengan LED biasa karena nyala LED tidak dapat dilihat oleh mata manusia.
Untuk melakukan pengujian nyala atau tidaknya LED infra merah digunakan
kamera digital. Pada layar kamera dapat dilihat nyala LED infra merah yaitu
berupa sinar merah ketika tombol pada remote control ditekan. Pengujian LED
infra merah ditunjukkan pada Gambar 4.2.
Gambar 4.2 Pengujian LED infra merah.
4.2.2 Pencarian Data Remote
Pada saat penekanan tombol, remote sony mengirimkan data dengan
frekuensi tertentu, data tersebut merupakan data dari masing-masing tombol,
sehingga data tersebut dapat dimanfaatkan untuk menginisialisasi setiap tombol
pada rangkaian remote sony. Alat yang digunakan untuk menampilkan data pada
remote sony adalah :
1. Mikrokontroler AT89S51, sebagai pengendali semua proses.
2. Remote sony, sebagai pemancar.
3. IRM8510, sebagai penerima infra merah.
4. LCD, sebagai penampil data dari remote sony.
68
Output dari rangkaian penerima infra merah dihubungkan ke port P3.2
pada mikrokontroler dan rangkaian LCD terhubung pada port P2.0-P2.5. Gambar
rangkaian pencarian data remote ditunjukkan Gambar 4..3.
Gambar 4..3 Rangkaian Pencarian Data remote.
Untuk menampilkan data pada remote sony dibutuhkan program sebagai
Th0 = 0 'Th di nolkan Set Tcon.0 'set timer Set Tcon.2 'set timer On Timer0 Timer_0_int 'sub rutin interupsi timer On Int0 Int0_int 'sub rutin external Enable Interrupts 'aktifkan interupsi Enable Timer0 'aktifkan interupsi timer Enable Int0 'aktifkan interupsi external Start Timer0 'start the timer 'deklarasi variabel Dim New_ir_command As Bit Dim Infra_count As Byte Dim Infra_count_old As Byte Dim Infra_command As Word Dim Segb1 As Byte Dim Kar As String * 1 Dim Pass As String * 5 Dim Segbit1 As Bit Dim N As Byte Dim Segw1 As Word Dim Segb2 As Byte , I As Byte Dim Cetak As String * 5 Dim Status As Byte 'menonaktifkan interupsi Disable Interrupts Wait 1 'Deklarasi konstanta New_ir_command = 0 I = 0 Enable Interrupts Ide: If New_ir_command = 0 Then Goto Ide Infra_count_old = 0 Segw1 = Infra_command ' ambil data remote Disable Interrupts Kar = "" Lcd Segw1 Enable Interrupts '========================================================== Goto Ide 'Sub rutin interupsi timer
70
Timer_0_int: If Infra_count < 150 Then Incr Infra_count New_ir_command = 0 Else New_ir_command = 0 If Infra_count_old <> 0 Then New_ir_command = 1 End If End If Timer_0_int_end: Return 'Sub rutin Interupsi Ekternal Int0_int: If Infra_count = 150 Then Infra_count = 0 'start receive (Infra_count=0) New_ir_command = 0 Infra_count_old = 0 Infra_command = 0 N = 0 End If Segb1 = Infra_count - Infra_count_old If Segb1 > 5 Then Set Infra_command.15 Else Reset Infra_command.15 Infra_count_old = Infra_count Shift Infra_command , Right Incr N Int0_int_end: Return End
Dengan menggunakan program pencarian data pada remote, maka didapat
data dari remote sony berupa digit decimal yang mewakili setiap tombol, data
tersebut digunakan untuk menampilkan karakter yang akan digunakan dalam
pembuatan password.
Data decimal yang tertampil pada LCD terdiri dari 4 digit, data tersebut
kemudian difungsikan untuk menampilkan karakter setiap tombol yang di tekan.
71
Nilai data pada remote TV Sony yang telah diubah ke dalam bentuk
hexadecimal ditunjukkan oleh Tabel 4.1 sebagai berikut :
Judul Proyek Akhir : Sistem Keamanan Pada sebuah Pintu Berbasis
Mikrokontroler AT89S51
Riwayat Pendidikan
TK Elektrina Palembang : 1992-1993
SD Negeri 13 Palembang : 1993-1999
SLTP Negeri 5 Palembang : 1999-2002
SMK Negeri 2 Palembang : 2002-2005
Diploma Teknik Elektro UGM : 2005-2009
PROGRAM PENCARIAN DATA REMOTE
$regfile = "reg51.dat" 'register AT89C51 $crystal = 11059200 'deklarasi crital Config Lcdpin = Pin , Db4 = P2.3 , Db5 = P2.2 , Db6 = P2.1 , Db7 = P2.0 , E = P2.4 , Rs = P2.5 'konfigurasi LCD Config Timer0 = Timer , Gate = Internal , Mode = 2 'konfigurasi timer Th0 = 0 'Th di nolkan Set Tcon.0 'set timer Set Tcon.2 'set timer On Timer0 Timer_0_int 'sub rutin interupsi timer On Int0 Int0_int 'sub rutin external Enable Interrupts 'aktifkan interupsi Enable Timer0 'aktifkan interupsi timer Enable Int0 'aktifkan interupsi external Start Timer0 'start the timer 'deklarasi variabel Dim New_ir_command As Bit Dim Infra_count As Byte Dim Infra_count_old As Byte Dim Infra_command As Word Dim Segb1 As Byte Dim Kar As String * 1 Dim Pass As String * 5 Dim Segbit1 As Bit Dim N As Byte Dim Segw1 As Word Dim Segb2 As Byte , I As Byte Dim Password As String * 5 Dim Cetak As String * 5 Dim Status As Byte 'menonaktifkan interupsi Disable Interrupts Wait 1 'Deklarasi konstanta New_ir_command = 0 Pass = "" Password = ""
Cetak = "" I = 0 Enable Interrupts Ide: If New_ir_command = 0 Then Goto Ide Infra_count_old = 0 Segw1 = Infra_command ' ambil data remote Disable Interrupts Kar = "" Lcd Segw1 Enable Interrupts '========================================================== Goto Ide 'Sub rutin interupsi timer Timer_0_int: If Infra_count < 150 Then Incr Infra_count New_ir_command = 0 Else New_ir_command = 0 If Infra_count_old <> 0 Then New_ir_command = 1 End If End If Timer_0_int_end: Return 'Sub rutin Interupsi Ekternal Int0_int: If Infra_count = 150 Then Infra_count = 0 'start receive (Infra_count=0) New_ir_command = 0 Infra_count_old = 0 Infra_command = 0 N = 0 End If Segb1 = Infra_count - Infra_count_old If Segb1 > 5 Then Set Infra_command.15 Else Reset Infra_command.15 Infra_count_old = Infra_count Shift Infra_command , Right Incr N Int0_int_end: Return End
PROGRAM SISTEM KEAMANAN PADA SEBUAH PINTU
BERBASIS MIKROKONTROLER AT89S51
$regfile = "reg51.dat" 'register AT89C51 $crystal = 11059200 'deklarasi cristal Config Lcdpin = Pin , Db4 = P2.3 , Db5 = P2.2 , Db6 = P2.1 , Db7 = P2.0 , E = P2.4 , Rs = P2.5 'konfigurasi LCD Config Timer0 = Timer , Gate = Internal , Mode = 2 'konfigurasi timer Th0 = 0 'Th di nolkan Set Tcon.0 'set timer Set Tcon.2 'set timer On Timer0 Timer_0_int 'sub rutin interupsi timer On Int0 Int0_int 'sub rutin external Enable Interrupts 'aktifkan interupsi Enable Timer0 'aktifkan interupsi timer Enable Int0 'aktifkan interupsi external Start Timer0 'start the timer 'deklarasi variabel Dim New_ir_command As Bit Dim Infra_count As Byte Dim Infra_count_old As Byte Dim Infra_command As Word Dim Segb1 As Byte Dim Kar As String * 1 Dim Pass As String * 5 Dim Segbit1 As Bit Dim N As Byte Dim Segw1 As Word Dim Segb2 As Byte , I As Byte Dim Password As String * 5 Dim Cetak As String * 5 Dim Status As Byte '========================================================== 'menonaktifkan interupsi Disable Interrupts '========================================================== 'alias pin mikro A1 Alias P1.5 B1 Alias P1.4
A2 Alias P1.7 B2 Alias P1.6 Tombol Alias P3.0 '========================================================== 'menonaktifkan pin A1 = 0 B1 = 0 A2 = 0 B2 = 0 Wait 1 '========================================================== Limit1 Alias P1.0 Limit2 Alias P1.1 'Menutup Pintu Cls If Limit1 = 1 Then Gosub Tutup_pintu '========================================================== 'Deklarasi konstanta New_ir_command = 0 Pass = "" Password = "12345" Cetak = "" I = 0 '========================================================== Cls Locate 1 , 1 Lcd "Pintu Tertutup" Locate 2 , 1 Lcd "PASSWORD:" Enable Interrupts 'tutup pintu dari dalam Ide: If Tombol = 0 Then Waitms 40 If Tombol = 0 Then If Status = 0 Then Disable Interrupts Gosub Buka_pintu Else If Status = 1 Then Disable Interrupts Gosub Tutup_pintu
End If End If End If End If '========================================================== If New_ir_command = 0 Then Goto Ide Infra_count_old = 0 Segw1 = Infra_command ' ambil data remote Disable Interrupts Kar = "" 'Tampilkan angka remote Select Case Segw1 Case 2056 : Kar = "1" Case 2072 : Kar = "2" Case 2088 : Kar = "3" Case 2104 : Kar = "4" Case 2120 : Kar = "5" Case 2136 : Kar = "6" Case 2152 : Kar = "7" Case 2168 : Kar = "8" Case 2184 : Kar = "9" Case 2200 : Kar = "0" End Select '========================================================== 'menampilkan password If Status = 0 Then If Kar <> "" Then If I = 5 Then I = 0 Pass = "" Cetak = "" Locate 2 , 10 Lcd " " End If Pass = Pass + Kar Cetak = Cetak + "*" I = I + 1 Locate 2 , 10 Lcd Cetak Waitms 500 End If End If '==========================================================
'membuka pintu dengan password If Segw1 = 2520 Then If Status = 0 Then If Pass = Password Then Locate 2 , 1 Lcd "PASSWORD COCOK" Gosub Buka_pintu Else Locate 2 , 1 Lcd "PASSWORD SALAH" End If Else Gosub Tutup_pintu End If Pass = "" Cetak = "" I = 0 Wait 2 Locate 2 , 10 Lcd " " End If Enable Interrupts '========================================================== Goto Ide 'Sub rutin tutup Pintu Tutup_pintu: Cls Do A2 = 0 B2 = 1 If Limit1 = 0 Then Waitms 40 If Limit1 = 0 Then Goto Selesai1 End If Loop Selesai1: A2 = 0 B2 = 0 Wait 1 Gosub Ngunci Cls Status = 0 Locate 1 , 1
Lcd "Pintu Tertutup" Locate 2 , 1 Lcd "PASSWORD:" Enable Interrupts 'enable the use of interrupts Return '========================================================== 'Sub rutin buka pintu Buka_pintu: Cls Gosub Buka_kunci Do A2 = 1 B2 = 0 If Limit2 = 0 Then Waitms 40 If Limit2 = 0 Then Goto Selesai2 End If Loop Selesai2: A2 = 0 B2 = 0 Wait 1 Cls Locate 1 , 1 Lcd "Pintu terbuka" Status = 1 Enable Interrupts 'enable the use of interrupts Return Buka_kunci: A1 = 0 B1 = 1 Waitms 500 A1 = 0 B1 = 0 Wait 1 Return '========================================================== 'Sub rutin ngunci Ngunci: A1 = 1 B1 = 0
Waitms 500 A1 = 0 B1 = 0 Wait 1 Return '========================================================== 'Sub rutin interupsi timer Timer_0_int: If Infra_count < 150 Then Incr Infra_count New_ir_command = 0 Else New_ir_command = 0 If Infra_count_old <> 0 Then New_ir_command = 1 End If End If Timer_0_int_end: Return '========================================================== 'Sub rutin Interupsi Ekternal Int0_int: If Infra_count = 150 Then Infra_count = 0 'start receive (Infra_count=0) New_ir_command = 0 Infra_count_old = 0 Infra_command = 0 N = 0 End If Segb1 = Infra_count - Infra_count_old If Segb1 > 5 Then Set Infra_command.15 Else Reset Infra_command.15 Infra_count_old = Infra_count Shift Infra_command , Right Incr N Int0_int_end: Return End '==========================================================