Pemanfaatan Sensor Pir (Passive Infra Red)Untuk Pengontrolan Suhu Ruangan
PEMANFAATAN SENSOR PIR (Passive Infra Red) UNTUK
PENGONTROLAN SUHU RUANGAN
SKRIPSI
Diajukan Untuk Melengkapi Tugas dan Memenui Syarat Memperoleh Gelar Sarjana Sains
BUDI PRATAMA YANI NABABAN
080821008
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2011
(2)
i
PERSETUJUAN
Judul : PEMANFAATAN SENSOR PIR (Passive Infra Red)
UNTUK PENGONTROLAN SUHU RUANGAN
Kategori : SKRIPSI
Nama : BUDI PRATAMA YANI NABABAN
Nomor Induk Mahasiswa : 080821008
Program Studi : S1 FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Januari 2011
Diketahui/disetujui oleh
Departemen Fisika FMIPA USU
Ketua, Pembimbing,
Dr. Marhaposan Situmorang Prof. Dr. Muhammad Zarlis M.Sc
(3)
ii
PERNYATAAN
PEMANFAATAN SENSOR PIR (Passive Infra Red) UNTUK PENGONTROLAN SUHU RUANGAN
SKRIPSI
Saya mengakui bahwa Skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Januari 2011
BUDI PRATAMA YANI NABABAN 080821008
(4)
iii
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pengasih dan Maha Penyayang dengan limpah karunia-Nya, tugas akhir ini berhasil diselesaikan tepat pada waktunya.
Dalam kesempatan ini penulis ingin menyampaikan terimakasih yang sedalam-dalamnya kepada:
1. Ayahanda (M. Nababan) dan Ibunda (L. Malau) yang telah memberikan
bantuan baik materi dan pemikiran serta semangat kepada penulis dalam menyelesaikan tugas akhir ini.
2. Adik-adik penulis Yanti, Tida, Marsinta, Rut Muni dan Manuel yang telah
memberikan semangat dan dukungan kepada Penulis
3. Bapak Dr. Eddy Marlianto,M.Sc selaku Dekan FMIPA USU
4. Bapak Dr. Marhaposan Situmorang, selaku Ketua Jurusan Program Studi
Fisika yang memberikan masukan dan dukungan dalam penyelesaian laporan tugas akhir ini.
5. Bapak Prof.Dr.Muhammad Zarlis. M.Sc sebagai dosen pembimbing yang
memberikan masukan dan dukungan dalam penyelesaian laporan skripsi ini. 6. Sekertaris Departemen Fisika Drs. Justinon, Msi dan semua staff pengajar
yang pernah mengajar di Jurusan Fisika Instruementasi Ekstention serta seluruh pegawai di Departemen Fisika FMIPA USU
7. Rekan-rekan stambuk 2008 yang telah banyak memberikan masukan dan
(5)
iv
DAFTAR ISI
Halaman
PERSETUJUAN i
PERNYATAAN ii
PENGHARGAAN iii
ABSRAK iv
ABSTRACT v
DAFTAR ISI vi
DAFTAR TABEL viii
DAFTAR GAMBAR ix
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Perumusan Masalah 2
1.3 Permasalahan 2
1.4 Pembatasan Masalah 2
1.5 Tujuan Penelitian 2
1.6 Manfaat Penelitian 3
1.7 Sistematika Penulisan 3
BAB 2 LANDASAN TEORI
2.1 Pengontrolan Suhu 5
2.2 Sensor PIR (Passive Infra Red) 6
2.2.1 Inframerah 6
2.2.2 Pengenalan Sensor PIR 7
2.2.3 Fungsi Pin Sensor PIR 7
2.2.4 Cara Kerja Sensor PIR 10
2.3 Fotodioda 11
2.4 Mikrokontroller AT89S52 13
2.4.1 Sistem Minimum Mikrokontroller AT89S52 13
2.4.2 Asitektur Mikrokontroller AT89S52 14
2.4.3 Konfigurasi Pin Mikrokontroller AT89S52 15
2.4.4 Stuktur Memori 17
2.4.5 Organisasi Memori 19
(6)
v
2.5.1 Spesifikasi LCD M1632 21
2.5.2 Konfigurasi pin LCD 22
2.5.3 Stuktur Modu LCD 23
2.6 Relay 25
2.7 Sensor Suhu ICLM35 27
2.7.1 Prinsip Kerja Sensor Suhu ICLM35 29
2.8 ADC (Analog Digital Converter 29
2.9 Perangkat Lunak 31
2.9.1 Bahasa Assembly MCS-51 31
2.9.2 Instruksi Bahasa Assembly MCS-51 32
BAB 3 PERANCANGAN DAN KERJA ALAT
3.1 Diagram Blok Rangkaian 37
3.2 Rangkaian Fotodioda 38
3.3 Rangkaian Sensor PIR 39
3.4 Rangkaian Mikrokontroller AT89S52 41
3.5 Rangkaian Relay 42
3.6 Rangkaian Display LCD Charakter 2 x 16 44
3.7 Rangkaian Sensor Suhu IC LM35 46
3.8 Flowchart Rangkaian 47
BAB 4 HASIL DAN PEMBAHASAN
4.1Pengujian Rangkaian Mikrokontroller AT89S52 49
4.2 Interfacing LCD 2x16 52
4.3 Pengujian Rangkaian Relay 54
4.4 Pengujian Sensor PIR (Passive Infra Red) 56
4.5 Pengujian ADC (Analog Digital Converter) 57
4.6 Pengujian Sensor Suhu IC LM35 59
4.4 Pengoperasian Alat 60
4.4 Hasil Ujicoba Alat 61
BAB 5 PENUTUP
5.1 Kesimpulan 63
5.2 Saran 63
DAFTAR PUSTAKA LAMPIRAN
(7)
vi
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi Pin Sensor PIR 7
Tabel 2.2 Konfigurasi Port 3 Mikrokontroller AT89S52 16
Tabel 2.3 Pin pada Tampilan LCD 22
Tabel 4.1 Waktu Pengeksekusia Rutin Delay 51
Tabel 4.2 Hasil Sensor PIR dengan Sudut 0o 56
Tabel 4.3 Hasil Sensor PIR dengan Sudut 45o 57
Tabel 4.4 Tabel Hasil Pengujian ADC 58
Tabel 4.5 Hasil Pengujian Sensor Suhu 59
Tabel 4.5 Hasil Uji coba alat dengan pertambahan Jumlah Pengunjung 61 Tabel 4.6 Hasil Uji coba alat dengan pengurangan Jumlah Pengunjung 62
(8)
vii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Bentuk fisik PIR 7
Gambar 2.2 Pin Sensor PIR 8
Gambar 2.3 Diagram Blok Sensor PIR 9
Gambar 2.4 Sebuah Objek Melewati Sensor PIR 10
Gambar 2.5 Rangkaian Photodioda dan Grafik Linearitasnya 12
Gambar 2.6 Deskripsi Pin AT89S52 15
Gambar 2.7 Struktur Memori Mikrokontroller AT89S52 17
Gambar 2.8 Alokasi bit PSW 18
Gambar 2.9 Arsitektur memori mikrokontroller AT89S52 19
Gambar 2.10 Pengalamatan Pada mikrokonroller AT89S52 19
Gambar 2.11 LCD character 2 x 16 20
Gambar 2.12 Diagram Blok LCD 21
Gambar 2.13 Konfigurasi pin LCD 2 x 16 22
Gambar 2.14 Skema Relay 26
Gambar 2.15 Bentuk fisik IC LM35 27
Gambar 2.16 Rangkaian Pengukur Suhu 28
Gambar 2.17 Konfigurasi Pin ADC 0804 30
Gambar 3.1 Diagram Blok Rangkaian 37
Gambar 3.2 Rangkaian Fotodioda 38
Gambar 3.3 Pin Sensor PIR 40
Gambar 3.4 Kaki Koneksi PIR (Pasissive Infra Red) 40
Gambar 3.5 Rangkaian Skematik Mikrokontroller AT89S52 41
Gambar 3.6 Relay Pengontrol Suhu Ruangan 43
Gambar 3.7 Display LCD karakter 2 x 16 44
Gambar 3.8 Rangkaian Sensor Suhu IC LM35 46
Gambar 3.9 Flowchart Pengontrol suhu ruangan 47
Gambar 4.1 Rangkaian Pengujian Mikrokontroller AT89S52 49
Gambar 4.2 Pengujian Rangkaian LCD 54
Gambar 4.3 Rangkaian Pengujian Relay 55
Gambar 4.4 Pengujian Rangkaian ADC (Analog Digital Converter) 58
(9)
BAB 1
PENDAHULUAN
1.1Latar Belakang
Untuk pada saat melakukan aktivitasnya agar terlaksana secara baik, manusia memerlukan kondisi fisik tertentu di sekitarnya yang dianggap nyaman. Salah satu persyaratan yang tidak kalah pentingnya adalah persyaratan akan ‘suhu nyaman’, yaitu suatu kondisi termis udara di dalam ruaangan yang tidak mengganggu tubuhnya. Produktivitas kerja cenderung menurun atau tidak maksimum pada kondisi udara yang tidak nyaman. Dari uraian tersebut jelas bahwa di luar beberapa persyaratan lain yang diperlukan, persyaratan akan suhu ruang yang nyaman sangat diperlukan bagi tubuh manusia dalam rangka menyelenggarakan aktifitasnya agar berjalan dengan baik.
Kipas merupakan salah satu pendingin ruangan yang dapat menyejukkan ruangan sehingga menjadi nyaman sesuai set point yang diinputkan kipas yang berfungsi menyalurkan udara dingin ke ruangan. Kipas ini yang akan dikontrol kecepatannya untuk mengatur udara dingin yang akan disalurkan ke ruangan. Kipas yang tidak dikontrol kecepatannya akan menginputkan udara dingin terus menerus keruangan tanpa ada kontrol yang membatasi selama kipas tersebut on. Olehkarena itu dibuat pengontrol kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik.
Perancangan pengontrolan ini memanfaatkan kemampuan mikrokontroller AT89S52 sebagai pengolah dan pengeksekusi dari perancangan sistem serta perancangan pengaturan suhu pada suatu ruangan dengan menggunakan sensor PIR
(Passive Infra Red) sebagai pendeteksi parameter input, dengan mengetahui ada
tidaknya manusia berdasarkan perubahan panas dari radiasi panas yang dipancarkan tubuh mahluk hidup dalam ruangan yang datanya akan dikirim dan diolah oleh mikrokontroller dan kemudian memberikan keluaran yang dihubungkan dengan relai yang sudah dikoneknisikan dengan kipas dan ditampilkan di LCD.
(10)
1.2Perumusan Masalah
Berdasarkan uraian diatas, maka penulis merumuskan permasalahan yang ada adalah bagaimana membuat program mengontrol mesin pengontrol suhu ruangan. menggunakan Sensor PIR Berbasis Mikrokontroller AT89S52. Untuk lebih mempermudah dalam melakukan perancangan serta analisis data maka penulis membatasi permasalahan yaitu bagaimana membuat hardware pada alat pengontrol suhu ruangan menggunakan bahasa pemrograman assembly.
1.3 Permasalahan
Permasalahan dalam Skripsi ini mencakup:
1. Bagaimana pengkonfigurasian data pada sensor PIR (Passive Infra Red )agar dapat berhubungan dengan alat yang dibuat serta dapat mengontrol suhu ruangan?
2. Bagaimana menentukan orang yang masuk dan keluar dari dalam ruangan
dengan menggunakan sensor PIR (Passive Infra Red)?
1.4Pembatasan Masalah
Pembatasan Masalah dalam skripsi ini hanya mencakup masalah-masalah sebagai berikut:
1. Penggunaan display LCD sebagai sistem penyampai informasi visual.
2. Mikrokontroller menggunakan AT89S52 produksi ATMEL Inc.
3. Sensor gerak yang digunakan adalah Sensor PIR (Passive Infra Red)
1.5 Tujuan Penelitian
Skripsi ini disusun untuk memenuhi beberapa tujuan yang diharapkan yaitu :
1. Mengaplikasikan ilmu yang diperoleh di perkuliahan dalam bidang elektronik.
2. Memahami bagaimana cara mengintegrasikan program dalam sebuah sistem
mikroprosesor terpadu untuk menghasilkan sebuah alat yang sederhana dan tepat guna.
(11)
1.6Manfaat Penelitian
Manfaat yang diharapkan dapat diambil dari penyusunan skripsi ini adalah :
1. Dapat menciptakan sebuah alat dengan antarmuka yang sederhana dengan
output yang memadai dan secara langsung dapat diintepretasikan dengan mudah secara visual.
2. Memahami teknik pemrograman yang baik untuk pemanfaataan fitur-fitur
mikrokontroller AT89S52
1.4Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja dari Sensor PIR.
BAB 1 PENDAHULUAN
Dalam hal ini berisikan mengenai latar belakang, tujuan penulis, batasan masalah, rumusan masalah serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain mikrokontroller AT89S52 (hardware dan
software), bahasa program yang digunakan, serta cara kerja dari sensor
PIR dan komponen pendukung.
BAB 3 PERANCANGAN DAN CARA KERJA ALAT
Dalam bab ini dibahas tentang sistem kerja perblok diagram serta program yang digunakan.
(12)
BAB 4 HASIL DAN PEMBAHASAN
Meliputi hasil analisa dari rangkaian dari sistem kerja alat, penjelasan dan program-program yang digunakan untuk mengaktifkan rangkaian.
BAB 5 KESIMPULAN DAN SARAN
Mengenai kesimpulan yang didapat setelah merakit alat dan saran yang diberikan demi kesempurnaan dan pengembangan alat ini pada yang masa akan datang demi kesempurnaan alat.
(13)
BAB 2
LANDASAN TEORI
2.1 Pengontrolan Suhu
Perkembangan teknologi kontrol saat ini mulai bergeser kepada otomatisasi sistem kontrol yang menuntut pengunaan komputer, sehingga campur tangan manusia dalam pengontrolan sangat kecil. Umumnya untuk pengaturan pengontrolan suhu ruangan digunakan prinsip on-off, dimana pada saat seseorang memasuki ruangan kipas dinyalakan dan akan dimatikan apabila tidak ada manusia dalam ruangan. Dengan prinsip on-off, pengaturan suhu hanya berdasarkan pada kondisi ada tidaknya manusia dalam ruangan. Oleh karena itu diperlukan pengaturan suhu, baik untuk faktor
kenyamanan maupun efisiensi pemakaian energi listrik. Mengingat pentingnya
pengaturan pengaturan suhu ruangan. dalam tugas akhir ini dirancangpengendali suhu ruang-ruang yang secara fungsional berbeda, misalnya ruang tidur, ruang keluarga, dan ruang baca, dalam sebuah rumah
Kipas merupakan salah satu pendingin ruangan yang dapat menyejukkan ruangan sehingga menjadi nyaman sesuai set point yang diinputkan. Pada kipas yang berfungsi menyalurkan udara dingin ke ruangan. Kipas ini yang akan dikontrol kecepatannya untuk mengatur udara dingin yang akan disalurkan ke ruangan. Kipas yang tidak dikontrol kecepatannya akan menginputkan udara dingin terus menerus keruangan tanpa ada kontrol yang membatasi selama kipas tersebut on. Oleh karena itu dibuat pengontrol kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik. Sebagai pengendali intensitas cahaya digunakan mikrokontroller AT89S52 dengan sensor PIR yang menteksi adanya manusia dalam ruangan yang akan menyalakan kipas secara otomatis.
(14)
2.2 Sensor PIR (Passive Infra Red)
2.2.1 Infra Merah
Cahaya merupakan suatu bentuk radiasi dari gelombang elektromagnetik yang pada prinsipnya sama dengan gelombang radio, misalnya infrared, ultraviolet, dan sinar-dimana yang membedakannya adalah panjang gelombang dan frekuensinya. Panjang gelombang dari cahaya tampak yakni 400 nm hingga 800 nm, dan ultraviolet memiliki panjang gelombang lebih pendek dari 400 nm, sedangkan sinar infra merah
mempunyai panjang gelombang antara 0,76 μm – 100 μm. Dalam beberapa kasus,
panjang gelombangnya bisa mencapai 3 μm – 100 μm yang disebut far-infrared.
Hubungan antara frekuensi dan panjang gelombang dapat dirumuskan dengan:
λ=�� Dimana :
c ≅ 3 x 108 m/s= kecepatan gelombang elektromagnetik dalam vakum
λ = panjang gelombang (m)
ƒ = frekuensi (Hz)
Karakteristik cahaya Foton dapat ditemukan dalam gelombang elektromagnetik pada frekuensi partikular dalam kuantisasi diskrit energi. Jika beberapa sumber mengeluarkan energi dari satu frekuensi , maka dinamakan quanta. Inilah yang dinamakan foton. Dirumuskan:
��=��λ =�� Dimana :
Wp = energi (eV)
c = kecepatan cahaya(3 x 108 m/s2)
λ = panjang gelombang (m)
h = konstanta plank ( 6,62.10-34 Js)
f = frekuensi S-1
Infra merah dapat digunakan untuk memancarkan data maupun sinyal suara dimana keduanya membutuhkan sinyal carier untuk membawa sinyal data maupun sinyal suara hingga sampai pada receiver. Untuk transmisi sinyal suara biasanya
(15)
digunakan rangkaian voltage to frekwensi converter yang berfungsi untuk mengubah tegangan sinyal suara menjadi frekuensi.
2.2.2 Pengenalan Sensor PIR
PIR (Passive Infra Red) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari LED Inframerah dan fototransistor. PIR tidak memancarkan apapun seperti LED Inframerah. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia.
Gambar 2.1 Bentuk fisik PIR
2.2.3 Fungsi Pin Sensor PIR
Berikut ini adalah susunan pin/kaki dari pin-pin Sensor PIR yaitu:
Tabel 2.1 Fungsi pin Sensor PIR Sensor PIR Port Control
O/P Pin 4(I1)
V+ Pin 1 (VCC)
GND Pin 2(GND)
(16)
gnd vcc
vo
Gambar 2.2 Pin Sensor PIR
2.2.4 Cara Kerja Sensor PIR
Sensor PIR hanya bereaksi pada tubuh manusia hal ini disebabkan karena adanya IR
Filter yang menyaring panjang gelombang sinar inframerah pasif. IR Filter mampu
menyaring panjang gelombang sinar inframerah pasif antara 8 µm sampai 14 µm, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar antara 9 µm sampai 10 µm ini saja yang dapat dideteksi oleh sensor. Misalnya ketika seseorang berjalan melewati sensor, sensor akan menangkap pancaran sinar inframerah pasif yang dipancarkan oleh tubuh manusia yang memiliki suhu yang berbeda dari lingkungan sehingga menyebabkan material pyroelectric bereaksi menghasilkan arus listrik karena adanya energi panas yang dibawa oleh sinar inframerah pasif tersebut. Kemudian sebuah sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian dibandingkan oleh comparator sehingga menghasilkan output.
(17)
Berikut adalah diagram blok dari sensor PIR:
Gambar 2.3 Diagram
Blok Sensor PIR
Bagian- bagian dari sensor PIR yaitu: a) Fresnel Lens
b) IR Filter
c) Pyroelectric sensor
d) Amplifier e) Comparator
Sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan suhu benda diatas nol mutlak. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh
Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat dan litium tantalate
menghasilkan arus listrik hal ini disebabkan pancaran sinar inframerah pasif ini membawa energi panas. Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari mengenai solar cell.
Sensor PIR hanya bereaksi pada tubuh manusia hal ini disebabkan karena adanya IR Filter yang menyaring panjang gelombang sinar inframerah pasif. IR Filter mampu menyaring panjang gelombang sinar inframerah pasif antara 8 µm sampai 14 µm, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar antara 9 µm sampai 10 µm ini saja yang dapat dideteksi oleh sensor. Misalnya ketika seseorang berjalan melewati sensor, sensor akan menangkap pancaran sinar inframerah pasif yang dipancarkan oleh tubuh manusia yang memiliki suhu yang berbeda dari lingkungan sehingga menyebabkan material pyroelectric bereaksi
(18)
menghasilkan arus listrik karena adanya energi panas yang dibawa oleh sinar inframerah pasif tersebut. Kemudian sebuah sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian dibandingkan oleh comparator sehingga menghasilkan output.
Gambar 2.4 Sebuah Objek melewati sensor PIR
Seperti yang ditunjukkan pada Gambar 2.4 ketika ada sebuah objek melewati sensor, pancaran radiasi infra merah pasif yang dihasilkan akan dihasilkan akan dideteksi oleh sensor. Energi panas yang dibawa oleh sinar infra merah pasif ini menyebabkan aktif material pyroelektric di dalam sensor yang kemudian menghasilkan arus listrik. Ketika manusia berada di depan sensor PIR dengan kondisi diam, maka sensor PIR akan menghitung panjang gelombang yang dihasilkan oleh tubuh manusia tersebut. Panjang gelombang yang konstan ini menyebabkan energi panas yang dihasilkan dapat digambarkan hampir sama pada kondisi lingkungan disekitarnya. Ketika manusia itu melakukan gerakan, maka tubuh manusia itu akan menghasilkan pancaran sinar inframerah pasif dengan panjang gelombang yang bervariasi sehingga menghasilkan panas berbeda yang menyebabkan sensor merespon dengan cara menghasilkan arus pada material Pyroelectricnya dengan besaran yang berbeda beda. Karena besaran yang berbeda inilah comparator menghasilkan output. Jadi sensor PIR tidak akan menghasilkan output apabila sensor ini dihadapkan dengan benda panas yang tidak memiliki panjang gelombang inframerah antara 8 µm sampai 14 µm
Secara umum penggunaan PIR untuk aplikasi tadi hampir sama,sensor ini banyak di gunakan untuk security system, lighting control, temperature system dan pintu otomatis.Misalnya sensor ini digunakan untuk lighting control dan temperature
(19)
manusia dan kemudian menghidupkan lampu atau menghidupkan kipas dan ketika tidak ada orang yang dideteksi lampu akan mati. Masalah penempatan sensor juga harus diperhitungkan, jangan sampai ketika orang sudah ada di dalam ruangan tapi belum terdeteksi sehingga lampu tidak juga menyala atau kipas tidak juga menyala PIR untuk aplikasi lighting control dan temperature control tidak memerlukan power supply karena sensor ini langsung di koneksi langsung ke installasi listrik dengan sumber tegangan 220VAC.
2.3 Fotodioda
Photodioda adalah dioda sambungan p-n yang secara khusus dirancang untuk mendeteksi cahaya yang biasnya terdapat pada lapisan instrinsik adntara lapisan n dan p. Piranti yang memiliki lapisan intrinsik tersebut disebut p-i-n atau PIN photodioda. Energi cahanya lewat melewati lensa yang mengekspos sambungan.
Photodioda dirancang beroperasi pada mode bias-balik. Arus bocor bias balik mengingkat dengan peningkatan level cahaya. Harga arus umumnya adalah dalam rentang mikroampere. Photodioda mempunyai respon waktu yang cepat terhadap berbagai cahaya.
Photodioda merupakan komponen yang dapat mengubah energi cahaya Inframerah menjadi pulsa-pulsa sinyal listrik yang kualitasnya cukup baik. Semakin besar intensitas cahaya inframerah yang diterima maka sinyal pulsa listrik yang dihasilkan akan cukup baik. Pada prakteknya sinyal inframerah yang dierima intensitasnya sangat kecil sehingga diperlukan sebuah penguat. Ketika photodioda mendapat cahaya inframerah maka terdapat arus bocor yang relative kecil. Besar kecilnya arus bocor ini bergantung kepada intensitas cahaya inframerah yang mengenai fotodioda tersebut. Arus bocor yang dihasilkan fotodioda besarnya linier terhadap intensitas cahaya inframerah yang dimaksukkan dalam daerah penerimaan. Oleh sebab itu arus diubah menjadi tengangan agar didapatkan sinyalnya kembali. Untuk teknik pengubahan arus menjadi tegangan dapat dilihat pada gambar berikut ini.
(20)
vcc
1O KΩ
22O KΩ
68O KΩ
-
Vo
ut
Intensitas Cahaya
Gambar 2.5 Rangakaian Photodioda dan Grafik Lineraritasnya
Untuk mengubah arus menjadi tegangan digunakan sebuah resistor R1 dengan niali yang cukup besar. Besarnya nilai R harus disesuaikan agar tidak menyebabkan diode inframerah jenuh karena jika diode infra merah jenuh maka tidak ada sinyal carier yang diteruskan sehingga data yang ditransmisikan tidak dapat diterima lagi. Untuk mencegah agar tidak jenuh maka tegangan bias tidak boleh terlalu tinggi dan nilai R tidak boleh terlalu besar. Pada suatu kondisi tertentu jika cahaya selain cahaya inframerah terlalu terang arus bocor dapat mencapai beberapa milliamper dan resistansinya turun menjadi 10k sehingga untuk mencegah saturasi maka nilai R harus kurang daru 10. Dengan nilai R 10k ini dapat merubah tiap 10µA menjadi 10mV. Kondisi Ideal yang jauh berbeda dengan keaadan sebenarnya dimana sinyal yang diterima sangat lemah sehingga menghasilkan arus bocor yang sangat kecil sehingga R yang digunakan juga harus diganti dengan niali yang lebih besar untuk dapat mengkonversi arus menjadi tegangan.
(21)
2.4 Mikrokontroller AT89S52
Mikrokontroller AT89S52 adalah salah satu anggota dari keluarga MCS-51/52 yang dilengkapi dengan internal 8 Kbyte Flash PEROM (Programmable and Erasable
Read Only Memory), yang memungkinkan memori program untuk dapat diprogram
kembali. AT89S52 dirancang oleh Atmel sesuai dengan instruksi standar dan susunan pin 80C5. Mikrokontroller berteknologi memori non-volatile berkerapatan tinggi dari atmel ini mempunyai jumlah pin sebanyak 40 pin.
2.4.1 Sistem Minimum Mikrokontroller AT89S52
Mikrokontroller AT89S52 hanya memerlukan tambahan 3 buah kapasitor, 1 resistor ,1 kristal dan catudaya 5 V. Kapasitor 10 µF dan resistor 8k2Ω dibentuk rangkaian reset. Dengan adanya rangkaian reset ini mmikrokontroller At89S52 ini otomatis direset setelah menerima catudaya. Kristal dengan Frekuensi maksimum 11,0592 MHz dan kapasitor 30 pF dipakai untuk melengkapi rangkaian oscillator pembentuk clock yang menentukan kecepatan kerja mikrokontroller mAt89S52.
Mikrokontroller AT89S52 memerlukan daya yang rendah dengan penampilan yang baik dengan menggunakan pengisi sistem yang dapat diprogram dengan mudah melalui ISP Memory Flash. Komputer dengan mikrokontroller dapat berhubungan secara langsung hanya dengan menggunakan kabel antar muka (konektor paralel). Dengan ISP Memory Flash mengijinkan program yang telah dibuat dapat diganti dengan program yang baru dengan cara menghapus data yang ada pada mikrokontroller lalu mengisi dengan program baru.
Mikrokontroller AT89S52 memiliki :
1. Sebuah CPU ( Central Processing Unit ) 8 Bit. 2. 256 byte RAM ( Random Acces Memory ) internal.
3. Empat buah port I/O, yang masing masing terdiri dari 8 bit 4. Osilator internal dan rangkaian pewaktu.
5. Dua buah timer/counter 16 bit
(22)
7. Sebuah port serial dengan full duplex UART (Universal Asynchronous
Receiver Transmitter).
8. Mampu melaksanakan proses perkalian, pembagian, dan Boolean.
9. EPROM yang besarnya 8 KByte untuk memori program.
10.Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi
11.clock 24 MHz. Apabila frekuensi clock mikrokontroller yang digunakan adalah
12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs
2.4.2 Arsitektur Mikrokontroller AT89S52
Di dalam mikrokontroller AT89S52, sudah terdiri dari:
1. Kompatibel dengan produk MCS-51
2. 8 Kbite In-System Reprogammable Flash Memory
3. Daya tahan 1000 kali baca/tulis
4. Fully Static Operation : 0 Hz dan 24 MHz 5. 128 x 8 bit RAM
6. 32 jalur I/O
7. Tiga level kunci program 8. Enam sumber interupt 9. Jalur serial dengan UART
2.4.3 Konfigurasi Pin Mikrokontroller AT89S52
(23)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 26 25 24 23 22 21 17 18 19 20 32 31 30 29 28 27 38 37 36 35 34 33 40 39 VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP ALE/PROG PSEN RST (RXD) P3.0 (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GRD (T2) P1.0 (T2 EX) P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8)
Gambar 2.6 Deskripsi Pin AT89S52
Berikut ini adalah susunan pin/kaki dari Mikrokontroller AT89S52 yaitu: 1. VCC (Pin 40) merupakan Suplay tegangan 5 Volt
2. GND (Pin 20)adalah Ground
3. Port 0 (Pin 39 – Pin 32) dimana Port 0 yang merupakan saluran/bus I/O 8 bit open
colector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data
selama adanya akses ke memori program eksternal.
4. Port 1 (Pin 1 – Pin 8) dimana Port 1 yang merupakan saluran/bus I/O 8 bit dua arah yang di dalamnya terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programer yang terhubung ke komputer.
5. Port 2 (Pin 21 – Pin 28), Port 2 yang merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups dan berfungsi memberikan logika 1.
6. Port 3 (Pin 10 – Pin 17), Port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka ini dapat digunakan sebagai port paralel 8 bit serbaguna
Tabel 2.2 Konfigurasi Port 3 mikrokontroller AT89S52 Nama Pin Fungsi
P3.0 (Pin 10) RXD alamat B0H; Untuk menerima data port serial
P3.1(Pin 11) TXD alamat B1H; Untuk mengirim data port serial
P3.2(Pin 12) INT0 alamat B2H; Interupsi eksternal 0
(24)
P3. 4(Pin 14) T0 alamat B4H; Input Eksternal waktu/pencacah 0
P3.5(Pin 15) T1 alamat B5H; Input Eksternal waktu/pencacah 1
P3.6(Pin 16) WR alamat B6H; Jalur menulis memori data eksternal
P3.7(Pin 17) RD alamat B7H; Jalur membaca memori data eksternal
7. RST (Pin 9), Reset akan aktif dengan memberikan high selama 2 cylce.
8. ALE/PROG (Pin 30), Address Latch Enable (ALE)/PROG merupakan penahan alamat
memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pin ini juga sebagai pulsa/sinyal input pemograman (PROG) selama proses pemograman
9. PSEN (PIN 29), Program Store Enable (PSEN) merupakan sinyal pengontrol untuk
mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).
10.EA (Pin 31), External Access Enable (EA) merupakan sinyal kontrol untuk
pembacaan memori program. Apabila diset rendah (L) maka mikrokontroller akan melaksanakan seluruh instruksi dari memori program eksternal sedangkan apabila diset tinggi (H) maka mikrokontroller akan melaksanakan instruksi dari memori program internal ketika isi program
11.XTAL1 (Pin 19), Input untuk Clock Internal 12.XTAL2 (Pin 18), Output dari Isolator
(25)
2.4.4 Struktur Memori
Struktur memori pada Mikrokontroller AT89S52 dapat dilihat pada gambar 2.7 di bawah ini:
Gambar 2.7 Struktur Memori Mikrokontroller AT89S52
Memori dari AT89S52 terbagi menjadi :
a. RAM Internal, terdapat memori sebesar 128 byte yang biasanya digunakan untuk
menyimpan variable atau data yang bersifat sementara.
b. Register bank, mikrokontroller AT89S52 mempunyai delapan buah register yang
terdiri dari R0 hingga R7. Kedelapan register ini selalu terletak pada alamat 00h hingga 07h setiap kali sistem reset.
c. Bit addressable RAM, atau sering juga disebut Scratch Pad Area adalah ruang data memory yang bebas digynakan user sebagai tempat penyimpanan variable atau sebagai alamat inisialisasi Stack Pointer. Berbeda dengan General Purpose RAM, bagian ini tidak hanya dapat diakses per byte namun juga secara per bit.
(26)
d. General Purpose RAM digunakan untuk keperluan umum dimulai dari alamat 30h hingga 7Fh dan dapat diakses dengan pengalamatan langsung maupun tidak langsung. Pengalamatan langsung dilakukan ketika salah satu operand bilangan yang menunjukan lokasi yang diamati. Sedangkan pengalamatan secara tak langsung pada lokasi dari RAM internal ini adalah akses data dari memori ketiga alamat memori tersebut tersimpan dalam suatu register R0 atau R1.
e. Register Fungsi Khusus, mikrokontroller AT89S52 mempunyai 21 Special Function
Register yang terletak pada antara alamat 80h hingga FFh. Beberapa dari
register-register ini mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit. Adapun yang menjadi register khusus yaitu :
1. Accumulator, merupakan register ini terletak pada alamat E0hm, register ini
digunanakan untuk operasi aritmatik,operasi logika dan untuk proses pengambilan dan pengiriman data ke memori eksternal
2. Port, AT89S52 mempunyai empat buah port yaitu port 0, port 1, port 2, port 3 yang terletak pada alamat 80h, 90h, A0h, dan B0h. namun jika digunakan eksternal memori ataupun fungsi-fungsi special, seperti eksternal interup, serial ataupun eksternal timer, port 0, port 2, dan port 3 tidak dapat digunakan sebagai port dengan fungsi umum. Untuk itu disediakan port 1yang dikhususkan untuk port dengan fungsi umum.
3. Program Status Word atau PSW, terletak pada alamat D0h yang terdiri atas beberapa bit, seperti pada gambar 2.8
PSW 7 PSW 6 PSW 5 PSW 4 PSW 3 PSW 2 PSW 1 PSW0
CY AC F0 RS1 RS0 0V - P
Gambar 2.8 Alokasi bit PSW
2.4.5 Organisasi Memori
Semua serpih tunggal dalam keluarga MCS-51 memiliki pembagian ruang alamat memperbolehkan memori data untuk diakses oleh alamat 8 bit. Sekalipun demikian, alamat data memori 16 bit dapat dihasilkan melalui register DPTR (Data Point
(27)
Gambar 2.9 Arsitektur memori mikrokontroller AT89S52
a. Memori Program
Pada EPROM 8 Kbyte, jika EA (External Access) bernilai tinggi, maka program akan menempati alamat 0000 H sampai 0FFF H secara internal.
b. Memori Data
Memori data internal dipetakan seperti pada gambar di bawah ini ruang memorinya menjadi tiga blok yaitu bagian 128 bawah, 128 atas, dan ruang SFR (Special Function
Register)
Gambar 2.10 Pengalamatan Pada mikrokonroller AT89S52
Bagian RAM 128 byte bawah dipetakan menjadi 32 byte bawah dikelompokkan menjadi 4 bank dan 8 register (R0 sampai R7). Pada bagian 16 byte berikutnya, di atas bank-bank register, membentuk suatu blok ruang memori yang bisa teralamati per bit (bit addressable). Alamat alamat bit ini adalah 00 H hingga 7F H. Semua byte yang berada di dalam 128 bawah dapat diakses baik secara langsung maupun tidak langsung. Bagian 128 atas hanya dapat diakses dengan pengalamatan
(28)
tidak langsung. Bagian 128 atas dari RAM hanya ada di dalam piranti yang memiliki RAM 256 byte.
2.5 Modul LCD (Liquid Cristal Display)
Modul LCD merupakan modul keluaran yang digunakan sebagai tampilan pada aplikasi pengontrol suhu. Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2x16, maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter.
Gambar 2.11 LCD character 2x16
LCD display module M1632 terdiri dari dua bagian, yang pertama merupakan panel LCD sebagai media penampil informasi dalam bentuk huruf/ angka dua baris, masing – masing baris bisa menampung 16 huruf/ angka.
2.5.1 Spesifikasi LCD M1632
Beberapa Spesifikasi dari LCD (Liquid Cristal Display) M1632: 1. Tampilan 16 karakter 2 baris dengan matrik 5 x 7 + kursor.
2. ROM pembangkit karakter 192 jenis.
3. RAM pembangkit karakter 8 jenis ( diprogram pemakai ).
4. RAM data tampilan 80 x 8 bit ( 8 karakter ).
5. Duty ratio 1/16.
6. RAM data tampilan dan RAM pembangkit karakter dapat dibaca dari unit
(29)
7. Beberapa fungsi perintah antara lain adalah penghapusan tampilan (display clear), posisi krusor awal (crusor home), tampilan karakter kedip (display character blink ), pengeseran krusor (crusor shift) dan penggeseran tampilan (display shif ).
8. Rangkaian pembangkit detak.
9. Rangkaian otomatis reset saat daya dinyalakan. 10.Catu daya tunggal +5 volt.
Diagram blok tampilan LCD (Liquid Cristal Display) dapat dilihat pada gambar 2.15 di bawah ini.
Controller
Segmen Driver Timing Signal 3
Serial Data Segmen Signal
16 Comon Signal
40 DB0 - 7
RS
E R/W
VLC VSS VDD
40
LCD (2 x16 )
Gambar 2.12 Diagram Blok LCD
2.5.2 Konfigurasi Pin LCD
Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2 x 16 maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter. Rangkaian Modul LCD diperlihatkan pada gambar 2.13 di bawah ini.
Gambar 2.13 Konfigurasi pin LCD 2 x 16
(30)
Pada gambar 2.13 diatas diperlihatkan rangkaian modul LCD yang akan dihubungkan dengan mikrokontroler, dimana didalamnya terdapat 16 terminal yang mempunyai fungsi masing-masing, yaitu :
Tabel 2.3 Pin pada Tampilan LCD Pin
LCD Simbol
Level
logika I/o Fungsi
1 VSS - - Gnd
2 VCC 0/1 - Pengatur Kontras
3 VEE 0/1 - Input perintah (0)Input perintah (1)
4 RS 1 1 Tulis Baca (0/1) LCD
5 R/W 0/1 1 Sinyal Enable
6 E 0/1 I/O Bus Data Baris 0 (LSB)
7 DB 0 0/1 I/O Bus Data Baris 1
8 DB 1 0/1 I/O Bus Data Baris 2
9 DB 2 0/1 I/O Bus Data Baris 3
10 DB 3 0/1 I/O Bus Data Baris 4
11 DB 4 0/1 I/O Bus Data Baris 5
12 DB 5 0/1 I/O Bus Data Baris 6
13 DB 6 0/1 I/O Bus Data Baris 7
14 DB 7 0/1 I/O Bus Data Baris 8
15-16 Back Light - I/O Nyala LED
2.5.3 Stuktur Memori LCD
Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yaitu :
1. DDRAM (Display Data Random Accsees Memory), merupakan memori tempat
karakter yang akan ditampilkan berada. Contoh karakter “A” atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama kolom pertama dari LCD. Apabila karakter tersebut ditulis pada alamat 40h, karakter tersebut akan tammpil pada baris kedua kolom pertama LCD.
(31)
2. CGRAM(Character Generatr Random Accsees Memory), merupakan memori untuk menggambarkan pola sebuah karakter dan bentuk karakter dapat diubah-ubah sesuai dengan keinginan. Akan tetapi isi memori akan hilang pada saat Power Supply tidak aktif sebingga pola karakter hilang.
3. CGROM (Character Generator Data Read Only Memory), merupakan memori untuk
menggambarkan pola sebuah karakter dimana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi , pola karakter tersebutpun tidak akan hilang walaupun power supply tidak aktif.
Beberapa perintah dasar yang harus dipahami adalah instalasi LCD Charakter: 1. Function Set berfungsi untuk mengatur interdace lebar data, jumlah dari baris dan
ukuran font karakter.
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 DL N F X X
Dimana: X = Don’t care
DL: mengatur lebar data
DL = 1, lebar data interface 8 bit (DB7 s/d DB0) DL = 0, lebar data interface 4 bit (DB7 s/d DB4)
Ketika menggunakan lebar data 4 bit, data harus dikirim dua kali N: Pengaktifan baris
N = 0, 1 baris N=1, 2 baris
F: Penentuan ukuran font karakter F = 0, 5 x 7
F = 1, 5 x 8
2. Entry Mode berfungsi mengatur increament/decrement dan mode geser
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D S
Dimana:
I/D : Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter dituliskan ke DDRAM.
(32)
I/D = 1, increment
S: Geser keseluruhan display ke kanan dan kiri S = 1, geser ke kiri atau ke kanan bergantung pada I/D S = 0, display tidak bergeser
3. Display On/Off berfungsi untuk mengatur status display ON atau OFF, cursor
ON/OFF dan fungsi kursor Blink
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 D C B
Dimana:
D: mengatur Dislay D= 1, Display is ON D= 0, Display OFF
Pada kasus ini data display masih tetap berada di DDRAM dan dapat ditampilkan kembali secara langsung dengan mengatur D=1
C: Menampilkan Kursor C = 1, Kursor ditampilkan
C = 0, Kursor yang akan ditampilkan
B : Karakter ditunjukkan dengan kursor yang berkedio B = 1, kursor blink.
4. Clear Display berfungsi sebagai perinteh untuk menghapus layar
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1
5. Geser Kursor dan Display berfumngsi untuk menggeser posisi kursor atau display ke ke kanan atau ke kiri tanpa menulis atau membaca data display. Fungsi ini digunakan untuk koreksi atau pencarian display.
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 1 S/C R/L X X
Catatan: X = Don’t care
(33)
0 0 Shift Cursor position to the left
0 1 Shift Cursor position to the right
1 0 Shift the entire position to the left
1 1 Shift the entire position to the right
2.6 Relay
Relay adalah suatu komponen elektronik yang berfungsi sebagai saklar elektromagnetik. Prinsip kerja dasar komponen ini adalah penggunaan lilitan kawat untuk menghasilkan medan elektromagnetik disekitar lilitan tersebut. Atau dengan kata lain relay hanya dapat berfungsi sebagai saklar on / off yang diatur oleh adanya gaya magnet dari kumparan yang dialiri arus.
Relay dapat dibedakan atas perbedaan nilai tegangan ambang yang digunakan untuk mengaktifkannya. Biasanya relay yang ada di pasaran dapat berjenis relay 6 volt dan 12 volt. Arus yang digunakan pada rangkaian relay adalah arus DC. Konstruksi dalam suatu relay terdiri dari lilitan kawat (coil) yang dililitkan pada inti besi lunak. Apabila lilitan kawat mendapatkan suplay arus listrik maka inti besi lunak akan kontak dan terjadi medan elektromagnetik disekitar lilitan yang akan menarik kedua switch penghantar untuk menjadi bersatu atau menjadi terpisah tergantung jenis relay yang digunakan. Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Relay akan kembali pada posisi semula bila tidak ada lagi arus yang mengalir padanya. Posisi normal relay tergantung pada jenis relay yang digunakan dan pemakaian jenis relay ini tergantung keadaan yang diinginkan dalam suatu rangkaian.
(34)
Gambar 2.14 Skema Relay
Apabila arus listrik dimasukkan pada + Vcc maka kumparan pada relay akan bekerja yaitu terjadinya kemagnetan pada kumparan sehigga akan menarik saklar yang terbuat dari bahan logam sehingga pada normally open output akan terhubung dengan
pin input, demikian sebaliknya .
Menurut kerjanya relay dapat dibedakan menjadi : 1. Normally Open (NO)
Relay yang berfungsi sebagai saklar yang selalu dalam keadaan terbuka bila tidak diberikan tegangan dan tertutup apabila mendapat tegangan sesuai dengan tegangan ambangnya.
2. Normally Close (NC)
Relay yang berfungsi sebagai saklar yang selalu dalam keadaan tertutup bila tidak diberikan tegangan dan terbuka apabila mendapat tegangan sesuai dengan tegangan ambangnya, misalnya 6 Volt.
3. Change Over (CO)
Relay ini mempunyai saklar tunggal yang normalnya tertutup, apabila kumparan 1 dialiri arus maka saklar akan terhubung ke terminal A dan sebaliknya bila kumparan 2 dialiri arus maka saklar akan terhubung ke terminal B.
(35)
2.7 Sensor Suhu IC LM35
Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elekris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1°C tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5V pada suhu 150°C.
Sensor suhu IC LM 35 ialah sensor temperatur paling banyak digunakan karena selain harganya cukup murah, linearitasnya juga lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi ± ¼ °C pada temperatur ruangan dan ± ¾ °C pada kisaran -55 °C to +150 °C. LM35 dimaksudkan untuk beroperasi pada -55 °C hingga +150 °C, sedangkan LM35C pada -40 °C hingga +110 °C, dan LM35D pada kisran 0-100°C. LM35D juga tersedia pada paket 8 kaki dan paket TO-220. Sensor LM35 umumnya akan naik sebesar 10mV setiap kenaikan 1°C (300mV pada 30 °C).
Gambar 2. 15 Bentuk Fisik LM 35
IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 m A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.
(36)
Gambar 2.16 Rangkaian pengukur suhu
Sensor suhu IC LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM35 memilik kelebihan dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. Sensor suhu IC LM 35 memiliki impedansi keluaran yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian membuat proses interface untuk membaca atau mengotrol sirkuit lebuh mudah. Pin V+ dari Sensor suhu IC LM 35 dihubungkan kecatu daya, pin GND dihubungkan ke Ground dan pin Vout- yang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke vin (+) dan ADC 0840.
2.7.1 Prinsip Kerja Sensor suhu IC LM 35
Sensor suhu IC LM 35 merupakan IC yang digunakan sebagai sensor suhu. IC tersebut mengubah kondisi suhu lingkungan disekitarnya menjadi sinyal listrik. Sinyal listrik keluaran Sensor suhu IC LM 35 ini memiliki nilai yang sebanding dengan suhu lingkungan dalam bentuk derajat celcius (ºC). Kerja dari sensor suhu LM35 ini adalah perubahan nilai tahanannya akan semakin besar apabila suhu lingkungannya semakin rendah dan nilai tahanannya akan menjadi kecil apabila suhu lingkungannya semakin tinggi. Maka adanya perubahan suhu akan menyebabkan nilai tahanan dari LM35 juga akan berubah. Pada saat LM35 aktif elektron-elektron pada pita valensi akan melakukan pergerakan dari katoda ke anoda sehingga menimbulkan perbedaan potensial. Perbedaan potensial inilah yang menjadi tegangan keluaran dari LM35. Dimana nilai tegangan LM35 akan semakin besar jika nilai suhu besar sebaliknya nilai
(37)
tegangan LM35 akan semakin kecil jika nilai suhu yang dibaca kecil. LM35 memiliki tingkat kelinieran yang tinggi dimana kenaikan 1ºC akan menghasilkan tegangan sebesar 10mV atau 10 mVolt/ºC.
2.8 ADC (Analog to Digital Converter)
Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal-sinyal digital. Proses pengubahan ini dikenal juga dengan nama sistem akusisi data. ADC merupakan piranti masukan, artinya mikrokontroler mendapatkan data dari ADC. ADC memerlukan sinyal write dan read. Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi. A/D Converter ini dapat dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum. Terdapat 4 macam ADC yang memenuhi standar industri, yaitu integrating, tracking, flash/parallel dan successive approximation
Jenis 0804 ini merupakan ADC yang sederhana dan mudah digunakan. IC ADC 0804 ini mempunyai 20 pin dengan konfigurasi seperti gambar berikut :
Gambar 2.17 Konfigurasi Pin IC ADC 0804
Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan konversi, yaitu free running dan mode control. Pada mode free running, ADC akan mengeluarkan data hasil pembacaan input secara otomatis dan berkelanjutan (continue). Prinsip yang kedua yaitu mode control, pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa
(38)
rendah kepada masukan WR sesaat, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah. Pada penelitian ini, prinsip konversi yang digunakan adalah mode control.
Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:
1. Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan
analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi. 2. Rangkaian Konversi A/D (plus rangkaian kontrolnya).
ADC memerlukan bantuan sekuensi kontrol untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi (conversion time). Namun demikian, kemampuan riil ADC dalam kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas ADC-nya.
(39)
2.9 Perangkat Lunak
2.9.1 Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram Mikrokontroller AT89S52 adalah bahasa assembly untuk MCS-51 yang merupakan salah satu keluaran dari mikrokontroller yang menggunakan teknologi CMOS. Angka 51 merupakn jumlah instruksi pada bahasa ini hanya 51 instruksi.
Keluarga MCS-51 mempunyai berbagai macam yang dikelompokkan antara lain:
a. Tegangan Kerja
Tegangan kerja AT89L55 buatan Atmel dapat beroperasi pada tegangan 2,7 V sampai 6 V. Dari seri P89LPC9XX buatan Philips dapat beropepeasri pada tengangan 2,5 V samapi 3,6 V
b. Memori
Beberapa tipe memori pada MCS-51:
1. One Time Programmable (OTP) / Mask ROM (Read Only Memory)
2. MTP Flash / EEPROM
3. Multiple Time Programmable (MTP) Ultra-Violet Eraseble Programmable ROM
(UVEPROM) c. Fungsi Khusus
Beberapa fungsi pada MCS-51 antara lain:
1. C8051F20 buatan Cygnal memiliki ADC hingga 12 bit 32 chanel
2. ATmega8535 ADC 10 bit 8 chanel. Fitur ini terdapat pada kit DT51 AVR low cost 3. P8LPC768 buatan Philips memiliki 8 keyboard, power on reset dan breown out detect
d. Timer/Counter
Timer/ counter yang dimiliki MCS-51 dapat mencapai 5 buah seperti P8LPC768 buatan Philips, tipe yang lain memiliki fasilitas Pulse Width Modulation (PWM),
Programmable Counter Array (PCA) dan Wathdog Timer
(40)
Assembler adalah sebuah program yang membaca file teks dari instruksi assembly dan dikonversi menjadi kode mesin. Kompiler adalah program juga melakukan pengkonversian namun untuk bahasa tingkat tinggi. Assembler lebih sederhana daripada kompiler. Setiap perintah bahasa assembly secara langsung mewakili satu instruksi mesin. Perintah bahasa tingkat tinggi lebih komplek dan memerlukan banyak instruksi mesin. Perbedaan penting lainnya antara assembly dan bahasa tingkat tinggi adalah, bahwa setiap perbedaan jenis CPU akan memiliki instruksi mesin tersendiri juga akan memiliki bahasa assembly tersendiri pula. Angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Instruksi-instuksi tersebut antara lain:
1. Instruksi MOV
Perintah ini merupakan perintah dasar untuk mengisikan nilai ke alamat atau register tertentu.
Contoh:
mov cx, 02 ; angka 2 disimpan di register cx
mov r0,#20 h ; isikan nilai 20 heksadesimal ke register r0, tanda ‘#’
sebelum bilangan mmenunjukkan bahwa bilangan tersebut adalah nilai
[100], bx ; isi data dilokasi memomri 100 disimmpan di alamat bx
2. Instruksi CALL
Intruksi ini berfungsi memanggil surutin tertentu.
a. Acall melakukan subrutin yang ditunjuk dengan jangkauan 2 Kbyte b. Lcall melakukan subrutin yang ditunjuk dengan jangkauan 64 Kbyte
contoh: ……… acall tunda ……… tunda:
………
3. Instruksi Ret
Intruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah intruksi acall dilaksanakan.
Contoh: acall tunda ………
(41)
tunda:
………
ret
4. Intruksi Cjne (Compare and Jump if Not Equal)
Intruksi ini melakukan perbandingan antara data sumber dengan data tujun, bila data sama akan dilanjutkan pada instruksi berikutnya, jika tidak akan lompat ke alamat yang dituju.
Contoh:
Cjne @R1,#00h, beda
5. Intruksi Djnz (Dcrement and Jump if Not Zero)
Intruksi ini melakukan operasi pengurangan pada alamat register yang ditunjuk dengan nilai 1 dan jump jika hasil pengurangan tidak sama dengan 0
Contoh: Loop:
Djnz 08h, loop Ret
6. Instruksi Jb (Jump on Bit set)
Jika data bit sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 0 program akan melanjutkan program di bawahnya.
Contoh:
Jb p2.2, lompat Add A, 20h Lompat: dec A
7. Intruksi Jbc (Jump onbit set then clear bit)
Jika data bit sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi dan sekaligus mengubah bitnya dengan 0
8. Instruksi Jc (Jump on carry)
Jika data bit pada carry flag sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 0 program akan melanjutkan program di bawahnya.
9. Intrusksi Jmp
(42)
10.Intruksi Jnb (Jump on bit set)
Jika data bit sama dengan 0 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 1 program akan melanjutkan program di bawahnya. 11.Intruski Jnc (Jump on no carry)
Jika data bit pada carry flag sama dengan 0 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 1 program akan melanjutkan program di bawahnya
12.Intruksi Jnz (Jump if not zero)
Jika data pada akumulator tidak sama dengan 00h maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 00h program akan melanjutkan program di bawahnya
13.Intruksi Jz (Jump if Zero)
Jika data pada akumulator sama dengan 00h maka program akan melanjutkan program selanjutnya tetapi jika data sama dengan 00h program akan melompat ke sub rutin yang ditunjuk.
14.Instruksi Clr (Clear)
Intruksi ini akan memberikan data 0 pada register yang ditunjuk.
Contoh:
Clear A ; intruksi ini member data 0 pada A
15.Instruksi Cpl (Complement)
Intruksi ini akan melakukan komplemen register yang ditunjuk.
Contoh:
Cpl A.1 ; data pada A.1 dikomplemenkan
16.Intruksi Subb
Intruksi ini melakukan pengurangan data pada antara dua buah alamat register beserta dengan bit carry flagnya.
17.Intruksi Setb
Intruksi ini melakukan operasi set pada bit pada alamat yang ditunjuk.
18.Instruksi Aritmatika
Instruksi aritmatika meliputi: a. Penjumlahan (Addition)
Contoh:
(43)
Pada R2 dan hasilnya di simpan di A
b. Pengurangan (Subtraction)
Contoh:
SUB CX, BX ;hasilnya disimpan di CX
DEC CX ;hasil CX = CX + 1
c. Pembandingan (CMP / Comparison)
Contoh:
CMP DL, BL ;bandingkan isi DL dengan BL
d. Perkalian (Multiplication)
Perkalian antara AL (8 bit) atau AX (16 bit) dengan isi reg atau [alamat], hasilnya disimpan di AX (8 bit) atau DX-AX (16 bit).
contoh:
mul dl ;isi al (8 bit) dikali dengan dl, hasil di ax
mul bx ;isi ax (16 bit) dikali dengan bx, hasil di dx-ax
e. Pembagian (Division)
contoh:
div dl ;isi ax dibagi dl,hasil di al
(44)
BAB 3
PERANCANGAN DAN CARA KERJA ALAT
3.1 Diagram Blok Rangkaian
Secara garis besar, diagram blok dari rangkaian aplikasi dari sensor PIR (Passive Infa
Red) untuk pengontrolan suhu ruangan ditunjukkan pada gambar 3.1 berikut di bawah
ini:
Driver Fotodioda
Sensor PIR
Mikrokontroler AT89S52
Relay 1
Relay 2
Relay 3
LCD
Fotodioda Kipas
Sensor Suhu IC LM35
Gambar 3.1 Diagram Blok Rangkaian
Pada gambar 3.1 Diagram Blok aplikasi dari sensor PIR (Passive Infra Red) yang terdiri atas :
1. Driver Fotodioda, dimana LED inframerah yang berfungsi sebagai
(45)
menyala secara otomatis, jika pengunjung keluara maka kipas akan menurunkan kecepatan kipas secara otomatis.
2. Fotodioda berfungsi sebagai receiver untuk mengetahui ada
pengunjung masuk atau keluar.
3. Sensor PIR digunakan untuk mendeteksi ada tidakanya pengunjung
masuk atau keluar dari dalam ruangan.
4. Sensor suhu IC LM 35 akan mendeteksi suhu ruangan dana kan akan
ditamplkan pada LCD setiap pertambahan dan pengurangan pengunjung.
5. Mikrokontroller AT89S52 digunakan sebagai pengontrol kerja dan
pengolah data yang akan ditampilkan oleh LCD
6. Relay sebagai driver yang berfungsi mengatur level kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik.
7. LCD ( Liquid Crystal Display ) berfungsi sebagai penampil data
jumlah pengunjung yang datang dan keluar serta kecepatan kipasnya.
8. Kipas berfungsi sebagai pendingin otomatis yang berkerja sesuai
perintah dari mikrokontroller.
3.2 Rangkaian Photodioda
(46)
100
Ω
100
Ω
100
Ω
10 k
Ω
10 k
Ω
Vo ¼ 324 5 V
Gambar 3.2 Rangkaian Fotodioda
Fotodioda adalah suatu dioda yang arus reverse-nya berubah bila mendapat penyinaran, prinsip kerja dari fotodioda adalah apabila sebuah dioda diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus reverse malalui doida tersebut, besarnya arus reverse ini tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer-nya. Oleh karena itu, dioda ini harus bisa tembus cahaya agar cahaya dapat mencapai deplection layer-nya sehingga arus reverse yang besarnya tergantung intensitas cahaya yang menyinarinya. Apabila fotodioda mendapatkan cahaya, ini menyebabkan timbulnya arus balik I2. Dengan menambahkan tegangan-tegangan melingkari simpal keluaran
Pada suatu kondisi tertentu jika cahaya selain cahaya inframerah terlalu terang arus bocor dapat mencapai beberapa mA dan resistansinya turun menjadi 10k sehingga untuk mencegah saturasi maka nilai R harus kurang daru 10. Dengan nilai R 10k ini dapat merubah tiap 10µA menjadi 10mV. Kondisi Ideal yang jauh berbeda dengan keaadan sebenarnya dimana sinyal yang diterima sangat lemah sehingga menghasilkan arus bocor yang sangat kecil sehingga R yang digunakan juga harus diganti dengan nilai yang lebih besar untuk dapat mengkonversi arus menjadi tegangan
(47)
3.3 Rangkaian Sensor PIR
Proses kerja sensor ini dilakukan dengan mendeteksi adanya radiasi panas tubuh manusia yang diubah menjadi perubahan tegangan. Namun perubahan tegangan pada PIR sangatlah kecil yaitu berkisar pada kisaran 10 hingga 20 milivolt atau bahkan lebih kecil lagi, tetapi dalam Sensor PIR KC7783R ini telah terdapat penguat penguat non iverting jadi pada rangkaian ini tidak memerlukan penguat lagi.
Berikut adalah gambar kaki/pin pada sensor PIR (Passive Infra Red)
gnd
vcc vo
Gambar 3.3 Pin Sensor PIR
Pada pin sensor PIR (Pasissive Infra Red) kaki-kai dihubungkan ke Power Supply melalui Pin 1 (Vcc) dan Pin 2 (ground), sedangkan pad pin 3 (O/P) terhubung ke port P3.0 pada mikrokontroller AT89S52 yang berfungsi untuk medeteksi ada tidaknya pengunjung dalam hal ini manusia ke dalam ruangan. Hal ini sangat tergantung dari beberapa faktor yaitu, panas tubuh dari manusia yang dideteksi, jarak dengan sensor maupun suhu lingkungan.
(48)
Gambar 3.4 Kaki koneksi PIR (Pasissive Infra Red)
3.4 Rangkaian Mikrokontroller AT89S52
Rangkaian skematik dan layout PCB sistemm minimum mikrokontroller AT89S52 dapat dilihat pada gambar 3.5 berikut ini:
(49)
Pada pin 18 dan pin 19 dihubungankan ke XTAL 11,0592 MHz dan dua buah kapasitor 30 pF. XTAL ini aka mempengaruhi kecepatan mikrokontroller AT89S52 dalam mengeksekusi setiap perintah dalam program . Pin 9 merupakan masukan reset (aktif high). Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroller ini. Pin 32 sampa 39 adalah port 0 yang merupakan salauran/bus I/O 8 bit open collector dapat digunaka juga sebagai multipleks bus alamat rendah dan bus alamat data selama adanya akses ke memori program eksternal.
Karena fungsi tersebut maka port dihunbungkan dengan resistor array. Jika mikrokontroller menggunakan memori eksternal, maka penggunaan resistor array tidak begitu penting. Selain digunakan untuk fungsi dia tas resistor array digunakan sebagai pull up. Untuk mendownload file heksadesmal ke mikrokontroller, Mosi, Miso Sck, Reset, Vcc dan Gnd dari kaki mikrokontroller dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke computer melalui parallel port.
Kaki Mosi, Miso Sck, Reset, Vcc dan Gnd pada mikrokontroller terletak pada kaki 6, 7, 8, 9 40 dan 20. Apabila terjadi keterbalikan pemasangan jalur ke ISP
Programmer, maka mikrokontroller tidak dapat dilakukan karena mikrokontroller
tidak akan bisa merespon.
3.5 Rangkaian Relay
Peracangan rangkaian relay ini berfungsi sebagai scalar elektronik yang dapat menghidupkan dan mematukan peralaratan elektronik. Pada rangkaian ini digunakan relay 12 V, ini bereti jika positif relay (kaki 1) dihubungkan ke sumber tengan 12 V dan negative relay (kaki 2) di hubungkan ke ground, maka kumparan akan
(50)
menghasilkan medan magnet ini akan menarik logam yang mengakibatkan scalar (kaki 3) terhubung ke kaki 4 dan kaki 7 terhubung ke 8. Dengan demikian jika kita menggunakan kaki 3 dan kaki 4 sebagai scalar untuk menghidupkan kipas dengan cara mengaktifkan atau menonaktifkan relay.
Gambar 3.6 Rangkaian Relay
Pada rangkaian ini untuk mengaktifkan datau menonaktifkan relay digunakan transistor tipe NPN. Dari gambar di atas dapat dilihat bahwa negated relay dihubungkan ke kolektor dari transistor NPN, ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor langsung terhubung ke ground yang
(51)
menyebabkan tegangan di kolektor menjadi 0 V, keadaan ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tdak aktif maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 Volt, keadaan ini menyebabkan tidak aktif.
Kumparan relay akan menghasilkan tegangan singkat yang besar ketika relay di non-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian ini. Untuk mencegah kerusakan pada transistor tersebut sebuah diode harus dihubungkan ke relay tersebut. Diode dihubungkan secara terbalik sehingga secara normal diode ini tidak menghantarkan.
Penghantaran hanya terjadi ketika relay dinonaktifkan, pada saat ini arus akan mengalir melalui kumparan dan arus ini akan mengalir ke diode, tanpa adanya arus diode sesaat yang besar itu akan mengalir ke transistor yang mengakibatkan kerusakan pada transistor.
3.6 Display LCD karakter 2 x 16
Modul LCD merupakan modul keluaran yang digunakan sebagai tampilan pada aplikasi pengukur suhu. Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2x16, maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter.
(52)
JP5 LCD 1 VSS 2 VCC 3 VEE 4 RS 5 RW 6 E 7 DB0
9 DB2 8 DB1
10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 15 VCC 16GND VCC VLC LCD 1 2 VCC VCC IN4002 M1632 7 14 13 12 1110 9 8 15
16 6 5 4 3
DB6 DB5 DB4 DB0 DB1 DB2 DB3 DB7 2 1 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P0.0 P2.1 P2.2 33 34 35 36 37 38 39 32 RS E
Gambar 3.7 Rangkaian Modul LCD
Pada gambar 3.7 diatas diperlihatkan rangkaian modul LCD yang akan dihubungkan dengan mikrokontroler, dimana didalamnya terdapat 16 terminal yang mempunyai fungsi masing-masing, yaitu :
1. DB4-DB7, merupakan penyemat untuk empat jalur data atas yang dapat
digunakan untuk membaca data dari modul ke mikrokontroler atau menulis data dari mikrokontroler ke modul. DB7 juga digunakan sebagai penanda sibuk.
2. DB0-DB3, merupakan penyemat untuk empat jalur data bawah yang dapat
digunakan untuk membaca data dari modul ke mikrokontroler atau menulis data dari mikrokontroler ke modul. Apabila yang dibutuhkan hanya 4 bit maka, jalur data ini tidak digunakan, sehingga hanya menggunakan jalur data atas.
3. E (Enable), merupakan penyemat untuk sinyal operasi awal yang mampu
(53)
4. R/W (Read/Write), merupakan menyemat untuk sinyal pemilih baca atau tulis, yang mana bila penyemat ini diberi logika 1, modul akan melakukan operasi baca, sebaliknya bila diberi logika 0 akan melakukan operasi tulis. Pada aplikasi ini karena LCD digunakan sebagai modul keluaran saja berarti hanya melakukan operasi baca saja. Untuk mempermudah program maka pin 5 (R/W) langsung dihubungkan dengan ground.
5. RS (Register Selection), merupakan penyemat untuk sinyal pemilih fungsi
regiater yang apabila diberikan logika 0, register berfungsi sebagai register instruksi untuk operasi tulis atau sebagai penanda sibuk, dan sebagai pencacah alamat untuk operasi baca. Apabila diberi logika 1, register berfungsi sebagai register data, baik untuk operasi tulis ataupun baca.
6. VEE (VLC), merupakan terminal catu daya untuk pengendalian tampilan LCD, yaitu mengatur ketajaman tampilan karakter pada layar.
7. VCC, merupakan penyemat untuk terminal catu daya 5 volt. 8. VSS, merupakan Ground
3.7 Rangkaian Sensor Suhu IC LM 35
IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 m A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.
(54)
Sensor suhu IC LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM35 memilik kelebihan dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat.
3.8 Flow Chart Rangkaian
Secara garis besar, diagram alir dari rangkaian aplikasi dari sensor PIR (Passive
Infra Red) untuk pengontrolan suhu ruangan ditunjukkan pada gambar 3.1 berikut di
(55)
start
inisialisasi
Fotodioda aktif
PIR aktif
Ada orang masuk
Ada orang keluar
PIR aktif Fotodioda aktif Pengunjung = pengunjung - 1 Pengunjung = pengunjung + 1 Pengunjung < 8 ? 2 < Pengunjung < 6 ? 8< Pengunjung
< 15 ?
Pengunjung > 15? Aktifkan relay1
Matikan relay2 Matikan relay3
Matkan relay1 Aktifkan relay2 Matikan relay3 Matikan relay1 Matikan relay2 Aktifkan relay3 Update display 0 1 1 0 Baca Suhu
Gambar 3.8 Flowchart Pengontrol suhu ruangan
Keterangan Flowchart:
Awal Start akan menginstalasi fotodioda dan menset pada logika low (0). Kemudian Sensor PIR akan medeteksi ada apakah ada pengunjung yang masuk pada logika high (1), apabila sensor PIR mendeteksi ada pengunjung yang masuk ke dalam ruangan maka sensor LM 35 akan mendeteksi suhu runagan kemudian relay pada kipas akan diaktifkan sehingga kipas akan menyala secara otomatis dengan kecepatan yang
(56)
bergantung pada jumlah pengunjung yang masuk ke dalam ruangan dan apabila pengunjung ke luar dari ruangan maka kipas akan menurunkan kecepatannya pada level tertentu, dan jika tidak ada lagi pengunjung dalam ruangan maka kipas akan mati secara otomatis. LCD akan mengupdate setiap ada pengunjung yang masuk dan keluar dari dalam rungan dengan tampilan “pengunjung ke-, “lvl”, serta “suhu:”.
(57)
BAB 4
HASIL DAN PEMBAHASAN
4.1 Pengujian Rangkaian Mikrokontroller AT89S52
Pengujian rangkaian Mikrokontroler dapat dilakukan dengan cara menghubungkan rangkaian sistem minimum dengan sumber tegangan 5 V. Dimana pin 40 mikrokontroler dihubungkan dengan tegangan 5 V dan pin 20 dihubungkan dengan ground. Setelah itu dilakuan pengukuran tegangan antara pin 40 dan pin 20, didapat tegangan sebesar 4,98 V, artinya sumber tegangan telah sampai pada mikrokonroler.
12 MHz
(58)
Langkah selanjutnya adalah menghubungkan pin 17 (P3.7) dengan IC buffer 74LS24 dan keluarannya dihubungkan dengan sebuah LED yang dipasang aktif High sebagai indikator. IC 74LS24 berfungsi sebagai Buffer (penyangga) dimana logika yang diberikan mikrokontroler akan dikuatkan oleh IC tersebut. Dengan begitu apabila Mikrokontroler memberikan logika 1 maka LED akan Aktif dan apabila diberi logika 0 maka LED akan padam. Dengan adanya IC 74LS24 ini maka arus yang digunakan untuk menghidupkan LED tidak diambil dari mikrokontroler melainkan, mikrokontroler hanya memberikan logika saja.
Berikut ini dalah program yang diisikan kedalam mikrokontroler AT89S52:
Mov r1,#0 Kedip:
Setb p3.7 Acall delay Clr p3.7 Acall delay Sjmp Kedip delay:
mov r0,#255 djnz r0,$ djnz r1,delay ret
end
Program diatas dibuat untuk menghidupkan LED pada port 3.7 dan kemudian mematikannya. Perintah Setb akan menjadikan p3.7 berlogika high yang menyebabkan LED menyala. Perintah clr p3.7 membuat p3.1 kembali berlogika low dan menyebabkan LED padam. Adapun perintah acall delay digunakan untuk memanggil rutin delay yang berfungsi untuk menunda waktu selama beberapa saat supaya pergantian menyala dan pedamnya LED dapat terlihat oleh mata. Untuk melakukan penundaan waktu, maka dibuatlah perintah acall delay. Dengan adanya
(59)
perintah acall maka program untuk sementara akan beralih ke label yang dialamatkan yaitu delay sampai ditemukannya perintah ret.
Lamanya penundaaan waktu yang dikerjaakan oleh delay dapat dihitung dengan cara berikut: mikrokontroler yang digunakan dalam penelitian ini memakai kistal 12 MHz, dalam mengeksekusi satu siklus perintah mikrontroler membutuhkan 12 clock, berarti dalam suatu siklus perintah mikrokontroler membutuhkan waktu sebesar 12 MHz / 12 clock = 1 µs
Perintah mov dan djnz menggunakan 2 siklus dan perintah ret mengunakan 1 siklus. Dalam rutin delay, pertama kali r0 diisi senilai 255. selanjutnya djnz r0,$ (artinya isi r0 dikurang dengan satu jika hasilnya tidak nol maka program akan tetap berjalan dibaris ini). Dari awal r0 bernilai 255, maka program djnz r0,$ dijalankan sebanyak 255 kali.
Berikutnya “djnz r1, delay” (kurangi isi r1 dengan satu dan lompat ke label delay bila hasilnya tidak nol). Dari awal r1 sudah diisikan nilai 0, maka ketika pertama kali dikurang 1 hasilnya kan 256, itu berarti untuk melewati baris program ini, program akan memutar lagi dari label delay sebanyak 256 kali hingga akhirnya r1 kembali bernilai 0. Rutin delay akan dianggap selesai setelah ditemukan perintah ret, maka total waktu untuk mengeksekusi routrin delay adalah:
Tabel 4.1 Waktu Pengeksekuian Rutin Delay
Perintah Siklus Pengulangan Waktu (µs)
Mov
r0,#255 2 256 510
Djnz r0,$
2 255 x 256 130. 560
Djnz
(60)
Ret 1 1 1
Total 131.581
Jadi untuk mengerjakan satu rutin delay membutuhkan waktu selama 131.581 µs. Dengan demikian ditambah dengan perintah acall delay selama 2 µs maka LED akan hidup dan mati selama 131.583 µs atau sekitar 0,13 detik secara bergantian. Perintah sjmp kedip akan membuat program kembali mengulang dari label kedip, sehingga program ini berjalas secara terus-menerus. Saat program ini dieksekusi maka terlihat pada port3.7 LED berkedip terus-menerus. Dengan berjalannya program ini pada mikrokontroler, maka mikrokontroler telah dianggap bagus dan dapat digunakan pada penelitian selanjutnya.
4.2 Interfacing LCD 2x16
LCD dot matriks 2 x 16 karekater dapat dihubungkan langsung dengan mikrokontroler AT89S52, disini fungsi LCD adalah sebagai tampilah hasil pengukuran dan diberi beberapa keterangan. Pada penelitian ini LCD dihubungkan kemikrokontroler melalui Port 0 yang berfungsi bus data. Adapaun data yang dikirimkan oleh mikrokontroler merupakan kode ASCII data dalam bentuk bilangan biner, dimana data tersebut dapat diterjemahkan oleh LCD ke bentuk karakter.
Pengiriman data yang dari mikrokontroler diatur oleh pin EN, RS dan RW, Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberi tahu LCD bahwa ada data yang sedang dikirimkan. Untuk mengirim data ke LCD, maka melalui program EN harus dibuat berlogika “low” dan set ‘high’ pada dua jalur kontrol yang lain (RS dan RW). Jalur RW adalah jalur kontrol Read/write. Ketika RW berlogika low (0), maka informasi pada bus akan dituliskan pada LCD. Ketika RW berlogika high (1), maka program melakukan pembacaan memori dari LCD. Dalam penelitian ini umumnya pin RW selalu diberikan logika low(0)
(61)
Dengan mengikuti keterangan diatas kita dapat membuat program untuk menampilkan karakter pada LCD. Program yang diisikan ke mikrokontroler untuk menampilkan karakter pada LCD adalah sebagai berikut:
Rs equ p2.7
Rw equ p2.6
En equ p2.5
LCD: mov A,#038H Acall scan Acall penampil Acall scan Mov a,#’F’ Acall kirim Mov a,#’I’ Acall kirim Mov a,#’S’ Acall kirim Mov a,#’I’ Acall kirim Mov a,#’K’ Acall kirim Mov a,#’A’ Acall kirim Sjmp LCD
penampil: mov A,#00CH acall scan mov A,#06H acall scan mov A,#080H acall scan ret
scan: mov P0,A clr rs clr rw setb en clr en acall delay ret
kirim: mov P0,A setb rs clr rw setb en clr en acall delay ret end
Program diatas akan menampilkan kata “FISIKA” di baris pertama dimulai dari kolom pertama pada LCD 2 x 16
(62)
Berikut adalah gambar rangkaian pengujian LCD:
Gambar 4.2. Rangkaian pengujian LCD
Pada penelitian ini, saat seluruh rangkaian diaktifkan, maka pada LCD akan tampil “Pengunjung ke:” sensor PIR akan mendeteksi jumlah pengunjung. Sedangkan pada baris kedua akan tampil “Level Kipas:” tulisan pada baris pertama dan kedua tampil secara bersamaan dan diperbaharui setiap ada pengunjung yang masuk dan ke luar.
4.3 Pengujian Rangkaian Relay
Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 V dan 0 V pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 V dan tidak aktif jika pada basis diberi tegangan < 0,7 V. Aktifnya transistor akan mengaktifkan relay.
(63)
Gambar 4.3 Rangkaian Pengujian Relay
Pada alat ini relay digunakan untuk mengaktifkan/menonaktifkan kipas secara otomatis, dimana hubungan yang digunakan adalah normally open (NO), berarti relay aktif jika diberi input 5 V (high) dari mikrokontroler. Dengan demikian jika relay aktif maka kipas juga akan aktif, sebaliknya jika relay tidak aktif, maka kipas juga akan aktif.
Pengujian dilakukan dengan memberikan tegangan 5 V pada basis transistor, jika relay aktif dan kipas juga aktif, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakuka n dengan menghubungkan input rangkaian ini ke mikrokontroler pada P2.4 kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang diberikan adalah sebagai berikut:
Setb P2.4
. . .
Perintah di atas akan memberikan logika high pada P2.4, sehingga P2.4 akan mendapatkan tegangan 5 V. Tegangan 5 V ini akan mengaktifkan transistor C945,
(64)
sehingga relay menjadi aktif dan kipas juga aktif. Berikutnya memberikan program sederhana untuk menonaktifkan relay. Programnya sebagai berikut:
Clr P2.4
. . .
Perintah di atas akan memberikan logika low pada P2.4, sehingga P2.4 akan mendapatkan tegangan 0 V. Tegangan 0 V ini akan menonaktifkan transistor C945, sehingga relay menjadi tidak aktif dan kipas juga tidak aktif.
4.4 Pengujian Sensor PIR (Passive Infra Red)
Pengujian sensor PIR dilakukan untuk mengetahui objek yang terdeksi dengan cara mengukur tegangan keluaran mengunakan multimeter digital dengan jarak yang berbeda dan sudut 0o dan 45 o yang berbeda. Adapun hasil pengujian dilakukan sebagai berikut:
Tabel 4.2 Hasil Pengujian Sensor PIR dengan sudut 0o
Jarak (cm)
Tegangan Keluaran
(Volt)
Keterangan Sensor
Keterangan Objek
30 5,01 Aktif High Mendeteksi Objek
60 5,00 Aktif High Mendeteksi Objek
90 5,01 Aktif High Mendeteksi Objek
120 5,00 Aktif High Mendeteksi Objek
150 5,01 Aktif High Mendeteksi Objek
180 5,01 Aktif High Mendeteksi Objek
210 4,99 Aktif High Mendeteksi Objek
240 4,98 Aktif High Mendeteksi Objek
270 5,02 Aktif High Mendeteksi Objek
300 5,00 Aktif High Mendeteksi Objek
330 5,00 Aktif High Mendeteksi Objek
360 4,79 Aktif High Mendeteksi Objek
390 4,75 Aktif High Mendeteksi Objek
420 4,97 Aktif High Mendeteksi Objek
450 4,63 Aktif High Mendeteksi Objek
480 4,46 Aktif High Mendeteksi Objek
(65)
Tabel 4.3 Hasil Pengujian Sensor PIR dengan sudut 45o Jarak (cm) Tegangan Keluaran (Volt) Keterangan Sensor Keterangan Objek
40 5,00 Aktif High Mendeteksi Objek
80 5,00 Aktif High Mendeteksi Objek
120 5,00 Aktif High Mendeteksi Objek
160 5,01 Aktif High Mendeteksi Objek
200 4,99 Aktif High Mendeteksi Objek
4.5 Pengujian rangkaian ADC ( Analog to Digital Converter )
Untuk mengetahui tingkat ketelitian ADC dalam mengkonversi input analog yang diberikan maka terlebih dahulu ADC tersebut harus di uji ketelitiannya. Langkah yang digunakan untuk menguji tigkat ketelitian ADC adalah dengan cara memberikan tegangan analog yang presisi. Untuk mendapatkan Tegangan analog yang presisi ini dapat digunakan power lab type LEADER DC Tracking Power Supply LPS152.
Setiap perubahan tegangan yang diberikan merupakan input bagi ADC yang akan diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan dengan cara:
faktor ADC V Vin Output =
sedangkan Vfaktor adalah : Vfaktor Vcc 5Volt 0,0196Volt
255 1 255 1 = × = × =
dengan data output dapat dihitung, misalnya jika Vin ADC = 0,5 Volt, maka:
5 , 25 0196 , 0 5 , 0 = = Volt Volt
Output , data yang diubah ke bilangan biner hanya bilangan
bulatnya saja. Berarti bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,5 Volt adalah (0001 1001).pada rangkaian pengujian, Output ADC melalui kaki DB0-DB7 dihubungkan dengan delapan buah led untuk mempermudah dalam pembacaan data.
(66)
Gambar 4.4 Rangkaian Pengujian ADC 0804
Pada tabel 4.4 berikut akan ditampilkan data biner yang di output-kan oleh ADC untuk setiap variasi tegangan yang di inputkan ke ADC, yang dihitung dengan cara yang sama seperti di atas.
Tabel 4.4 Tabel Data Hasil Pengujian ADC
Vin (V)
Data Out
ADC Biner Hex Dec
0 0 0000 0000 0h 0
25.5 0.5 0001 1001 19h 25
51 1 0011 0011 33h 51
76.5 1.5 0100 1000 48h 76
102 2 0110 0110 66h 102
127.5 2.5 0111 1111 7fh 127
153 3 1001 1001 99h 153
178.5 3.5 1011 0010 b2h 178
(67)
229.5 4.5 1110 0101 e5h 229
255 5 1111 1111 ffh 255
Pada gambar berikut akan ditampilkan grafik lineritas ADC 0804
Gambar 4.5 Grafik linearitas ADC
4.6 Pengujian Sensor Suhu IC LM35
Sensor suhu ini dikonfigurasikan untuk dapat mendeteksi suhu antara 0º C sampai 150º yang menunjukkan bahwa setiap kenaikan 10 mV mewakili kenaikan suhu 1ºC. Hasil pengukuran tegangan LM35 dan pengukuran suhu dengan termometer dalam tabel pengamatan berikut:
0 1 2 3 4 5 6
0 25.5 51 76.5 102 127.5 153 178.5 204 229.5 255
(68)
Tabel 4.5 Hasil Pengujian Sensor Suhu IC LM35
Suhu Temometer (oC)
Tegangan Keluaran LM35 (mV)
Konversi Tegangan Oleh IC LM 35 (oC)
5 55 5,5
10 112 11,2
15 160 16,0
20 199 19,9
25 241 24,1
30 293 29,3
35 346 34,6
40 393 39,3
45 441 44,1
50 489 48,9
4.7 Pengoperasian Alat
Adapun metode pengujian yang dilakukan dalam melakukan pegontrolan shu ruangan adalah sebagai berikut:
1. Mempersiapkan pelatan dalam melakukan pengukuran
2. Pengaturan jarak driver fotodioda (pemancar) dan fotodioda (penerima) ± 2 meter
3. Pengunjung pertama masuk ke dalam ruangan
4. Sensor PIR akan medekteksi ada pengunjung masuk ke dalam ruangan
Kemudian dilakukan pembacaan level kecepatan kipas dan jumlah orang yang masuk ke dalam ruangan pada LCD dan ditulis pada tabel
5. Jumlah pengunjung dibatasi hingga 20 orang dan LCD akan menampilkan
level kecepatan maksimum
6. Sensor Suhu IC LM 35 akan mendeteksi suhu ruangan setiap pertambahan
jumlah pengunjung
7. Kemudian dilakukan pengontrolan kipas dengan mengurangi jumlah
(1)
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'K' ; masukkan karakter K pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'I' ; masukkan karakter I pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'P' ; masukkan karakter P pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'A' ; masukkan karakter A pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'S' ; masukkan karakter S pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#0c0H ; masukan nilai 0c0h pada register
LCALL SCAN ; memanggil subrutin KIRIM
dengan jangkauan 64 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
(2)
dengan jangkauan 2 Kbyte
MOV A,#'M' ; masukkan karakter M pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'A' ; masukkan karakter A pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'K' ; masukkan karakter K pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'S' ; masukkan karakter S pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'I' ; masukkan karakter I pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'M' ; masukkan karakter M pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'A' ; masukkan karakter A pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#'L' ; masukkan karakter L pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
(3)
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A
ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
MOV A,#' ' ; masukkan karakter SPASI pada A ACALL KIRIM ; memanggil subrutin KIRIM
dengan jangkauan 2 Kbyte
LCALL DELAY ; memanggil subrutin DELAY
dengan jangkauan 64 Kbyte
ret ; program berhenti untuk program
lcd2
PENAMPIL: MOV A,#00CH ;isikan data 00ch pada register A LCALL SCAN ;memanggil subrutin SCAN
dengan jangkauan 46 Kbyte
MOV A,#006H ;isikan data 006h pada register A LCALL SCAN ;memanggil subrutin SCAN
dengan jangkauan 46 Kbyte
MOV A,#080H ;isikan data 080h pada register A
LCALL SCAN ; memanggil subrutin SCAN
dengan jangkauan 46 Kbyte
RET ; program berhenti untuk program
SCAN: MOV P0,A ; isikan data p0 pada register A CLR RS ;aktifkan logika low(0) pada P2.5 CLR RW ;aktifkan logika low(0) pada p2.6 SETB EN ; data pada p2.7 berlogika high
(4)
LCALL delay ; memanggil subrutin DELAY
dengan jangkauan 46 Kbyte
RET ; program berhenti untuk program Scan
KIRIM: MOV P0,A ; isikan data p0 pada register A
SETB RS ; data pada p2.5 berlogika high CLR RW ;aktifkan logika low(0) pada p2.6
SETB EN ; data pada p2.7 berlogika high
EN ; aktifkan logika low(0)pada p2.7
LCALL delay ; memanggil subrutin DELAY
dengan jangkauan 46 Kbyte
RET ; program berhenti untuk program Kirim.
delay: ; program utama delay
mov r5,#0 ; isikan data 0 pada register 5
djnz r5,$ ; isi R5 dikurangi 1 jika tidak
sama dengan 0 maka akan tetap berjalan pada delay
ret ; program berhenti untuk program
delay
delaymax: ;program utama delaymax
acall delay ; memanggil subrutin DELAY
dengan jangkauan 2 Kbyte
djnz r7,delaymax ; intruksi yang akan mengurangi 1 nilai register 7 dan akan
melompat ke memori program loop1 jika setelah pengurangan belum dihasilkan 0 dengan delaymax
(5)
nilai register 6 dan akan melompat ke memori program loop1 jika setelah pengurangan belum dihasilkan 0 dengan delaymax
mov r6,#10 ;isikan data 10 pada register 6
ret ; program berhenti untuk program
(6)