TUGAS AKHIR PERANCANGAN SISTEM KEAMANAN & OTOMATISASI RUMAH Diajukan Guna Melengkapi Sebagian Syarat Dalam Mencapai Gelar Sarjana Strata Satu (S1)
Disusun Oleh : Nama : Wahadi NIM : 4140411-187 Program Studi : Teknik Elektro
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2009
LEMBAR PERNYATAAN Yang bertanda tangan dibawah ini :
Nama
: Wahadi
NIM
: 4140 411 – 187
Program Studi : Teknik elektro Fakultas
: Teknologi Industri
Judul
: Perancangan Sistem Keamanan & Otomatisasi Rumah
Dengan ini menyatakan bahwa hasil penulisan Tugas akhir yang telah saya buat ini merupakan hasil karya sendiri dan benar keasliannya.Apabila ternyata dikemudian hari penulisan Tugas Akhir ini terhadap
merupakan
hasil penjiplakan
karya orang lain, maka saya bersedia mempertanggungjawabkan
sekaligus bersedia menerima sanksi berdasarkan aturan tata tertib di Universitas Mercubuana.
Demikian pernyataan ini saya buat dalam keadaan sadar dan tidak dipaksakan.
Penulis
( Wahadi )
LEMBAR PENGESAHAN PERANCANGAN SISTEM KEAMANAN & OTOMATISASI RUMAH
Disusun Oleh : Nama
: Wahadi
NIM
: 4140411-187
Program Studi : Teknik Elektro
Koordinator TA / KAPRODI
Yudhi Gunardi ,ST, MT
Pembimbing
Yudhi Gunardi ,ST, MT
ABSTRAK
Seiring dengan semakin banyaknya kejahatan yang merajalela di rumah rumah saat sedang kosong tidak ada orang. Mereka biasanya akan melakukan aksinya melalui Pintu masuk atau melalui jendela. Saat pemilik Rumah sedang berada di rumah, kenyamanan rumah menjadi hal yang sangat dibutuhkan. Kenyamanan ruangan rumah didapatkan dari kipas angin, jika kondisi suhu ruangan panas kipas angin dapat di setting ke posisi kencang, apabila kondisi suhu ruangan dingin kipas angin dapat disetting ke posisi pelan. Pada tugas akhir ini penulis merancang suatu alat pengamanan rumah berikut dengan menambah kenyamanan penghuni rumah dengan system mikrokontroller AT89S51. Bagian pertama dengan system pengamanan rumah yaitu dengan menggunakan input sensor limit switch untuk pintu dan jendela. Ini memberi keluaran pada control Buzzer dan lampu led.Buzzer tidak akan mati bila belum ada perintah dari pengendali panel untuk mematikan, sehingga keamanan lebih terjaga.Tombol aktif bisa dipilih bilamana sistem tersebut hendak difungsikan atau tidak. Pada bagian kedua adalah untuk kenyamanan penghuni rumah yaitu bila temperature mencapai suatu titik tertentu maka fan akan menambah kecepatan ( bila suhu lebih panas dari setting temperaturenya).Dengan input sensor temperature yang ditampilkan dengan sevensegmen dua digit dan output berupa fan kecepatan rendah dan tinggi. Dengan sistem pengujian yang telah penulis lakukan ternyata mikrokontroller tersebut dapat berfungsi dengan baik.
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT, yang mana dengan rahmat dan hidayah-Nya, telah membimbing dan menyertai penulis dalam menyelesaikan penyusunan tugas akhir ini. Penyusunan tugas akhir ini mengambil tema perancangan system keamanan dan otomatisasi rumah dengan sistem kendali berbasis mikrokontroller AT89S51. Dalam menyelesaikan tugas akhir ini penulis telah mendapatkan banyak ide, gagasan dan pemikiran serta dorongan moril dari berbagai pihak. Oleh karena itu dalam kesempatan ini penulis ingin mengucapkan rasa trimakasih yang sebesar besarnya kepada : 1. Allah SWT yang telah memberikan karunia yang sangat besar kepada penulis sehingga diberikan kesehatan dan kemampuan untuk belajar serta menulis tugas akhir ini. 2. Keluargaku yang segenap raga dan pikiran mendampingi penulis. 3. Bapak Yudhi Gunardi ST,MT selaku koordinator tugas akhir dan Ketua Program Studi Teknik Elektro serta selaku dosen Pembimbing atas arahan dan bimbingannya selama penyusunan tugas akhir ini. 4. Kawan kawan Teknik Elektro angkatan ke-5 tahun 2004 yang sangat membanggakan dalam ikatan persahabatan dan kerjasama yang baik sehingga terwujud tugas akhir ini. 5. Semua pihak yang telah membantu baik secara langsung maupun tidak langsung yamg tidak bisa kami sebutkan satu persatu.
Penulis menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak kesalahan dan kekurangan baik dalam penyusunan maupun dalam penulisan, oleh sebab itu penulis mengharapkan kritik dan saran yang bersifat membangun dari berbagai pihak sehingga dapat bermanfaat bagi penulis dimasa mendatang. Akhir kata penulis hanya mengharapkan agar penyusunan tugas akhir ini dapat bermanfaat bagi semua pihak.
Jakarta, Agustus 2009
Penulis
DAFTAR ISI
HALAMAN JUDUL…………………………………………………………… i PERNYATAAN KEASLIAN TUGAS AKHIR ……………………………… ii LEMBAR PENGESAHAN …………………………………………………… iii ABSTRAK ……………………………………………………………………. iv KATA PENGANTAR ………………………………………………………...
v
DAFTAR ISI ………………………………………………………………….. vii DAFTAR TABEL …………………………………………………………….. ix DAFTAR GAMBAR …………………………………………………………. x
BAB I PENDAHULUAN 1.1.
Latar Belakang ……………………………………………….. 1
1.2.
Pembatasan Masalah ………………………………………… 1
1.3.
Tujuan …………………………………………………………. 2
1.4.
Metode Perancangan ………………………………………….. 2
1.5.
Sistematika Penulisan …………………………………………. 3
BAB II LANDASAN TEORI 2.1. Dasar Mikrokontoller ……………………………………………… 4 2.1.1. Mikrokontroler AT89S51 …………………………………... 4 2.1.2. Diagram Blok dan Konfigurasi ……………………………… 5 2.1.3. Bahasa Assebly ……………………………………………… 10 2.2. Sensor Suhu LM35 ………………………………………………… 12
2.3. ADC ( Analog Digital Converter) 0804 …………………………… 15 BAB III PERANCANGAN 3.1. Tujuan Utama …………………………………………………….. 19 3.2. Rangkaian Catu Daya …………………………………………….. 21 3.3. Rangkaian Mikrokontroler ……………………………………….. 21 3.4. Rangkaian Pendeteksi Suhu ……………………………………… 22 3.5. Rangkaian Pengendali Kipas …………………………………….. 23 3.6. Rangkaian Display Seven Segment …………………………….... 24 3.7. Rangkaian Switch ……………………………………………….. 24 3.8. Rangkaian Indikator ……………………………………………… 25 3.9. Rangkaian Keseluruhan ………………………………………….. 26 3.10. Flow Chart ……………………………………………………… 27 3.10.1. Flow Chart untuk Sistem Keamanan ……………………. 27 3 .10.2. Flow Chart untuk Sistem Otomatisasi Rumah …………. 28 3.10.3. Flow Chart untuk Sistem Lampu Penerangan .……….…. 29 BAB IV ANALISA HASIL PERANCANGAN 4.1. Pengujian Rangkaian Power Supply ………………….…………... 30 4.2. Pengujian Rangkaian Mikrokontroler ………….…………………. 32 4.3. Pengujian Rangkaian Sistem Keamanan …………….……………. 33 4.4. Pengujian Rangkaian Sistem Kipas ………………….……………. 34 4.5. Pengujian Rangkaian Sistem Lampu ……………….……………. 34 BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan ……………………………………………………. 36
DAFTAR PUSTAKA Lampiran 1 Listing Program ………………………………………………….. 38
DAFTAR TABEL
Tabel 2.1
Fungsi Pin Mikrokontroler AT89S51
6
Tabel 2.2
Fungsi Pin pada port 3
9
Tabel 2.3
Simbol Assembler khusus
Tabel 2.4
Tabel ADC input
17
Tabel 4.1
Tabel Hasil pengukuran
32
Tabel 4.2
Tabel Pengujian Instruksi
33
Tabel 4.3
Tabel Pengujian Sistem Keamanan
33
Tabel 4.4
Tabel Pengujian Sistem Kipas
34
Tabel 4.5
Tabel Pengujian Sistem Lampu
35
10
DAFTAR GAMBAR
Gambar 1.3. Blok Diagram Mikrokontroler AT89S51
2
Gambar 2.1. Mikrokontroler AT89S51
5
Gambar 2.2.
Konfigurasi Mikrokontroler AT89S51
6
Gambar 2.3.
Blok Diagram Mikrokontroler AT89S51
8
Gambar 2.4.
Gambar Suhu LM 35
14
Gambar 2.5.
Pin Out LM 35
15
Gambar 2.6.
Gambar ADC
15
Gambar 2.7.
Blok Diagram ADC
16
Gambar 2.8.
Pin Out ADC 0804
17
Gambar 3.1
Blok Diagram
20
Gambar 3.2
Gambar Rankaian Catu Daya
21
Gambar 3.3
Gambar Rangkaian Mikro kontroller
22
Gambar 3.4
Rangkaian Pendeteksi Suhu
22
Gambar 3.5. Gambar Rangkaian Pengendali Kipas
23
Gambar 3.6. Rangkaian Display 7Segment
24
Gambar 3.7. Gambar Rangkaian Switch
24
Gambar 3.8.
Rangkaian Indikator
25
Gambar 3.9.
Rangkaian Keseluruhan
26
Gambar 3.10. Foto Rangkaian Keseluruhan
27
Gambar 3.11. Flowchart untuk sistem keamanan
28
Gambar 3.12. Flowchart untuk Sistem Otomatisasi rumah
29
Gambar 3.13. Flowchart untuk Lampu penerangan
29
Gambar 4.1.
30
Pengujian Rangkaian Power Supply
Gambar 4.2.
Multimeter untuk alat uji
31
Gambar 4.3.
Tampilan pengukuran 5 volt
31
Gambar 4.4.
Tampilan pengukuran 12 volt
31
Gambar 4.5.
Pengujian Rangkaian Mikrokontroller
32
BAB I PENDAHULUAN
1. Latar Belakang Saat ini jika Rumah ditinggalkan dalam keadaan kosong, kejahatan akan selalu mengancam. Bisa saja orang masuk melalui Jendela atau Pintu yang dapat dengan mudah dibobol oleh maling. Mereka biasanya masuk melalui Pintu Masuk atau melalui Jendela. Saat ini untuk menjaga kondisi Ruangan, kita harus secara Manual memperhatikan Kondisi Suhu Ruangan yang kemudian secara Manual juga mengganti kecepatan Kipas apabila kondisi Suhu Ruangan tersebut berganti. Untuk membeli alat pengaman dan otomatisasi rumah tentunya perlu harga yang tidak sedikit, sedangkan fungsi dari alat ini sangatlah penting. Sistem tersebut akan lebih optimal bila kita perluas dari segi fungsi dan jumlah input maupun sisi outputnya .Misalnya pada gedung gedung bertingkat ataupun mall juga pada apartement. Building akan lebih terjaga dari segi keamanan serta kesetabilan suhu ruangan tersebut. Pada gedung bertingkat akan lebih baik pada titik titik pintu darurat , dimana titik tersebut sering dilalui orang diluar pintu utama. Orang orang yang tidak dikenal atau tidak terdaftar dalam akses karyawan tentunya akan menggunakan jalur lain untuk mencapai pintu tersebut, sehingga pihak security dapat segera antisipasi bila terjadi alarm pada pintu pintu tersebut.Hal ini juga dapat kita terapkan pada rumah tinggal yang memiliki banyak pintu maupun rumah biasa. Berawal dari kondisi hal tersebut sehingga penulis mencoba untuk membuat suatu alat yang sederhana namun mampu menyaingi pasar dari segi fungsinya.
1.1
Pembatasan Masalah Pembahasan pada perancangan ini akan dibatasi hanya merujuk ke pada
kontrol : 1. Pintu Pintu Masuk 2. Jendela 3. Kipas
1.2
Tujuan Tujuan dari pembahasan ini adalah untuk merancang suatu alternatif sistem
Keamanan & Otomatisasi Rumah yang dapat menjaga keamanan Rumah saat sedang ditinggal & mengendalikan kondisi suhu di Ruangan Rumah. Keuntungan menggunakan divais ini antaralain adalah : 1. Harganya sangat murah, hal ini memungkinkan pembuatan sistem, dengan biaya yang sangat terjangkau. 2. Mudah didapat di pasaran lokal 3. Hanya memerlukan rangkaian sederhana untuk membentuk suatu sistem kendali 4. Cukup fleksibel dalam penggunaanya karena dapat diprogram
1.3
Metode Perancangan Perancangan / perencanaan tugas akhir ini menggunakan beberapa metode
yaitu : 1. Observasi
Yaitu dengan melakukan pengamatan secara langsung dari lapangan terhadap cara yang digunakan oleh Maling untuk memasuki Rumah yang sedang kosong & cara yaang dilakukan untuk mengendalikan Suhu Rumah menggunakan Kipas Angin. 2. Interview Yaitu dengan melakukan wawancara dengan pihak-pihak atau orang-orang yang mempunyai pengalaman yang berkaitan dengan permasalahan ini. 3. Study Pustaka Yaitu dengan mempelajari buku-buku atau literatur yang berkaitan dengan perancangan ini.
1.4
Sistematika Penulisan Secara garis besar sistematika penulisan tugas akhir ini terdidi dari beberapa
bab, dengan metode penyampaian sebagai berikut : BAB I PENDAHULUAN Menerangkan latar belakang masalah, maksud dan tujuan, pembatasan masalah, metodologi perancangan dan sistematika penulisan. BAB II TEORI DASAR PENUNJANG Berisi teori dasar yang dapat menunjang proses perancangan ini antara lain : 1. Teori dasar mikrokontroler AT89S51 2. Teori dasar komponen-komponen elektronika BAB III PROSES PERANCANGAN Menerangkan proses perancangan miniatur Rumah yang terdapat Jendela & Pintu yang terdapat Sensor & Kipas Angin yang terdapat sensor suhu & Relai untuk
mengendalikan kecepatan kipas dengan menggunakan mikrokontroler AT89S51 yang dilakukan. BAB IV ANALISA HASIL PERANCANGAN Merupakan analisa hasil perancangan miniatur Rumah yang terdapat Jendela & Pintu yang terdapat Sensor & Kipas Angin yang terdapat sensor suhu & Relai untuk mengendalikan kecepatan kipas dengan menggunakan mikrokontroler AT89S51. BAB V KESIMPULAN Merupakan kesimpulan dari hasil perancan
BAB II LANDASAN TEORI
2.1.
Dasar Mikrokontroler Mikrokontroler merupakan suatu komponen elektronika yang didalamnya
terdapat rangkaian mikroposesor, memori (RAM/ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip microcomputer. Pada mikrokontroler sudah terdapat komponen-komponen mikroposesor dengan bus-bus internal yang saling berhubungan. Komponen tersebt adalah RAM, ROM, timer, komponen I/O paralel dan serial dan interupt kontroller. Adapun keunggulan mikrokontroler dari mikrokontroler adalah adanya sistem interupt. Sebagai perangkat kontrol peyesuaian, mikrokontroler sering disebut juga menaikan respon eksternal ( interrupt ) di waktu nyata. Perangkat tersebut harus melakukan hubungan switching yang cepat, menunda suatu proses ketika adanya respon eksekusi yang lain
2.1.1 Mikrokontroler AT89S51 Mikrokontroler AT89S51 merupakan salah satu jenis mikrokontroler CMOS 8-bit mikrokontroler dengan 4Kbyte in-system programmable Flash memory. Mikrokontroler ini dibangun dengan menggunkan teknoklogi high-density memory nonvolatile Atmel dan sesuai dengan standard industri 80C51 baik pada istruction set dan pinout. Pada mikrokontroler ini terdapat on-chip Flash yang mengakibatkan memori program bisa diprogram secara in-system. Dengan kombinasi 8-bit CPU yang serbaguna dengan in-system programmable Flash pada chip, Atmel AT89S51 adalah
suatu mikrokontroler dengan kekuatan tinggi yang menyediakan fleksibilitas yang tinggi dan efektifitas biaya untuk aplikasi kontrol yang luas. MIKROKONTROLLER
Gambar 2.1. Mikrokontroler AT89S51
AT89S51 adalah sebuah Mikrokontroller dengan Fitur yang terdapat didalamnya adalah : 1. 4 Kilo Byte Reprogrammable Flash Memory 2. 128 Byte RAM Internal 3. 32 buah Programmable I/O Lines 4. 2 Buah 16 Timer 5. Full Duplex Serial Port 6. On chip Oscilator & Clock Circuit
2.1.2 Diagram Blok dan Konfigurasi Adapun blok diagram dari mikrokontroler AT89S51 digambarkan 2.1.1. mikrokontroler
ini memiliki 40 konfigurasi pin, 32 pin diantaranya digunakan
sebagai satu port paralel. Satu port paralel terdiri dari 8 pin,
dengan
demikian 32
pin tersebut membentuk 4 port paralel yang masing-masing Port 0, Port 1, Port 2 dan Port 3. Seperti pada gambar 2.1.2. fungsi dari tiap-tiap pin dalam satu port dapat dikelompokan menjadi sumber tegangan, kristal, kontrol dan input-output.
Gambar 2.2. Konfigurasi Mikrokontroler AT89S51
Tabel 2.1 Fungsi Pin Mikrokontroler AT89S51 Nomor Pin
Fungsi
1 s/d 8
Port 1
9
Reset
Keterangan port paralel 8 bit dua arah (bi-directional) dapat digunakan untuk berbagai keperluan (general purpose ) Masukan aktif tinggi. Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroller meliputi RxD (Receive Data), TxD (Transmit Data), INT0 (Interupt 0), INT1 (Interupt 1), T0 (Timer 0), T1 (Timer
10 s/d 17
Port 3
10, WR (Write) dan RD (Read) Bila fungsi ini tidak dipakai, pin dapat digunakan sebagai port parallel 8 bit sebaguna
18
XTAL 2
19
XTAL 1
20
Ground
Pin masukan kerangkaian osilator internal ( osilator kristal/sumber osilator luar dapat digunakan) Pin masukan kerangkaian osilator internal Pin ini dipakai bila menggunakan osilator kristal. Dihubungkan ke Vss atau Ground
21 s/d 28
Port 2
Port paralel 8 bit dua arah Port 2 ini mengirimkan byte alamat bila dilakukan pengaksesan memori eksternal Program
29
PSEN
Store Enable =
sinyal pengontrol
yang
membolehkan program memori eksternal masuk ke dalam bus selama proses pemberian/ pengambilan instruksi
30
ALE
Address Latch Enable = digunakan untuk menahan alamat eksternal selama pelaksanan instruksi Bila pin ini diberi logika tinggi (H), serpih tunggal akan melaksanakan seluruh instruksi dari ROM/ EPROM ketika
31
EA
isi program counter kurang dari 4096 Bila pin ini diberi logika tinggi (L), serpih tunggal akan melaksanakan seluruh instruksi dari memori program luar Port paralel 8 bit open drain dua arah bila digunakan untuk
32 s/d 39
Port 0
mengakses luar . Port ini akan memultipleks alamat memori dengan data
40
Vcc
dihubungkan ke Vcc (+ 5 Volt)
Gambar 2.3. Blok Diagram Mikrokontroler AT89S51
AT89S51 adalah 8-bit mikrokontroller dengan 4K bite dalam in-system programmable Flash memory yang dilengkapi dengan:
1. 4 Kbyte In- System Programmable ( ISP ) Flash Memory , yang dapat di isi ulang sampai 1000 kali. 2. Memori data (RAM) Internal dengan kapasitas sebesar 128 byte. 3. Clock dengan frekuensi maksimum 33 MHz. 4. 32 programmable I/O line 5. Mempunyai 4 port keluaran yang terdiri dari :
a. Port 0 - terdiri dari P0.0 s/d P0.7 yang berfungsi sebagai jalur masukan / keluaran yang bersifat dua arah. Port 0 dapat dikonfigurasikan menjadi multiplexed yaitu dalam satu jalur terdiri atas address bus low byte dan data bus (pada saat mengakses memory program eksternal). b. Port 1 - terdiri dari P1.0 s/d P1.7 yang fungsinya hanya sebagai masukan / keluaran dua arah. c. Port 2 - terdiri dari P2.0 s/d P2.7 yang fungsinya sama seperti Port 1 tetapi dapat juga berfungsi sebagai address bus high byte (pada saat mengakses memory program eksternal). d. Port 3 - terdiri dari P3.0 s/d P3.7 yang mempunyai fungsi-fungsi khusus seperti tercantum dalam tabel 2.2 5. Dua timer dan dua counter yang masing-masing mempunyai kapasitas 16 bit. 6. Mempunyail lima sumber pembangkit interupsi dengan 2 diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1, 3 sumber interupsi yang lain berasal dan sarana komunikasi data seri dan dari sistem Timer 0 dan Timer 1. 7. UART (Universal Asynchronous Receiver/Transmitter) yang digunakan untuk komunikasi data secara seri (jalur untuk komunikasi data seri pada RXD dan TXD). 8. Tiga level penguncian memori program. Tabel 2.2 Fungsi Pin pada port 3
PIN PORT
FUNGSI
P3.0
RXD (menerima data seri)
P3.1
TXD (mengirim data seri)
P3.2
INT 0 (Intrupsi eksternal 0)
P3.3
INT 1 (Interupsi eksternal 1)
P3.4
T0 (input eksternal timer / counter 0)
P3.5
T1 (input eksternal timer / counter 1)
P3.6
WR (Strobe tulis memory data eksternal)
P3.7
RD (Strobe baca memory data eksternal)
2.1.3 Bahasa Assembly
Mikrokontroller AT89S51 mempunyai perangkat instruksi khusus dan operand serta ekspresi. Bentuk umum semua instruksi dalam assembler intel AT89S51 dapat dituliskan “ [label:] Mnemonic[operand][,operand][;komentar] “ Jumlah operand tergantung pada tipe mnemonic. Semua operand dapat dibagi dalam 6 kelompok yaitu: 1.
Simbol Khusus Assembler Tabel 2.3 Simbol Assembler khusus
Simbol Khusus
Arti
A
Akumulator
R0…R7
Register serbaguna
DPTR
Data pointer register 16 bit
PC
Program Counter. Register 16 bit yang berisi alamat instruksi berikutnya yang akan dijalankan
C
Carry Flag Akumulator/register B. Pasangan register untuk perkalian dan
AB
pembagian
1. Pengalamatan Tak Langsung
Operan pengalamatan tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Lokasi yang nyata tergantung pada isi register saat instruksi dijalankan. Untuk melaksanakan pengalamatan tak langsung digunakan simbul @ ADD A, @R0
: Tambahkan isi RAM yang lokasinya ditunjukkan oleh register R0 ke akumulator
DEC @R1
: Kurangi 1 isi RAM yang alamatnya ditunjukkan oleh register R1
MOVX @ DPTR,A : Pindahan isi dari akumulator ke memori luar yang lokasinya ditunjukkan oleh data pointer (DPTR) 2. Pengalamatan Langsung Pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung. Untuk melaksanakan hal tersebut digunakan tanda # MOV, #01H
: Isi akumulator dengan bilangan 01H
MOV DPTR, #19AB : Isi register DPTR dengan bilangan 19AB Pengalamatan data langsung dari 0 ke 127 akan mengakses RAM internal, sedang pengalamatan dari 128 sampai 255 akan mengakses register perangkat keras MOV P3,A
: Pindahkan isi akumulator ke alamat data BOH (alat port 3)
INC 50
: Naikkan lokasi 50 (desimal) dalam memori
3. Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32 sampai 47) atau bit perangkat keras. Untuk melakukan pengalamatan bit digunakan symbol titik (.) misalnya FLAGS, 40.5, 21H.5, dan ACC.7
4. Perangkat Instruksi Perangkat instruksi mikrokontroller AT89S51 dapat dibagi menjadi 5 kelompok: a. Instruksi Transfer Data Instruksi ini memindahkan data antara register-register, memori-memori, register-memori, antar muka-register dan antar muka-memori b. Instruksi Aritmatika Instruksi ini melaksanakan operasi aritmatika yang meliputi penjumlaha, pengurangan, penambahan satu (inkremen), pengurangan satu (dekremen), perkalian dan pembagian. c. Instruksi Logika dan Manipulasi bit Melaksanakan operasi logika AND, OR, XOR, perbandingan, pergeseran dan komplemen data d. Instruksi Percabangan Instruksi ini mengubah urutan normal pelaksanaan suatu program. Instruksi percabangan dibedakan atas percabangan bersyarat dan percabangan tanpa syarat. e. Instruksi Stack, I/O dan Kontrol Instruksi ini mengatur penggunaan stack, membaca/menulis port I/O serta pengontrolan-pengontrolan.
2.2 Sensor Suhu LM35 Sistem otomasi ataupun kontroler tidak akan lepas dengan apa yang disebut sensor. Karena suatu sistem pengendali secara garis besar mempunyai prosedur dan rangkaian proses yang saling berkaitan. Bermula dari proses perubahan yang
ditangkap dan diolah oleh pengolah sinyal/data yang kemudian diteruskan sebagai keluaran dari olah data dalam bentuk kondisi pengendalian. Transduser adalah alat yang mengubah suatu energi dari satu bentuk ke bentuk lain, yang merupakan elemen penting dalam sistem pengendali. Secara umum transduser dibedakan atas dua prinsip kerja yaitu: pertama, Transduser Input dapat dikatakan bahwa transduser ini akan mengubah energi non-listrik menjadi energi listrik. Kedua, Transduser Output adalah kebalikannya, mengubah energi listrik ke bentuk
energi
non-listrik.
Sensor adalah alat untuk mendeteksi / mengukur sesuatu yang digunakan untuk mengubah variasi mekanis, magnetis, panas, sinar dan kimia menjadi tegangan dan arus listrik. Sensor itu sendiri terdiri dari transduser dengan atau tanpa penguat/pengolah sinyal yang terbentuk dalam satu sistem pengindera. Dalam lingkungan sistem pengendali dan robotika, sensor memberikan kesamaan yang menyerupai mata, pendengaran, hidung, lidah yang kemudian akan diolah oleh kontroller sebagai otaknya. Sensor suhu yang digunakan adalah LM35. LM35 adalah sebuah semikonduktor yang digunakan sebagai sensor suhu yang mempunyai keluaran 10mV setiap derajatnya. Alasan mengapa menggunakan LM35 adalah : •
Pengukuran suhu lebih akurat dibandingkan penggunaan thermistor
•
Rangkaian sensor yang tertutup baik sehingga menghindari oksidasi
•
LM35 menghasilkan keluran tegangan yang lebih besar dibandingkan thermocouple dan output yang dikeluarkan tidak perlu dikuatkan, kecuali keluarannya terlalu kecil.
LM35 mempunyai keluaran tegangan yang proportional terhadap suhu Celcius. Setiap perubahan pembacaan temperature sebsar 1°C maka LM 35 akan mengeluarkan keluaran sebesar 10mV. Perubahan tegangan keluaran ini yang akan dipergunakan sebgai bahan masukan untuk mikrokontroler untuk menentukan tindakan yang harus dilakukan. Area pembacaan LM 35 ini dari
-55°C sampai
dengan +150°C, jadi cukup sesuai dengan aplikasi tugas akhir ini dimana akan mengukur suhu ruang yang masih dalam range pembacaan sensor suhu ini. Dengan menggunakan tegangan supply dari 4 sampai 30 V DC, maka untuk tugas akhir ini menggunakan power supply sebesar 5 VDC. Gambar pin out dari LM 35 dapat kita lihat pada gambar 2.4 dan konfigurasinya dapat dilihat pada gambar 2.5 di bawah ini :
Gambar 2.4. Gambar Suhu LM 35
Gambar 2.5 Pin Out LM 35
2.3 ADC ( Analog Digital Converter ) 0804 Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal - sinyal digital. IC ADC 0809 dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat.
Gambar 2.6. Gambar ADC IC jenis ini bekerja secara cermat dengan menambahkan sedikit komponen sesuai dengan spesifikasi yang harus diberikan dan dapat mengkonversikan secara cepat suatu masukan tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran,
ketepatan
dan
waktu
konversinya.
Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive approximation convertion atau pendekatan
bertingkat yang memiliki waktu konversi jauh lebih singkat dan tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah. Dalam Gambar 1. memperlihatkan diagram blok ADC tersebut. Secara singkat prinsip kerja dari konverter A/D adalah semua bit-bit diset kemudian diuji, dan bilamana perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkaian yang paling cepat, konversi akan diselesaikan sesudah 8 clock. Apabila konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di mulai siklus konversi yang baru. Gambar dibawah ini Datasheet dari IC ADC0809 berikut dengan keterangannya
Gambar 2.7. Blok Diagram ADC
Gambar 2.8. Pin Out ADC 0804
ADC0809 memiliki 8 buah Input yang dapat digunakan secara bersama sama dengan menggunakan Metode Scanning / bergantian dengan periode waktu yang sangat cepat sekali. Untuk dapat memilih Input mana yang akan digunakan dapat menggunakan Kode addressing seperti dapat dilihat pada tabel dibawah ini Tabel 2.4 Tabel ADC input
IC ADC 0809 mempunyai dua masukan analog, Vin (+) dan Vin (-), sehingga dapat menerima masukan diferensial. Masukan analog sebenarnya (Vin) sama dengan selisih antara tegangan-tegangan yang dihubungkan dengan ke dua pin masukan yaitu Vin= Vin (+) – Vin (-). Kalau masukan analog berupa tegangan tunggal, tegangan ini harus dihubungkan dengan Vin (+), sedangkan Vin (-) digroundkan.
……………………………………………… ( 2.1)
Resolusi = Kelipatan Penjumlahan tegangan Input untuk menghasilkan Tegangan Referensi Maksimum Vref + = Selisih dari (Tegangan Referensi +) dikurang dengan (Tegangan Referensi – ) atau (Vref+) – (Vref-) N = banyaknya Bit dari Digital Output yang ada Untuk operasi normal, ADC 0809 menggunakan Vcc = +5 Volt sebagai tegangan referensi+ & Ground sebagai tegangan referensi-. Dalam hal ini jangkauan masukan analog mulai dari 0 Volt sampai 5 Volt (skala penuh), karena IC ini memiliki data Output Digital 8-bit, maka resolusinya akan sama dengan
……(2.2)
BAB III PERANCANGAN 3.1. Tujuan Utama Perancangan system keamanan dana otomatisasi rumah yang ada pasar pada umumnya dipakai untuk gedung-gedung bertingkat ,apartement, gedung pemerintahan ataupun mall dan pabrik-pabrik.Sedangkan pada perumahan yang berskala kecil sistem tersebut terlalu mahal. Pada gedung bertingkat ataupun bangunan besar lainnya, sistem keamanan dan otomatisasi dibuta terpisah dikarenakan kapasitasnya yang sangat besar.Dan apabila ada penggabungan sistem tersebut diberlakukan sistem integrasi diantara sistemsistem tersebut untuk menjadi satu kesatuan dai beberapa sistem Sistem pengamanan ini dirancang untuk untuk input pintu dan jendela dan output berupa buzzer ,yang tidak akan mati walaupun pintu dan jendela ditutup kembali, terkecuali direset pada panel kontrolnya. Sistem otomatisasi rumah penulis hanya membuat kecepatan kipas setelah kita sudah tetapkan pada setting suatu nilai tertentu. Dalam sistem pendingin yang terjual dipasaran, output ini tidak menggunakan kipas namun dengan menggunakan 2 buah compressor step satu dan step dua. Ini bertujuan untuk mempercepat dan memperlambat proses pendinginan . Sistem ini kita bagi menjadi 3 tahapan , yaitu : 1. Bagian Incoming 2. Bagian Proses 3. Bagian Outgoing Untuk lebih jelasnya dapat kita perhatikan blok diagram tersebut dibawah ini..
Gambar 3.1 Blok Diagram
3.2 RANGKAIAN CATU DAYA Perancangan rangkaian catu daya digunakan untuk memberikan tegangan kepada semua rangkaian sehingga semua rangkaian dapat bekerja seperti yang diinginkan.
Gambar 3.2 Gambar Rankaian Catu Daya
Perancangan rangkaian catu daya menggunakan Trafo Step down untuk menurunkan tegangan dari 220 VAC PLN menjadi 12 VAC. Kemudian tegangan 12 VAC tersebut disearahkan menjadi 12 VDC menggunakan dioda Bridge. Keluaran dari dioda bridge adalah 12 VDC tetapi masih belum sempurna (ripple), oleh karena itu tegangan tersebut harus difilter menggunakan kapasitor polar 1000µF. Setelah melewati Kapasitor tersebut tegangan DC yang dihasilkan menjadi rata dan sempurna. Untuk dapat menghasilkal tegangan 5 VDC digunakan sebuah regulator tegangan 7805 yang outputnya difilter kembali menggunakan Kapasitor polar 220µF supaya tegangan 5 VDC yang dihasilkan menjadi sangat sempurna.
3.3. RANGKAIAN MIKROKONTROLER Perancangan rangkaian mikrokontroler digunakan untuk mengendalikan sistem kerja dari semua rangkaian.
Gambar 3.3 Gambar Rangkaian Mikro kontroller
Perancangan rangkaian mikrokontroler menggunakan rangkaian oscilator dan rangkaian auto reset agar mikrokontroler dapat bekerja seperti yang diinginkan. Rangkaian oscilator selalu menghasilkan pulsa agar mikrokontroler dapat bekerja membaca instruksi yang terdapat di program memori. Oscilator menggunakan xtal 11.0592 MHz dan kapasitor non polar 33 Pf. Rangkaian auto reset digunakan untuk memerintahkan Mikrokontroler untuk membaca instruksi pada program memori mulai dari address yang paling awal.
3.4. RANGKAIAN PENDETEKSI SUHU Rangkaian Pendeteksi suhu digunakan untuk mengetahui kondisi suhu disekitarnya.
Gambar 3.4 Rangkaian Pendeteksi Suhu
Untuk pendeteksi suhu digunakan LM35DZ yaitu sebuah Sensor suhu yang berbentuk seperti Transistor. Sensor tersebut memiliki 3 kaki yaitu VCC, GND dan output analog. Sensor suhu ini dapat mendeteksi suhu dari 0 sampai 100ºC. Tetapi untuk perancangan tugas akhir ini dibatasi hanya sampai 99ºC saja karena hanya menggunakan 2 Digit display 7 Segment saja. Sensor suhu LM35DZ ini menghasilkan output analog yang tidak dapat dikenali oleh mikrokontroler. Oleh karena itu membutuhkan sebuah rangkaian Analog to digital converter. Rangkaian analog to digital converter menggunakan ADC0809 yang dapat mengkonversi tegangan analog menjadi 8 Bit data digital. Data tersebut akan berubah sesuai dengan input tegangan yang masuk ke input analog rangkaian ADC tersebut. Output digital dari ADC akan dapat langsung dikenali oleh Mikrokontroler sehingga mikrokontroler akan mengetahui kondisi suhu di sekitarnya. 3.5. RANGKAIAN PENGENDALI KIPAS Rangkaian pengendali kipas digunakan untuk membedakan
kecepatan jalannya
kipas.
Gambar 3.5. Gambar Rangkaian Pengendali Kipas
Tegangan yang masuk ke kipas dapat dipilih antara 5 Volt atau 12 Volt. Jika kipas mendapatkan tegangan 12 Volt, kipas akan berputar kencang. Jika kipas mendapatkan tegangan 5 Volt, kipas akan berputar pelan.
3.6. RANGKAIAN DISPLAY SEVEN SEGMENT Rangkaian Display 7Segment digunakan untuk menampilkan kondisi suhu di sekitarnya.
Gambar 3.6. Rangkaian Display 7Segment Rangkaian Display 7Segment menggunakan 2 digit 7Segment yang setiap digitnya menggunakan 1 buah IC ULN2003. ULN2003 terdiri dari 7 buah Transistor Darlington yang dapat mendrive 1buah 7Segment sehingga 7Segment akan dapat menyala terang. Input dari ULN2003 menggunakan 74HC595. 3.7. RANGKAIAN SWITCH Rangkaian Switch digunakan untuk memilih kondisi yang terdapat pada sistem.
Gambar 3.7 Gambar Rangkaian Switch
a. 1 buah Switch digunakan untuk memilih keamanan otomatis diaktifkan atau tidak b. 1 buah Switch digunakan untuk memilih kipas otomatis diaktifkan atau tidak c. 1 buah Switch digunakan untuk menyalakan lampu secara manual atau tidak d. 1 buah Switch digunakan untuk memilih kecepatan kipas yang diinginkan pada saat kipas otomatis tidak diaktifkan. e.Terdapat 1 buah limit switch yang digunakan sebagai sensor pendeteksi pintu sedang terbuka atau tidak pada saat keamanan otomatis diaktifkan. f.Terdapat juga 1 buah limit switch yang digunakan sebagai sensor pendeteksi jendela sedang terbuka atau tidak pada saat keamanan otomatis diaktifkan.
3.8. RANGKAIAN INDIKATOR Rangkaian indikator digunakan untuk memberitahukan kondisi yang sedang berjalan di sistem.
Gambar 3.8 Rangkaian Indikator
Rangkaian indikator menggunakan 3 buah LED dan 1 buah Buzzer. 1 buah LED digunakan untuk lampu sedang menyala manual atau tidak. 1 buah LED digunakan untuk indikator keamanan otomatis sedang aktif atau tidak. 1 buah LED digunakan untuk indikator kipas otomatis sedang aktif atau tidak.
Buzzer digunakan untuk memberitahukan adanya pintu atau jendela yang terbuka pada saat keamanan otomatis diaktifkan.
3.9. RANGKAIAN KESELURUHAN Rangkaian keseluruhan adalah semua rangkaian yang telah digabung menjadi satu sehingga semua dapat bekerja sebagaimana mestinya dan saling berhubungan.
Gambar 3.9 Rangkaian Keseluruhan
Gambar 3.10 Foto Rangkaian Keseluruhan
3.10. FLOWCHART 3.10.1 . Flowchart untuk Sistem Keamanan Secara garis besar pola pengoperasian sistem keamanan adalah sebagai berikut ( seperti tertuang dalam flowchart 3.10.1) : Saat sistem dimulai (start) , keamanan otomatis diaktifkan , bila ya maka akan melihat pintu dan jendela dalam terbuka atau tertutup.Bila dalam keadaan terbuka maka lampu dan buzzer akan aktif. Tapi bila tidak maka ada pilihan untuk diaktifkan atau tidak sistem keamanan tersebut.
Start
Keamanan Otomatis diaktifkan?
Tidak
Ya Tidak Pintu terbuka? Ya Bunyi Buzzer dan nyalakan lampu
Tidak
Jendela terbuka? Ya
Tidak
Keamanan otomatis dinonaktifkan ? Ya
Bunyi Buzzer dan nyalakan lampu
Gambar 3.11 Flowchart untuk sistem keamanan
3.10.2 . Flowchart untuk Sistem Otomatisasi rumah (Kecepatan kipas) Secara garis besar pola pengoperasian sistem otomatisasi rumah dengan menggunakan keluaraan kecepatan kipas adalah sebagai berikut ( seperti tertuang dalam flowchart 3.10.2) : Pada saat sistem start kemudian kipas otomatis diaktifkan maka akan langsung melihat kondisi suhu yang dibaca saat itu.Bila tidak , apakah kipas sudah disetting lambat? Bila ya kipas akan berputar lambat, namun bila kipas disetting cepat maka kipas juga akan berputar cepat. Bila suhu berada pada nilai diatas 40o C maka kipas akan berputar cepat tapi kalau dibawah suhu tersebut kipas akan berputar lambat.
Start
Kipas Otomatis diaktifkan?
Tidak
Kipas disetting lambat? Ya
Ya
Kipas berputar lambat
Suhu <40ºC
Tidak
Tidak
Kipas disetting cepat?
Tidak
Kipas tidak berputar
Ya Kipas berputar cepat
Kipas berputar cepat
Ya Kipas berputar lambat
Kipas otomatis Tidak dinonaktifkan ? Ya
Gambar 3.12 Flowchart untuk Sistem Otomatisasi rumah (Kecepatan kipas)
3.10.3 . Flowchart untuk Sistem Lampu penerangan Lampu penerangan disamping digunakan untuk otomatisasi rumah pada saat mendeteksi alarm pintu atau jendela juga sebagai penerangan biasa. Dimana input auto dan manual dapat kita pilih untuk membuat fungsi tersebut.
Gambar 3.13. Flowchart untuk Lampu penerangan
BAB IV ANALISA HASIL PERANCANGAN
Pada bagian ini dilakukan proses akhir dari perancangan alat tugas akhir, yaitu pengujian dan analisa alat yang telah selesai dirakit. Pengujian alat yang dilakukan mulai dari pengujian Rangkaian Catu daya dan Rangkaian Mikrokontroler
PENGUJIAN ALAT Pada penulisan tugas akhir ini dilakukan pengujian yang dimaksudkan untuk mengetahui kinerja dari rangkaian yang dirancang. Pengujian dilakukan dengan beberapa cara yang akan dijelaskan di bawah ini.
4.1. PENGUJIAN RANGKAIAN POWER SUPPLY Pengujian rangkaian Catu daya dilakukan dengan melakukan pengukuran tegangan yang dihasilkan oleh rangkaian Catu daya tersebut.
Gambar 4.1. Pengujian Rangkaian Power Supply
Pengujian dilakukan menggunakan Multi Meter pada posisi DC Volt seperti dapat dilihat pada gambar dibawah ini
Gambar 4.2 Multimeter untuk alat uji
Apabila tegangan yang dihasilkan sesuai dengan tegangan yang dibutuhkan dapat dikatakan bahwa rangkaian Power supply bekerja dengan baik Hasil dari pengukuran power supply 5 Volt adalah :
Gambar 4.3 Tampilan pengukuran 5 volt
Hasil dari pengukuran power supply 12 Volt adalah :
Gambar 4.4 Tampilan pengukuran 12 volt
Hasil pengukuran dapat dilihat pada tabel dibawah ini
Power Supply
Hasil Pengukuran
5 Volt
4,91 Volt
12 Volt
11,72 Volt
Tabel 4.1 Tabel Hasil pengukuran 4.2 PENGUJIAN RANGKAIAN MIKROKONTROLLER Pengujian Rangkaian Mikrokontroller dilakukan memberikan 8 buah LED ke P1.0 – P1.7.
Gambar 4.5 Pengujian Rangkaian Mikrokontroller
Kemudian rancang Program sederhana untuk menguji apakah Mikrokontroller bekerja dengan baik atau tidak. Pengujian 1: Untuk memadamkan semua LED menggunakan Instruksi MOV P1,#00000000B Pengujian 2: Untuk menyalakan semua LED menggunakan Instruksi MOV P1,#11111111B
Hasil dari pengujian diatas dapat dilihat pada tabel dibawah ini Tabel 4.2 Tabel Pengujian Instruksi Pengujian ke
Instruksi
Kondisi LED
1
MOV P1,#00000000B
Padam
2
MOV P1,#11111111B
Nyala
Jika pada pengujian 1 semua LED padam & pada pengujian 2 semua LED menyala, maka Rangkaian Mikrokontroller bekerja dengan baik
4.3. PENGUJIAN RANGKAIAN SISTEM KEAMANAN Pengujian
Sistem
keamanan
dilakukan
dengan
menonaktifkan
dan
mengaktifkan sistem keamanan. Kemudian lihat indikator LED untuk keamanan otomatis, lalu coba buka pintu atau jendelanya. Tabel 4.3 Tabel Pengujian Sistem Keamanan
Keamanan otomatis
LED indikator kemanan otomatis
kondisi rumah
Kondisi Lampu
Buzzer
Off
Off
Padam
Pintu tertutup
Padam
Off
Off
Off
Off
Padam
Jendela tertutup
Padam
Off
Off
Off
Off
Padam
Pintu terbuka
Padam
Off
Off
Off
Off
Padam
Jendela terbuka
Padam
Off
On
Off
On
Menyala
Pintu tertutup
Padam
Off
On
Off
On
Menyala
Jendela tertutup
Padam
Off
On On
Off Off
On On
Menyala Menyala
Pintu terbuka Jendela terbuka
Menyala Menyala
On On
Switch On/Off keamanan otomatis
Switch manual lampu
Off
4.4. PENGUJIAN RANGKAIAN SISTEM KIPAS Pengujian Sistem kipas dilakukan dengan menonaktifkan dan mengaktifkan kipas otomatis, lihat indikator LED untuk kipas otomatis, kemudian coba rubah kondisi suhu dengan mendekatkan sensor suhu ke api. Pada saat kipas otomatis tidak aktif, coba rubah kecepatan kipas untuk lambat dan cepat. Tabel 4.4 Tabel Pengujian Sistem Kipas Switch On/Off kipas otomatis
Switch manual kipas
Kipas Otomatis
LED indikator kipas otomatis
Kondisi suhu
Putaran kipas
Off
Lambat
Off
Padam
< 40°C
Lambat
Off
Lambat
Off
Padam
40°C
Lambat
Off
Lambat
Off
Padam
> 40°C
Lambat
Off
Cepat
Off
Padam
< 40°C
Cepat
Off
Cepat
Off
Padam
40°C
Cepat
Off
Cepat
Off
Padam
> 40°C
Cepat
On
Lambat
On
Menyala
< 40°C
Lambat
On
Lambat
On
Menyala
40°C
Cepat
On
Lambat
On
Menyala
> 40°C
Cepat
On
Cepat
On
Menyala
< 40°C
Lambat
On
Cepat
On
Menyala
40°C
Cepat
On
Cepat
On
Menyala
> 40°C
Cepat
4.5 PENGUJIAN RANGKAIAN SISTEM LAMPU Pengujian lampu dilakukan dengan meletakkan switch manual lampu pada posisi off, lalu lihat kondisi lampu. Kemudian coba rubah posisi switch manual lampu ke posisi on dan lihat kondisi lampu.
Tabel 4.5 Tabel Pengujian Sistem Lampu Switch On/Off keamanan ototmatis
Switch On/Off Kipas Otomatis
Switch manual lampu
Kondisi lampu
Off
Off
Off
Padam
Off
Off
On
Menyala
Off
On
Off
Padam
Off
On
On
Menyala
On
Off
Off
Padam
On
Off
On
Menyala
On
On
Off
Padam
On
On
On
Menyala
BAB V KESIMPULAN
Berdasarkan hasil pengukuran dan pengujian alat yang saya lakukan maka : 1. Peralatan dapat berfungsi sesuai dengan perencanaaan awal, pintu dan jendela bila dibuka pada saat switch alarm diaktifkan langsung terjadi alarm buzzer disertai lampu ruangan yang langsung menyala. 2. Pada Fungsi kipas bila switch auto fan kita aktifkan kemudian suhu ruangan kita naikkan otomatis kecepatan kipas bertambah cepat. 3. Beberapa hal tersebut dapat disimpulkan bahwa semua sistem tersebut berjalan sesuai dengan apa yang direncanakan dengan hasil baik.
Daftar Pustaka INFORMASI TENTANG KOMPONEN [1] www.alldatasheet.com/datasheet-pdf/pdf/.../AT89S51.html [2] www.8051projects.info/.../tag.asp?...at89s51+microcontroller [3] www.national.com/pf/AD/ADC0809.html [4] www.delta-electronic.com/article/wp-content/uploads/2008/09/an0028.pdf [5] www.innovativeelectronics.com/.../Manual%20DT-IO%20Analog%20IO.pdf [6] www.national.com/ds/LM/LM35.pdf [7] www.elektronika-elektronika.blogspot.com/.../sensor-suhu-lm35.html [8] www.edaboard.com/search,lm35-interfacing-microcontroller.html [9] http://en.wikipedia.org/wiki/Seven-segment_display [10] www.alldatasheet.com/datasheet-pdf/pdf/.../ULN2003.html [11] www.datasheetcatalog.com/datasheets.../74HC595.shtml [12] http://en.wikipedia.org/wiki/Buzzer [13] www.comairrotron.com/dc_fans.shtml
LISTING PROGRAM
$mod51 ;QA = Kosong ;QB = A ;QC = B ;QD = C ;QE = D ;QF = E ;QG = F ;QH = G led_secure led_fan lampu sw_secure sw_fan sw_lampu sw_kec1 sw_kec2 jendela pintu d_adc ale eoc buzzer
equ equ equ equ equ equ
equ equ equ equ equ equ
p1.0 p1.2 p1.4 p1.6 p1.7 p3.0 equ equ p3.3 p3.4 p0 p2.7 p2.6 p2.5
d_disp lc sc kipas1 kipas2
equ equ equ equ equ
p3.5 p3.6 p3.7 p2.0 p2.2
digit1 digit2 suhu
equ equ equ
30h 31h 32h
org 0000h sjmp main org 0030h main: clr kipas1 clr kipas2 clr lampu clr led_secure clr led_fan clr ale clr sc
p3.1 p3.2
clr lc lcall delay1dtk clr buzzer setb lampu setb led_secure setb led_fan ;----------------------------------------------;Proses saat menunggu sistem ada yang diaktifkan ;----------------------------------------------apa_proses1: jb sw_secure,apa_proses2 ;sw auto secure diaktifkan? clr led_Secure ;nyalakan led auto secure ljmp proses1 ;lompat ke proses1 apa_proses2: jb sw_fan,apa_proses3 clr led_fan setb kipas1 clr kipas2 ljmp proses2
;lompat ke proses2
apa_proses3: jb sw_lampu,apa_proses4 clr lampu ljmp proses3
;lampu dinyalakan secara manual? ;nyalakan lampu ;lompat ke proses3
;sw auto fan diaktifkan? ;nyalakan led auto fan ;aktifkan kecepatan 1
apa_proses4: jb sw_kec1,apa_proses5 setb kipas1 clr kipas2 ajmp apa_proses1 apa_proses5: jb sw_kec2,apa_proses6 clr kipas1 setb kipas2 ajmp apa_proses1 apa_proses6: lcall lihat_suhu clr kipas1 clr kipas2 ajmp apa_proses1 ;-------------------------;Proses saat security aktif ;-------------------------proses1: jnb sw_secure,proses1a
;sw auto secure di nonaktifkan?
setb led_secure clr buzzer setb lampu ljmp apa_proses1 proses1a: jb sw_fan,proses1b clr led_fan setb kipas1 clr kipas2 ljmp proses1_2
;padamkan led auto secure ;matikan bunyi buzzer ;lompat ke apa_proses1
;sw auto fan diaktifkan? ;nyalakan led auto fan ;kipas aktif dengan kecepatan 1 ;lompat ke proses1_2
proses1b: jb sw_lampu,proses1c clr lampu ljmp proses1_3
;lampu dinyalakan secara manual? ;nyalakan lampu ;lompat ke proses1_3
proses1c: jnb pintu,proses1d setb buzzer clr lampu ajmp proses1
;pintu terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1
proses1d: jnb jendela,proses1e setb buzzer clr lampu ajmp proses1
;jendela terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1
proses1e: jb sw_kec1,proses1f setb kipas1 clr kipas2 ajmp proses1 proses1f: jb sw_kec2,proses1g clr kipas1 setb kipas2 ajmp proses1 proses1g: lcall lihat_suhu clr kipas1 clr kipas2 ajmp proses1 ;---------------------------;Proses saat kipas auto aktif ;----------------------------
;kipas dinyalakan dengan kecepatan 1? ;aktifkan kecepatan 1
;kipas dinyalakan dengan kecepatan 2? ;aktifkan kecepatan 2
proses2: jnb sw_fan,proses2a setb led_fan clr kipas1 clr kipas2 ljmp apa_proses1
;sw auto fan di nonaktifkan? ;padamkan led auto fan ;matikan kipas
proses2a: jb sw_secure,proses2b clr led_secure ljmp proses1_2
;sw auto secure diaktifkan? ;nyalakan led auto secure
proses2b: jb sw_lampu,proses2c clr lampu ljmp proses2_3
;nyalakan lampu secara manual? ;nyalakan lampu
proses2c: lcall lihat_suhu mov a,suhu cjne a,#40h,proses2e proses2d: clr kipas1 setb kipas2 ajmp proses2 proses2e: jnc proses2d setb kipas1 clr kipas2 ajmp proses2
;cek suhu ;ambil nilai suhu ;apakah suhu = 40 ;suhu>=40 ;aktifkan kecepatan 2
;c=0,suhu>40, c=1,suhu<40 ;suhu<40 ;aktifkan kecepatan 1
;Perbandingan data lebih kecil C = 1 Lebih besar C = 0 ;-----------------------------;Proses saat lampu nyala manual ;-----------------------------proses3: jnb sw_lampu,proses3a setb lampu ljmp apa_proses1 proses3a: jb sw_secure,proses3b clr led_Secure ljmp proses1_3 proses3b: jb sw_fan,proses3c
;Padamkan lampu secara manual? ;padamkan lampu
;sw auto secure diaktifkan? ;nyalakan led auto secure
;sw auto fan diaktifkan?
clr led_fan setb kipas1 clr kipas2 ljmp proses2_3 proses3c: jb sw_kec1,proses3d setb kipas1 clr kipas2 ajmp proses3 proses3d: jb sw_kec2,proses3e clr kipas1 setb kipas2 ajmp proses3
;nyalakan led auto fan ;nyalakan kipas ;kipas kecepatan 1
;kipas dinyalakan dengan kecepatan 1? ;aktifkan kecepatan 1
;kipas dinyalakan dengan kecepatan 2? ;aktifkan kecepatan 2
proses3e: lcall lihat_suhu clr kipas1 clr kipas2 ajmp proses3 ;-----------------------------------------;Proses saat security dan kipas auto aktif ;-----------------------------------------proses1_2: jnb sw_secure,proses1_2a ;sw auto secure di nonaktifkan? setb led_Secure ;padamkan led auto secure clr buzzer ;matikan buzzer setb lampu ;padamkan lampu ljmp proses2 proses1_2a: jnb sw_fan,proses1_2b setb led_fan clr kipas1 clr kipas2 ljmp proses1 proses1_2b: jb sw_lampu,proses1_2c clr lampu ljmp proses1_2_3 proses1_2c: jnb pintu,proses1_2d setb buzzer clr lampu ajmp proses1_2
;sw auto fan di non aaktifkan? ;padamkan led auto fan ;matikan kipas
;nyalakan lampu secara manual?
;pintu terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1
proses1_2d: jnb jendela,proses1_2e setb buzzer clr lampu ajmp proses1_2 proses1_2e: lcall lihat_suhu mov a,suhu cjne a,#40h,proses1_2g proses1_2f: clr kipas1 setb kipas2 ajmp proses1_2 proses1_2g: jnc proses1_2f setb kipas1 clr kipas2 ajmp proses1_2
;jendela terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1
;cek suhu ;ambil nilai suhu ;apakah suhu = 40? ;suhu>=40 ;aktifkan kecepatan 2
;c=0,suhu>40, c=1,suhu<40 ;suhu<40 ;aktifkan kecepatan 1
;------------------------------------------------;Proses saat Security aktif dan lampu nyala manual ;------------------------------------------------proses1_3: jnb sw_secure,proses1_3a ;sw auto secure dinonaktifkan? setb led_secure ;padamkan led auto secure clr buzzer ;matikan bunyi buzzer setb lampu ;padamkan lampu ljmp proses3 proses1_3a: jb sw_fan,proses1_3b clr led_fan setb kipas1 clr kipas2 ljmp proses1_2_3 proses1_3b: jnb sw_lampu,proses1_3c setb lampu ljmp proses1 proses1_3c: jnb pintu,proses1_3d setb buzzer clr lampu ajmp proses1_3
;sw auto fan diaktifkan? ;nyalakan led auto fan ;nyalakan kipas kecepatan 1
;padamkan lampu secara manual? ;padamkan lampu secara manual
;pintu terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1_3
proses1_3d: jnb jendela,proses1_3e setb buzzer clr lampu ajmp proses1_3 proses1_3e: jb sw_kec1,proses1_3f setb kipas1 clr kipas2 ajmp proses1_3 proses1_3f: jb sw_kec2,proses1_3g clr kipas1 setb kipas2 ajmp proses1_3
;jendela terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1_3
;kipas dinyalakan dengan kecepatan 1? ;aktifkan kecepatan 1
;kipas dinyalakan dengan kecepatan 2? ;aktifkan kecepatan 2
proses1_3g: lcall lihat_suhu clr kipas1 clr kipas2 ajmp proses1_3 ;------------------------------------------------------------;proses saat security dan kipas auto aktif, lampu nyala manual ;------------------------------------------------------------proses1_2_3: jnb sw_secure,proses1_2_3a ;sw auto secure dinonaktifkan? setb led_secure ;padamkan led auto secure clr buzzer ;matikan buzzer setb lampu ljmp proses2_3 proses1_2_3a: jnb sw_fan,proses1_2_3b setb led_fan clr kipas1 clr kipas2 ljmp proses1_3
;sw auto fan dinonaktifkan? ;padamkan led auto fan ;matikan kipas
proses1_2_3b: jnb sw_lampu,proses1_2_3c ;padamkan lampu secara manual? setb lampu ;padamkan lampu ljmp proses1_2 proses1_2_3c: jnb pintu,proses1_2_3d setb buzzer clr lampu
;pintu terbuka? ;bunyikan buzzer ;nyalakan lampu
ajmp proses1_2_3
;lompat ke proses1_2_3
proses1_2_3d: jnb jendela,proses1_2_3e setb buzzer clr lampu ajmp proses1_2_3
;jendela terbuka? ;bunyikan buzzer ;nyalakan lampu ;lompat ke proses1_2_3
proses1_2_3e: lcall lihat_suhu mov a,suhu cjne a,#40h,proses1_2_3g proses1_2_3f: clr kipas1 setb kipas2 ajmp proses1_2_3 proses1_2_3g: jnc proses1_2_3f setb kipas1 clr kipas2 ajmp proses1_2_3
;cek suhu ;ambil nilai suhu ;apakah suhu = 40 ;suhu>=40 ;aktifkan kecepatan 2
;c=0,suhu>40, c=1,suhu<40 ;suhu<40 ;aktifkan kecepatan 1
;--------------------------------------------------;Proses saat kipas auto aktif dan lampu nyala manual ;--------------------------------------------------proses2_3: jb sw_secure,proses2_3a ;sw auto secure diaktifkan? clr led_secure ;nyalakan led auto secure ljmp proses1_2_3 proses2_3a: jnb sw_fan,proses2_3b setb led_fan clr kipas1 clr kipas2 ljmp proses3 proses2_3b: jnb sw_lampu,proses2_3c setb lampu ljmp proses2 proses2_3c: lcall lihat_suhu mov a,suhu cjne a,#40h,proses2_3e proses2_3d: clr kipas1
;sw auto fan dinonaktifkan? ;padamkan led auto fan ;matikan kipas
;padamkan lampu secara manual? ;padamkan lampu
;cek suhu ;ambil nilai suhu ;apakah suhu = 40 ;suhu>=40
setb kipas2 ajmp proses2_3 proses2_3e: jnc proses2_3d setb kipas1 clr kipas2 ajmp proses2_3
;aktifkan kecepatan 2
;c=0,suhu>40, c=1,suhu<40 ;suhu<40 ;aktifkan kecepatan 1
;---------------------;Program untuk cek suhu ;---------------------lihat_suhu: setb ale nop clr ale cek_sensor1: jb eoc,$ lcall delay mov a,d_adc lcall konversi lcall tampilkan_suhu ret ;-------------------------------------;Subrutin konversi dari Hexa ke desimal ;-------------------------------------konversi: mov b,#10 ;b diisi 10 div ab ;data adc dibagi 10 hasil di a sisa di b swap a ;hasilnya dibalik add a,b ;setelah dibalik ditambah dengan sisa pembagian mov suhu,a push acc ;hasil konversi disimpan di stack anl a,#0f0h swap a mov dptr,#segment movc a,@a+dptr mov digit1,a pop acc anl a,#0fh mov dptr,#segment movc a,@a+dptr mov digit2,a ret ;---------------------------------------------------;Program untuk memanpilkan suhu pada display 7Segment ;---------------------------------------------------tampilkan_suhu:
mov 75h,#8 mov a,digit2 geser1: rrc a mov d_disp,c setb sc nop nop nop clr sc nop nop nop djnz 75h,geser1 mov 75h,#8 mov a,digit1 geser2: rrc a mov d_disp,c setb sc nop nop nop clr sc nop nop nop djnz 75h,geser2 setb lc nop nop nop clr lc ret ;------------------------;Program untuk delay waktu ;------------------------Delay: push 70h push 71h mov 70h,#200 loop1: mov 71h,#200 loop1a: nop nop nop djnz 71h,loop1a djnz 70h,loop1 pop 71h pop 70h Ret
Delay1dtk: push 70h push 71h push 72h mov 70h,#5 loop2: mov 71h,#200 loop2a:mov 72h,#200 loop2b: nop nop nop djnz 72h,loop2b djnz 71h,loop2a djnz 70h,loop2 pop 72h pop 71h pop 70h Ret ;--------------------------segment: db 01111110b db 00110000b db 01101101b db 01111001b db 00110011b db 01011011b db 01011111b db 01110000b db 01111111b db 01111011b end