Rancang Bangun Pintu Otomatis Menggunakan Password

83 

Teks penuh

(1)

TUGAS AKHIR

HERDA TANJUNG 052408081

PROGRAM STUDI FISIKA INSTRUMENTASI D3 DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN PASSWORD

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

HERDA TANJUNG 052408081

PROGRAM STUDI FISIKA INSTRUMENTASI D3 DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : RANCANG BANGUN PINTU OTOMATIS

MENGGUNAKAN PASSWORD

Kategori : TUGAS AKHIR

Nama : HERDA TANJUNG

Nomor Induk Mahasiswa : 052408081

Program Studi : DIPLOMA III FISIKA INSTRUMENTASI

Departemen : MATEMATIKA DAN ILMU

PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATRA UTARA

MEDAN

Diluluskan di

Medan juli 2008

Diketahui Oleh Pembimbing

Departemen Fisika FMIPA USU Ketua Jurusan Fisika Insturumentasi

Drs.syahrul Humaidi, M.Sc

NIP 132 050 870 NIP 131 604 405

(4)

PERNYATAAN

RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN PASSWORD

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, juli 2008

(5)

ABSTRAK

Kajian ini bertujuan untuk merancang bangun sebuah pintu otomatis dengan

menggunakan password berbasis mikrokontroller AT89S51. Sistem ini dibangun

dengan menggunakan perangkat lunak mikrokontroller AT89S51. Dimana

mikrokontroller ini merupakan otak dari semua sistem yang ada pada rancang pintu

otomatis ini, dimana didalam mikrokontroller ini terdapat perbedaan dengan sistem

komputer, dimana komputer menangani berbagai macam program aplikasi sementara

mikrokontroller hanya dapat digunakan untuk satu aplikasi tertentu saja. Perbedaan

lainnya terdapat pada RAM dan ROMnya. Pada komputer program-program

pengguna disimpan di RAM yang relatif besar kalau program kecil disimpan di ROM

(6)

DAFTAR ISI

2.1.1 Asitektur Mikrokontroler AT89S51 6

2.1.2 Kontruksi AT89S51 8

2.2 Perangkat Lunak 12 2.2.1 Bahasa Assembly MCS-51 12

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE) 17

2.2.3 Software Downloader 18

Bab 3 Perancangan Alat dan Program 19 3.1 Rancang Bangun pintu Otomatis Menggunakan Password 19 3.2 Diagram Blok 19

3.8 Rangkaian Driver Motor Stepper 27 3.9 Rangkaian Power Suplay (PSA) 28 3.10 Perancangan Rangkaian Alaram 29

Bab 4 Pengujian Rangkaian dan Program 31

4.1 Pengujian Rangkaian Power Suplay (PSA) 31 4.2 Pengujian Rangkaian Minimum Mikrokontroller AT89S51 32 4.3 Pengujian Rangkaian Penampil Nilai Password 34

4.4 Pengujian Rangkaian Password. 37 4.5 Pengujian Rangkaian Sensor Buka Pintu dan Tutup Pintu 42 4.6 Pengujian Rangkaian Driver Motor Stepper 44

4.7 Pengujian Alaram 48

(7)

Bab 5 Kesimpulan dan Saran 66

5.1 Kesimpulan 66

5.2 Saran 67

Daftar Pustaka 68

(8)

DAFTAR PUSTAKA

Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua, Penerbit: Gava Media, Yogyakarta, 2004

Andi, Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, Penerbit PT Elex Media Komputindo, Jakarta 2003

Brey B Barry, The Intel Microprocessors, Edisi Kelima, Penerbit: Erlangga & Prentice Hall, Inc., Jakarta, 2002

Malvino, Albert paul, Prinsip-prinsip Elektronika, Jilid 1 & 2, Edisi Pertama, Penerbit: Salemba Teknika, Jakarta, 2003.

M. G. Joshi, Transducers For Instrumentation, Penerbit: Laxmi Publications, New Delhi, 2002

Widodo, S.Si, Mkom, Interfacing Komputer dan Mikrokontroler, Penerbit: Elex Media Komputindo, Jakarta, 2004

Lampiran A : Rancang Bangun Pintu Otomatis Menggunakan Password

Lampiran B : Gambar Rangkaian Keseluruhan

(9)

DAFTAR TABEL

Halaman

(10)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah

melimpahkan rahmat dan karuniaNya, juga telah memberikan kesehatan, pengetahuan

serta pengalaman pada penulis, sehingga penulis dapat menyelesaikan Tugas Akhir

yang berjudul “ RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN

PASSWORD “.

pdan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Dalam kesempatan ini penulis ingin mengucapkan terima kasih yang

sebesarnya kepada :

1. Orang tua penulis yang telah memberikan dukungan baik moril maupun

materil kepada penulis dalam menyelesaikan Tugas Akhir ini.

2. Bapak Dr. Eddy Marlianto, M. Sc, selaku Dekan FMIPA USU.

3. Bapak Drs. Syahrul Humaidi, M.Sc, selaku ketua jurusan Program study Fisika

Instrumentasi.

4. Ibu Dra. Justinon, M.Si, selaku Sekretaris Jurusnan Program Study Fisika

Instrumentasi.

5. Bapak Drs. Anwar sebagai Dosen Pembimbing yang telah banyak memberikan

masukan dalam penyelesaian Tugas Akhir ini.

6. Abang Brian yang sudah banyak membantu penulis dalam mengerjakan Tugas

Akhir yang dibuat oleh penulis.

7. Rekan-rekan Jurusan Fisika Instrumentasi stambuk 2005 yang telah banyak

memberikan masukan dan dukungan kepada penulis dalam menyelesaikan

Tugas Akhir ini.

Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini masih terdapat

(11)

mengharapkan masukan berupa saran maupun kritikan yang membangun dari

pembaca. Penulis ucapkan terima kasih.

Medan, Juli 2008

(12)

DAFTAR GAMBAR

Halaman

Gambar 2.1.2 IC Mikrokontroller AT89S51 9

Gambar 2.2.2 8051 Editor, Assembler, Simulator(IDE) 17

Gambar 2.2.3 ISP-Flash Programmer 3a 18

Gambar 3.1 Rancang Bangun Pintu Otomatis Menggunakan Password 19

Gambar 3.2 Diagram Blok Rangkaian 19

Gambar 3.3 Rangkaian Minimum mikrokontroller AT89S51 22

Gambar 3.4 Rangkaian Password 24

Gambar 3.5 Rangkaian Display Seven Segmen 25

Gambar 3.6 Rangkaian Sensor Buka Tutup Pintu 26

Gambar 3.7 Rangkaian Driver Motor Stepper 27

Gambar 3.8 Rangkaian Power Supplay (PSA) 28

Gambar 3.9 Rangkaian Alarm 29

(13)

EKSPEDISI PERBAIKAN TUGAS AKHIR

NAMA

: HERDA TANJUNG

NIM

: 052408081

FAKULTAS

: MIPA

PROGRAM STUDI

: FISIKA INSTRUMENTASI

JUDUL TUGAS AKHIR

: RANCANG

BANGUN

PINTU

OTOMATIS MENGGUNAKAN

PASSWORD

NO

TANGGAL

NAMA DOSEN

TANDA

TANGAN

1.

Drs. Anwar

1.

(14)

EKSPEDISI PENYERAHAN TUGAS AKHIR

NAMA

: HERDA TANJUNG

NIM

: 052408081

FAKULTAS

: MIPA

PROGRAM STUDI

: FISIKA INSTRUMENTASI

JUDUL TUGAS AKHIR

: RANCANG BANGUN PINTU

OTOMATIS MENGGUNAKAN

PASSWORD

NO

TANGGAL

NAMA DOSEN

TANDA

TANGAN

1

Drs. Anwar

2

Drs. Nasir Saleh, M.Eng.Sc

3

Departemen Fisika

(15)

ABSTRAK

Kajian ini bertujuan untuk merancang bangun sebuah pintu otomatis dengan

menggunakan password berbasis mikrokontroller AT89S51. Sistem ini dibangun

dengan menggunakan perangkat lunak mikrokontroller AT89S51. Dimana

mikrokontroller ini merupakan otak dari semua sistem yang ada pada rancang pintu

otomatis ini, dimana didalam mikrokontroller ini terdapat perbedaan dengan sistem

komputer, dimana komputer menangani berbagai macam program aplikasi sementara

mikrokontroller hanya dapat digunakan untuk satu aplikasi tertentu saja. Perbedaan

lainnya terdapat pada RAM dan ROMnya. Pada komputer program-program

pengguna disimpan di RAM yang relatif besar kalau program kecil disimpan di ROM

(16)

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Setiap orang membutuhkan sebuah kamar/ruangan pribadi, dimana dalam

kamar/ruangan tersebut disimpan peralatan-peralatan, benda-benda atau apapun yang

pemilik tidak ingin orang lain melihat atau mengambilnya. Sehingga dengan demikian

pemilik tidak menginginkan satu orangpun selain dia sendiri memasuki

kamar/ruangan tersebut.

Untuk keperluan tersebut, pemilik harus mengunci kamar/ruangannya setiap

kali dia hendak pergi ke tempat lain. Namun masalah terjadi jika pemilik lupa

meletakkan kunci kamar/ruangannya, atau kunci tersebut tertinggal di tempat lain,

yang jaraknya cukup jauh, atau lebih fatal lagi jika kunci tersebut diambil oleh orang

lain kemudian digandakan atau kunci tersebut hilang. Kemungkinan-kemungkinan

tersebut akan menjadi masalah besar.

Untuk mengatasinya dibutuhkan kunci yang tidak dapat tertinggal di tempat

lain, tidak dapat hilang dan tidak dapat digandakan oleh orang lain. Jawaban dari

masalah tersebut adalah menggantikan kunci tersebut dengan password. Jadi dengan

menggunakan pintu yang otomatis terbuka jika password yang dimasukkan benar,

(17)

Password dapat dicatat pada kertas kecil dan dimasukkan ke dalam tas atau

dompet, sehingga jika pemilik lupa, ia dapat melihat catatan. Password tidak mungkin

tertinggal di tempat lain, password tidak dapat digandakan oleh orang lain, dan

password juga tidak bisa hilang, kecuali jika pemilik hilang ingatan, password juga

dapat diganti setiap saat jika ada orang lain yang sudah mengetahui password tersebut.

Dengan kelebihan-kelebihan yang dimiliki oleh pintu otomatis yang

menggunakan password, akan sangat efektip jika kamar/ruangan pribadi diamankan

oleh pintu otomatis tersebut.

1.2Rumusan Masalah

Berdasarkan sebuah pintu otomatis yang dapat membuka sendiri secara otomatis jika

password yang dimasukkan benar, dan akan menutup kembali secara otomatis

beberapa menit sesudahnya.

Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, sebuah motor,

13 tombol password. Mikrokontroler AT89S51 sebagai otak dari system yang

berfungsi memeriksa 4 digit angka yang ditekan, jika angka yang ditekan benar,maka

Mikrokontroler AT89S51 akan memerintahkan motor untuk berputar membuka pintu

sehingga pintu akan terbuka secara otomatis, namun jika angka yang ditekan salah,

maka Mikrokontroler AT89S51 tidak akan memerintahkan motor untuk berputar

sehingg pintu akan tetap tertutup. Mikrokontroler AT89S51 juga berfungsi untuk

(18)

Pada alat ini akan digunakan 13 tombol, dimana 10 tombol untuk angka yaitu

0 s/d 9, 3 tombol yang lain masing-masing berfungsi untuk setting memasukkan nilai

password, setting memasukkan nilai password baru dan tombol run untuk

memerintahkan Mikrokontroler AT89S51 mengolah password.

1.3Tujuan Penulisan

Adapun tujuan penulisan tugas akhir ini adalah membuat sebuah pintu otomatis

dengan menggunakan password yang dapat membuka sendiri secara otomatis jika

password yang dimasukkan benar, dan passwordnya dapat diubah kapanpun sesuai

dengan kehendak pengguna.

1.4Batasan Masalah

Penulisan tugas akhir ini dibatasi pada:

1. Studi cara kerja rangkaian yang meliputi diagram blok dan menguraikan secara

umum fungsi dari masing-masing komponen utama dalam blok tersebut

2. Password yang digunakan hanya 4-digit.

3. Mikrokontroler yang digunakan yaitu AT89S51, jadi hanya mikrokontroler ini yang

(19)

1.5Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat

sistematika pembahasan bagaimana sebenarnya prinsip kerja dari pintu otomatis

dengan menggunakan password yang dapat membuka sendiri secara otomatis jika

password yang dimasukkan benar, maka penulis menulis laporan ini sebagai berikut:

BAB 1. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, batasan 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

tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang

digunakan, serta cara kerja dari rangkaian password dan pengendalian motor untuk

membuka pintu

BAB 3. PERANCANGAN ALAT DAN BAHAN

Pada bagian ini akan dibahas perancangan alat, yaitu diagram blok dari rangkaian,

skematik dari masing-masing rangkaian dan diagram alir dari program yang akan

(20)

BAB 4. PENGUJIAN RANGKAIAN DAN PROGRAM

Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang sistem kerja

per-blok diagram dan sistem kerja keseluruhan.

BAB 5. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang

dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih

efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai

(21)

BAB 2

LANDASAN TEORI

2.1PERANGKAT KERAS

2.1.1 Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer,

hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi

baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak

namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam

jumlah yang banyak) sehingga harga menjadi lebih murah (dibandingkan

mikroprosesor). Sebagai kebetuhan pasar, mikrokontelor hadir untuk memenuhi selera

industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan

yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam

penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang

saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan

suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan

jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini

ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC

yang harus dipasang disamping (atau di belakang) mesin permainan yang

(22)

Selain system tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam

bidang pengukuran jarak jauh atau yang dikenal dengan system telemetri. Misalnya :

Pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman

jika dipasang suatu system pengukuran yang bisa mengirimkan data lewat pemancar

dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya.

Sistem pengukuran jarak jauh ini jelas membutuhkan suatu system akuisisi data

sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu

bisa diperoleh dari mikrokontroler yang digunakan.

Tidak seperti system komputer, yang mampu menangani berbagai macam

program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),

mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan

lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer

perbandingan RAM dan ROM-nya besar, artinya program-program pengguna

disimpan dalam ruang RAM yang relative besar, sedangkan perangkat kerasnya

disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler,

perbandingan ROM dan RAM-nya yang besar artinya program control disimpan

dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih

besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk

(23)

2.1.2 Kontruksi AT89S51

Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1

kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm

dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini

AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan

frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi

rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja

mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler.

Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan

catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori

penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu

daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai

untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah

baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC

mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler

mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang

(24)

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash

PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat

bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte,

meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah

cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan berpariasi. AT89S51

mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1

(P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

(25)

Deskripsi pin-pin pada mikrokontroler AT89S51 :

VCC (Pin 40)

Supply tegangan

GND (Pin 20)

Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun

penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini

dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai

input dengan memberikan logika 1 pada port tersebut.

Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai

internal pull up.

Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat

verifikasi program.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses

memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan

isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi

sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat

(26)

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga

mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 eksternal) P3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle.

ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat

selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG)

selama memprogam Flash.

PSEN (pin 29)

(27)

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan

menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika

kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada

memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12

Volt.

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18)

Output dari osilator.

2.2PERANGKAT LUNAK

2.2.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah

bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa

ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10

(28)

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register

tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.

Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h ...

... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20

Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah

alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk

mengurangi nilai register tertentu dengan 1 dan lompat jika hasil

pengurangannya belum nol. Contoh ,

MOV R0,#80h Loop: ...

...

(29)

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan

meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA ...

TUNDA:

...

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin

pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ...

TUNDA:

... RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

... ...

(30)

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang

dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop ...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang

dimaksud berlogika Low (0). Contoh,

Loop:

JNB P1.0,Loop ...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register

dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin

Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan

(31)

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang

dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang

dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

(32)

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah

editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah

ini.

Gambar 2.2.2 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble

(di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika

masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan

perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu

sampai tidak ada pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke

dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an.

(33)

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan

software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.

Tampilannya seperti gambar di bawah ini

Gambar 2.2.3 ISP- Flash Programmer 3.a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil

file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk

(34)

M

3.1 Rancang Bangun Pinti Otomatis Menggunakan Password

3.2 Diagram Blok

Secara garis besar, diagram blok rangkaian dari pintu otomatis dengan menggunakan

password ditunjukkan pada gambar berikut ini :

(35)

Pada rangkaian ini digunakan sebuah mikrokontroler AT89S51 sebagai pusat kendali

dari seluruh rangkaian. Rangkaian pendukung lainnya adalah 13 tombol, yaitu 10

tombol untuk password, dan tiga tombol sebagai tombol setting, sensor yang dapat

mendeteksi ketika pintu terbuka/tertutup, empat digit seven segmen untuk

menampilkan angka yang password, dan sebuah rangkaian pengendali motor.

Sensor buka pintu berfungsi untuk mengetahui batas maksimum terbukanya

pintu, sehingga ketika pintu terbuka kemudian pintu menyentuh sensor ini, maka

sensor akan mengirimkan sinyal ke mikrokontroler untuk menghentikan perputaran

motor, sehingga motor berhenti (tidak membuka lebih lebar lagi).

Sensor ini terhubung ke P2.6 mikrokontroler AT89S51. Sensor tutup pintu berfungsi

untuk mengetahui batas maksimum tertutupnya pintu, yang menandakan bahwa pintu

telah tertutup rapat, sehingga ketika pintu tertutup kemudian pintu menyentuh sensor

ini, maka sensor akan mengirimkan sinyal ke mikrokontroler untuk menghentikan

perputaran motor, sehingga motor berhenti. Rangkaian Sensor ini terhubung ke P2.7

mikrokontroler AT89S51

Rangkaian pengendali motor stepper berfungsi untuk mengendalikan

pergerakan motor stepper (menutup/membuka pintu). Rangkaian ini terhubung ke port

0, sehingga dengan memberikan program tertentu, pergerakan menutup/membuka

pintu sudah dapat dikendalikan oleh program yang diberikan ke mikrokontroler

(36)
(37)

3. 4 Rangkaian minimum mikrokontroller AT89S51

Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 3.4 berikut

ini :

Gambar 3.4 Rangkaian minimum mikrokontroller AT89S51

Pin 29 merupakan PSEN (Program Store Enable) dan pin 30 sebagai Address

Latch Enable (ALE)/PROG dihubungkan ke ground (diset low), sedangkan Pin 31

External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller

AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke

XTAL 12 MHz dan capasitor 30 pF. XTAL ini akan mempengaruhi kecepatan

mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9

merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan

me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus

I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah

dan bus data selama adanya akses ke memori program eksternal. Karena fungsi

tersebut maka Port 0 dihubungkan dengan resistor array. Jika mikrokontroller tidak

menggunakan memori eksternal, maka penggunaan resistor array tidak begitu penting.

(38)

Pin 28 yang merupakan P2.7 dihubungkan dengan transistor dan sebuah LED. Ini

dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller

AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada

mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah

bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 28 sudah bekerja

sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap

digunakan. Namun setelah seluruh rangkaian disatukan, LED yang terhubung ke pin

28 ini tidak digunakan lagi. Pin 20 merupakan ground dihubungkan dengan ground

pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan

+ 5 volt dari power supplay.

3.5 Rangkaian Password

Rangkaian password terdiri dari 13 tombol, dimana 10 tombol merupakan tombol

angka, yaitu dari angka 0 sampai angka 9. Dan tiga tombol yang lainnya merupakan

tombol setting, tombol run dan tombol untuk mengganti password.

Rangkaian password ini dihubungkan dengan port 1 dan port 2. Pada port 1

terdapat 8 tombol dan pada port 2 terdapat 5 tombol. Dalam kondisi biasa, port 1 dan

port 2 mendapatkan logika high (1), saat terjadi penakanan salah satu tombol, maka

pin yang terhubung ke tombol tersebut akan terhubung ke ground, sehingga

mengirimkan sinyal low (0). Perubahan kondisi dari high (1), menjadi low (0) inilah

(39)

Seterusnya mikrokontroler akan menampilkan nilai dari tombol yang ditekan

pada display seven segmen, kemudian membandingkannya dengan nilai password

yang benar, jika benar maka pintu akan terbuka secara otomatis.

(40)

3. 6 Rangkaian Display Seven Segmen

Untuk menampilkan angka dari setiap penekanan tombol, maka dibutuhkan sebuah

display untuk menampilkannya. Pada alat ini, display yang digunakan adalah display

seven segmen, yang terdiri dari 4 buah seven segmen, sehingga display ini dapat

menampilkan 4 digit bilangan.

Display seven segmen ini akan diaktipkan oleh IC 4094 yang merupakan IC

serial to paralel (serial in paralel out). Jadi data dimasukkan ke dalam IC ini dengan

mengirimkan data serial. Keluaran dari IC 4094 ini langsung dihubungkan ke seven

segmen, sehingga data serial yang diterima oleh input IC ini akan ditampilkan nilainya

pada seven segmen.

Rangkaian ini terhubung ke P3.0 dan P3.1, yang mempunyai fungsi khusus

sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada display

seven segmen akan dapat dikendalikan oleh mikrokontroler AT89S51.

Gambar 3.6 Rangkaian display seven segmen

(41)

3.7 Rangkaian Sensor Buka Pintu dan Tutup Pintu

Ketika password yang diisikan benar, maka pintu akan terbuka. Untuk mengetahui

bahwa pintu telah terbuka secara penuh, maka dibutuhkan sebuah sensor untuk

mengetahuinya. Sensor ini berfungsi untuk memastikan bahwa pintu telah terbuka

secara penuh (terbuka lebar), jadi ketika passwordnya benar dan kemudian pengguna

menekan tombol run, maka mikrokontroler akan memerintahkan motor stepper untuk

berputar membuka pintu. Ketika pintu menyentuh sensor buka pintu, yang berarti

pintu sudah terbuka lebar, maka sensor akan mengirimkan sinyal low ke

mikrokontroler, yang merupakan perintah kepada mikrokontroler untuk menghentikan

putaran motor stepper. Mikrokontroler yang menerima sinyal ini akan langsung

memerintahkan motor stepper untuk berhenti berputar, dan pintu telah terbuka lebar.

Setelah beberapa saat ( ± 8 detik), maka mikrokontroler akan memerintahkan

motor stepper untuk berputar menutup pintu Ketika pintu menyentuh sensor tutup

pintu, yang berarti pintu sudah tertutup rapat, maka sensor akan mengirimkan sinyal

low ke mikrokontroler, yang merupakan perintah kepada mikrokontroler untuk

menghentikan putaran motor stepper. Mikrokontroler yang menerima sinyal ini akan

langsung memerintahkan motor stepper untuk berhenti berputar, dan pintu telah

tertutup rapat.

(42)

3.8 Rangkaian Driver Motor Stepper

Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver. Driver ini

berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan

arah dengan jarum jam. Rangkaian ini dihubungkan ke port 0 dari mikrokontroler

AT89S51. sehingga untuk memutar motor, harus diberikan logika high secara

bergantian ke port 0. Sedangkan untuk memutar motor ke arah sebaliknya, maka

logika high yang diberikan secara bergantian tersebut harus berlawanan arah dengan

sebelumnya. Dengan demikian maka rangkaian ini sudah dapat dikendalikan oleh

mikrokontroler AT89S51.

Gambar 3.8 Rangkaian Driver Motor Stepper

Tip 122 Tip 122

VCC 12V

MOTOR AT89S51 (P0.0)

AT89S51 (P0.2)

Stepper

VCC 12V

Tip 122 Tip 122

1.0k฀

1.0k฀ AT89S51 (P0.1)

1.0k฀

1.0k฀

(43)

3.9 Rangkaian power supplay ( PSA )

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,

keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian,.

Rangkaian power supplay ditunjukkan pada gambar 3.8 berikut ini :

Gambar 3.9 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari

220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan

menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor

2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang

dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED

hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini

berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian,

sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh

arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah

(44)

3.10 Perancangan Rangkaian Alarm

Rangkaian alarm ini berfungsi untuk memberikan peringatan berupa nada alarm

apabila password yang tekan salah. Rangkaiannya seperti gambar di bawah ini:

Gambar 3.10. Rangkaian Alarm

Pada alat ini, alarm yang digunakan adalah alarm 5 volt. Alarm ini akan

berbunyi jika positifnya dihubungkan ke sumber tegangan positif dan negatifnya

dihubungkan ke ground.

Pada rangkaian di atas transistor berfungsi sebagai saklar elektronik yang

dapat menghidupkan dan mematikan alarm. Dari gambar dapat dilihat bahwa negatif

buzzer dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika

transistor dalam keadaan aktip maka kolektor akan terhubung ke emitor dimana

emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor

menjadi 0 volt, keadaan ini akan mengakibatkan alarm berbunyi. Sebaliknya jika

transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan

(45)

Transistor yang digunakan dalam rangkaian di atas adalah transistor jenis

NPN, transistor jenis ini akan aktif apabila tegangan pada basis lebih besar dari 0,7

volt. Resistor 4,7 Kohm pada basis berguna untuk membatasi arus yang masuk pada

(46)

BAB 4

PENGUJIAN RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)/ Catu Daya

Rangkaian Power Supply diuji dengan menghubungkan rangkaian Power Supply

dengan sebuah multimeter. Adapun tujuannya adalah untuk mengukur tegangan

keluarannya apakah sudah sesuai dengan yang diinginkan atau belum.

Pada rangkaian Power Supply tegangan yang masuk adalah tegangan sebesar

220 volt AC. Untuk menghidupkan rangkaian ini tidak diperlukan tegangan sebesar

itu. Selain itu arus yang digunakan adalah arus searah, hal ini disebabkan karena

apabila arus yang masuk adalah arus bolak-balik maka tegangan yang dihasilkan tidak

stabil. Dan ini dapat menyebabkan kerusakan pada rangkaian.

Karena tegangan yang masuk kedalam rangkaian adalah tegangan sebesar 220

Volt AC, maka tegangan ini perlu dikecilkan dan disearahkan menjadi tegangan DC.

Oleh karena itu pada rangkaian ini digunakan Trafo CT yang berfungsi untuk

menurunkan tegangan dari 220 Volt menjadi 2 tegangan keluaran yaitu 12 Volt dan 5

Volt. Kemudian tegangan ini disearahkan dengan 2 buah dioda dan kemudian

diratakan dengan kapasitor 2200 mikro farad.

Tegangan keluaran yang dihasilkan oleh rangkaian Power Supply ini adalah 12

(47)

rangkaian mikrokontroller AT89S51 dan tegangan 12 Volt DC akan digunakan untuk

menghidupkan semua relay yang ada pada rangkaian.

Apabila rangkaian kita hidupkan dan kita hubungkan ke multimeter dan

keluarannya sesuai dengan yang diharapkan, maka rangkaian ini sudah bekerja dengan

baik. Akan tetapi, bila tidak sesuai kemungkinan besar ada kerusakan di dalam

rangkaian ini.

4.2 Pengujian Rangkaian Mikrokontroller AT89S51

Untuk mengetahui apakah rangkaian mikrokontroller AT89S51 telah bekerja dengan

baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan

program sederhana pada mikrokontroller AT89S51. Programnya adalah sebagai

berikut:

Loop:

Setb P2.7

Acall tunda

Clr P2.7

Acall tunda

Sjmp Loop

Tunda:

(48)

Tnd: Mov r6,#0ffh

Djnz r6,$

Djnz r7,tnd

Ret

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P2.7

selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus

menerus. Perintah Setb P2.0 akan menjadikan P2.7 berlogika high yang menyebabkan

transistor aktif, sehingga LED hidup. Acall tunda akan menyebabkan LED ini hidup

Selama beberapa saat. Perintah Clr P2.7 akan menjadikan P2.7 berlogika low yang

menyebabkan transistor tidak aktif sehingga LED akan mati. Perintah Acall tunda

akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan

menjadikan program tersebut berulang-ulang, sehingga akan tampak LED tersebut

berkedip.

Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian

mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian

(49)

4.3 Pengujian Rangkaian Penampil Nilai Password

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini

dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial

dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana

segmen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi

logika 1.

Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk

menampilkan angka desimal adalah sebagai berikut:

Tabel 4.3 Data Yang Dikirim ke Port Serial

Angka Data yang dikirim

1 0ECH

2 18H

3 88H

4 0C4H

5 82H

6 02H

7 0E8H

8 0h

9 80H

(50)

Setiap penekanan pada tombol password, nilainya akan ditampilkan ke display

dimana display tersebut menggunakan 4 buah seven segmen yang dihubungkan ke IC

4094 yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang

masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0

dan P3.1 AT89S51. P3.0 merupakan fasilitas khusus pengiriman data serial yang

disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock

untuk pengiriman data serial.

Dengan menghubungkan P3.0 dengan IC serial to paralel (IC 4094), maka

data serial yang dikirim akan diubah menjadi data paralel. Kemudian IC 4094 ini

dihubungkan dengan seven segmen agar data tersebut dapat ditampilkan dalam bentuk

angka. Seven segmen yang digunakan adalah aktip low, ini berarti seven segmen akan

hidup jika diberi data low (0) dan seven segmen akan mati jika diberi data high (1).

Untuk menampilkan angka pada seven segmen, maka data yang harus diberikan

adalah sebagai berikut:

1. Untuk menampilkan angka nol, data yang harus dikirim adalah 20h

2.Untuk menampilkan angka satu, data yang harus dikirim adalah 0ech

3.Untuk menampilkan angka dua, data yang harus dikirim adalah 18h

4. Untuk menampilkan angka tiga, data yang harus dikirim adalah 88h

5. Untuk menampilkan angka empat, data yang harus dikirim adalah 0c4h

6. Untuk menampilkan angka lima, data yang harus dikirim adalah 82h

7. Untuk menampilkan angka enam, data yang harus dikirim adalah 02h

8. Untuk tampilan kosong (tidak ada nilai yang tampil), data yang harus

(51)

Program untuk menampilkan angka pada display seven segmen adalah sebagai

berikut:

bil0 equ 20h

bil1 equ 0ech

bil2 equ 18h

bil3 equ 88h

bil4 equ 0c4h

bil5 equ 82h

bil6 equ 02h

bilkosong equ 0ffh

mov 60h,#Bil1

mov 61h,#Bil2

mov 62h,#Bil3

mov 63h,#Bil4

Display:

mov sbuf,60h

jnb ti,$

clr ti

mov sbuf,61h

jnb ti,$

clr ti

mov sbuf,62h

jnb ti,$

(52)

mov sbuf,63h

jnb ti,$

clr ti

ret

Program di atas akan menampilkan nilai 1234 pada display seven segmen. Dan

nilai berapapun yang diisikan ke alamat 60h, 61h, 62h dan 63h akan

ditampilkan pada display seven segmen.

4.4 Pengujian Rangkaian Password

Untuk membuka pintu, maka password yang diberikan harus benar sesuai dengan

programnya supaya pintu dapat terbuka. Jika tidak benar, maka pintu tidak akan

terbuka. Rangkaian password ini terdiri dari 13 tombol, dimana tombol 1 sampai

dengan 9 untuk penekanan password yang dapat diganti jika pemilik merasa kurang

tepat dengan password sebelumnya dengan mengganti nilai pada program. Angka

yang lain untuk setting dan runnya yang ditekan setelah penekanan kode sehingga

pintu dapat terbuka.

Rangkaian password ini terhubung ke Port 2 dan port 1, dimana P1.7

merupakan tombol setting, P2.4 merupakan tombol 1, P2.3 merupakan tombol 2, P2.2

merupakan tombol 3, P2.1 merupakan tombol 4, P2.0 merupakan tombol 5, P1.0

merupakan tombol 6, P1.1 merupakan tombol 7, P1.2 merupakan tombol 8, P1.3

merupakan tombol 9, P1.4 merupakan tombol 0, P1.5 merupakan tombol untuk

(53)

P1.7 akan terhubung ke ground, menyebabkan P1.7 mendapatkan sinyal low. Sinyal

low inilah yang merupakan indikasi bahwa ada penekanan pada tombol setting. Cara

kerja yang sama juga berlaku pada ketiga belas tombol lainnya.

Program untuk mengetahui penekanan pada tombol password adalah sebagai

berikut :

Tbl_Setting Bit P1.7

Tbl_1 Bit P2.4

Tbl_2 Bit P2.3

Tbl_3 Bit P2.2

Tbl_4 Bit P2.1

Tbl_5 Bit P2.0

Tbl_6 Bit P1.0

. . .

Tbl_Ganti Bit P1.5

Tbl_Run Bit P1.6

Di awal program dibuat inisialisasi tombol, dimana inisialisasi ini akan berguna untuk

mempermudah mengingat hubungan tiap-tiap tombol dengan pin pada mikrokontroler.

Jb Tbl_Setting,$

Perintah di atas akan merupakan perintah untuk menunggu penekanan pada tombol

setting dan akan terus menunggu sampai ada penekanan pada tombol setting.

mov 60h,#Bil0

mov 61h,#Bil0

(54)

mov 63h,#Bil0

Acall Display

Perintah-perintah di atas akan memasukkan nilai 0 ke alamat 60h yang

merupakan alamat untuk mengisi nilai ribuan, memasukkan nilai 0 ke alamat 61h

yang merupakan alamat untuk mengisi nilai ratusan, memasukkan nilai 0 ke alamat

62h yang merupakan alamat untuk mengisi nilai puluhan dan memasukkan nilai nol ke

alamat 63h yang merupakan alamat untuk mengisi nilai satuan. Sehingga dengan

demikian akan tampil pada display nilai 0000.

Cek_no11:

Jb Tbl_1,Cek_no21

mov 70h,#1

mov 60h,#bil1

Acall Display

Jnb Tbl_1,$

Acall Tunda

Ljmp Cek_Password2

Cek_no21:

Jb Tbl_2,Cek_no31

mov 70h,#2

mov 60h,#bil2

Acall Display

Jnb Tbl_2,$

(55)

Ljmp Cek_Password2

. . . .

. . . .

. . . . Dst

Program di atas akan mengecek penekanan pertama dari masing-masing

tombol password, yaitu penekanan pada tombol 1, tombol 2, tombol 3 s/d tombol 0.

Jika tidak ada penekanan pada tombol 1, maka program akan mengecek tombol 2, jika

tombol 2 juga tidak ditekan, maka program akan mengecek tombol 3, dan seterusnya.

Jika terjadi penekanan pada tombol 1, maka program akan memasukkan nilai 1 ke

alamat 70h. Nilai ini yang nantinya akan dibandingkan dengan nilai password yang

benar untuk nilai password pertama. Kemudian program akan memasukkan nilai

bil1 ke alamat 60h agar tampil di display angka 1. Selanjutnya program akan

melanjutkan untuk mengecek penekanan kedua dari tombol password

Namun jika tombol yang ditekan adalah tombol 2, maka program akan

memasukkan nilai 2 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan

dengan nilai password yang benar untuk nilai password pertama. Kemudian program

akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.

Selanjutnya program akan melanjutkan untuk mengecek penekanan kedua dari tombol

password

Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3,

(56)

Cek_Password2:

Jb Tbl_1,Cek_no22

mov 71h,#1

mov 61h,#bil1

Acall Display1

Jnb Tbl_1,$

Acall Tunda

Ljmp Cek_Password3

Cek_no22:

Jb Tbl_2,Cek_no32

mov 71h,#2

mov 61h,#bil2

Acall Display1

Jnb Tbl_2,$

Acall Tunda

Ljmp Cek_Password3

Program di atas akan mengecek penekanan password kedua dari

masing-masing tombol password. Sama seperti sebelumnya, jika tidak ada penekanan pada

tombol 1, maka program akan mengecek tombol 2, jika tombol 2 juga tidak ditekan,

maka program akan mengecek tombol 3, dan seterusnya. Jika terjadi penekanan pada

tombol 1, maka program akan memasukkan nilai 1 ke alamat 70h. Nilai ini yang

nantinya akan dibandingkan dengan nilai password yang benar untuk nilai password

(57)

display angka 1. Selanjutnya program akan melanjutkan untuk mengecek penekanan

ketiga dari tombol password

Namun jika tombol yang ditekan adalah tombol 2, maka program akan

memasukkan nilai 2 ke alamat 70h. Nilai ini yang nantinya akan dibandingkan

dengan nilai password yang benar untuk nilai password kedua. Kemudian program

akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.

Selanjutnya program akan melanjutkan untuk mengecek penekanan ketiga dari tombol

password

Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3,

4, 5 dan seterusnya. Dan juga penekanan untuk penekanan ketiga dan keempat dari

tombol password.

4.5 Pengujian Rangkaian Sensor Buka Pintu dan Tutup Pintu

Ketika mikrokontroler memerintahkan motor untuk membuka pintu, mikrokontroler

tidak mengetahui apakah pintu sudah terbuka lebar atau belum. Hal yang sama juga

terjadi ketika mikrokontroler memerintahkan motor untuk menutup pintu,

mikrokontroler tidak mengetahui apakah pintu sudah tertutup rapat atau belum.

Karena itu dibutuhkan sebuah sensor yang dapat mengetahui kedua keadaan tersebut.

Dalam hal ini digunakan sebuah sensor buka pintu (switch control), yang

(58)

sensor tutup pintu yang berfungsi untuk mengetahui apakah pintu sudah tertutup rapat

atau belum. Rangkaian sensor buka pintu hanya terdiri dari sebuah saklar yang

dihubungkan ke ground dan ke mikrokontroler AT89S51.

Ketika sensor dalam keadaan terbuka, kondisi P2.6 adalah high. Namun jika

pintu menyentuh saklar, maka P2.6 akan terhubung ke ground, yang menyebabkan

kondisi P2.6 akan berubah dari high (1), menjadi low (0). Perubahan kondisi pada

P2.6 inilah yang dikenali oleh mikrokontroler sebagai tanda bahwa pintu telah terbuka

lebar, maka mikrokontroler akan memerintahkan motor stepper untuk berhenti

berputar, sehingga pintu tidak terbuka lebih lebar lagi.

Program untuk mendeteksi pengiriman sinyal dari sensor buka pintu ini

adalah,

Buka_Pintu:

. . .

Jb P2.6,Buka_Pintu

mov P0,#0h

Program di atas akan melihat kondisi P2.6 yang dihubungkan ke sensor buka

pintu, dengan menggunakan perintah JB (jump if bit), jika kondisi P2.6 bit (high),

yang berarti pintu belum terbuka lebar, maka mikrokontroler akan tetap

memerintahkan motor untuk berputar membuka pintu sampai mendapatkan sinyal low

(0) dari sensor. Jika kondisi P2.6 notbit (low), maka mikrokontroler akan

memerintahkan motor untuk berhenti membuka pintu, dengan menggunakan perintah

(59)

Hal yang sama juga terjadi pada sensor tutup pintu, perbedaanya hanya pada

port mikrokontroler yang digunakan. Jika sensor buka pintu dihubungkan ke P2.6,

maka sensor tutup pintu dihubungkan ke P2.7.

4.6Pengujian Rangkaian Driver Motor Stepper

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran,

dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan

keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar

motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya.

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing

transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51.

Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus

yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada

motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan

emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122

mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan

terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt

dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke

yang memiliki medan magnet tesebut. Medan magnet memutar motor sehingga

(60)

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip

dan tidak ada arus yang mengalir pada kumparan, sehingga tidak ada medan magnet

pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang

terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih

kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high(1)

diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper

akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya,

maka logika high (1) pada input driver motor stepper harus diberikan secara

bergantian dengan arah yang berlawanan dengan sebelumnya.

Program yang diberikan pada driver motor stepper untuk memutar motor

stepper adalah sebagai berikut :

mov a,#11h

Buka_Pintu:

mov P0,a

acall tunda

Rl a

Jb Sensor_Buka,Buka_Pintu

mov P0,#0h

Program diawali dengan memberikan nilai 11h pada pada accumulator (a),

kemudian program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0,

(61)

logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah

ini,

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

P0 0 0 0 1 0 0 0 1

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan

mempengaruhi kecepatan perputaran motor. Semakin lama tunda, maka perputaran

motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah ini akan

memutar nilai yang ada pada accumulator (a), seperti tampak pada table di bawah ini,

a 0 0 0 1 0 0 0 1

Rl

a 0 0 1 0 0 0 1 0

Dst...

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a,

maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan

melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika

high (1),

Jika kondisi sensor buka pintu high (1), yang berarti pintu belum terbuka lebar,

maka program akan kembali ke rutin buka pintu untuk terus membuka pintu. Nilai

yang ada pada accumulator (a), akan kembali diisikan ke port 0, maka nilai di port 0

akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high

sedangkan yang lainnya mendapatkan logika low, seperti table di bawah ini,

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

P0 0 0 1 0 0 0 1 0

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan

(62)

mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper

akan berputar membuka pintu. Pintu akan terus dibuka sampai sensor buka pintu

mengirimkan logika low (0). Jika kondisi sensor buka pintu low (0), yang berarti

pintu telah terbuka lebar maka program akan melanjutkan ke baris berikutnya, yaitu

mengisi port 0 dengan nilai 0h, yang merupakan perintah untuk menghentikan

perputaran motor.

Hal yang sama juga berlaku ketika motor berputar untuk menutup pintu,

perbedaannya hanya pada perintah rotate. Jika pada perintah buka pintu digunakan

rotate left ( Rl ), maka pada perintah tutup pintu digunakan perintah rotate right ( Rr).

Perputaran perintah Rr diperlihatkan pada table berikut,

a 1 0 0 0 1 0 0 0

R r

a 0 1 0 0 0 1 0 0

(63)

4.7Pengujian Alarm

Pengujian pada rangkaian alarm ini dapat dilakukan dengan memberikan tegangan 5

volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis

NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak

aktipjika pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan membunyikan

alarm.

Selanjutnya alarm dihubungkan dengan mikrokontroler dan mikrokontroler

diberi program sederhana untuk megaktifkan alarm. Program yang diisikan ke

mikrokontroler untuk mengaktifkan alarm adalah :

Setb P0.0

. . .

Perintah di atas akan memberikan logika high (1) atau tegangan 5 volt. pada P0.0,

(64)
(65)
(66)
(67)
(68)
(69)
(70)
(71)
(72)
(73)
(74)
(75)
(76)
(77)
(78)
(79)
(80)

kussunk:

mov sbuf,#Kosong jnb ti,$

clr ti

mov sbuf,#Kosong jnb ti,$

clr ti

mov sbuf,#Kosong jnb ti,$

clr ti

mov sbuf,#Kosong jnb ti,$

(81)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Ketika mikrokontroler memerintahkan motor untuk membuka pintu, mikrokontroler

tidak mengetahui apakah pintu sudah terbuka lebar atau belum. Hal yang sama juga

terjadi ketika mikrokontroler memerintahkan motor untuk menutup pintu,

mikrokontroler tidak mengetahui apakah pintu sudah tertutup rapat atau belum.

Karena itu dibutuhkan sebuah sensor yang dapat mengetahui kedua keadaan tersebut.

Dalam hal ini digunakan sebuah sensor buka pintu atau switch control, yang

berfungsi untuk mengetahui apakah pintu sudah terbuka lebar atau belum, dan sebuah

sensor tutup pintu yang berfungsi untuk mengetahui apakah pintu sudah tertutup rapat

atau belum. Rangkaian sensor buka pintu hanya terdiri dari sebuah saklar yang

dihubungkan ke ground dan ke mikrokontroler AT89S51.

Ketika sensor dalam keadaan terbuka, kondisi P2.6 adalah high. Namun jika

pintu menyentuh saklar, maka P2.6 akan terhubung ke ground, yang menyebabkan

kondisi P2.6 akan berubah dari high (1), menjadi low (0). Perubahan kondisi pada

P2.6 inilah yang dikenali oleh mikrokontroler sebagai tanda bahwa pintu telah terbuka

lebar, maka mikrokontroler akan memerintahkan motor stepper untuk berhenti

(82)

5.2. Saran

Pintu otomatis bukan hanya proyek untuk mendapatkan gelar diploma III semata

tetapi sangat tepat untuk menjaga keamanan bagi setiap penggunanya dimana dapat

terhindar dari maling, kebakaran. karena bukan saja berfungsi sebagasi pintu tetapi

lemari dan berangkas dimana dapat digunakan untuk menyimpan barang-barang

berharga seperti surat-surat penting, uang dan yang lain yang sangat pribadi. Pintu

otomatis ini tidak rumit untuk digunakan karena pengguna hanya

menghapal/mengingat kode empat digit yang hanya pengguna yang mengetahuinya

(83)

DAFTAR PUSTAKA

Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua,

Penerbit: Gava Media, Yogyakarta, 2004

Andi, Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler

AT89C51, Penerbit PT Elex Media Komputindo, Jakarta 2003

Brey B Barry, The Intel Microprocessors, Edisi Kelima, Penerbit: Erlangga &

Prentice Hall, Inc., Jakarta, 2002

Malvino, Albert paul, Prinsip-prinsip Elektronika, Jilid 1 & 2, Edisi Pertama,

Penerbit: Salemba Teknika, Jakarta, 2003.

M. G. Joshi, Transducers For Instrumentation, Penerbit: Laxmi Publications, New

Delhi, 2002

Widodo, S.Si, Mkom, Interfacing Komputer dan Mikrokontroler, Penerbit: Elex

Media Komputindo, Jakarta, 2004

Lampiran A : Rancang Bangun Pintu Otomatis Menggunakan Password

Lampiran B : Gambar Rangkaian Keseluruhan

Figur

Gambar  2.1.2   IC Mikrokontroler AT89S51
Gambar 2 1 2 IC Mikrokontroler AT89S51 . View in document p.24
Gambar  2.2.2   8051 Editor, Assembler, Simulator (IDE)
Gambar 2 2 2 8051 Editor Assembler Simulator IDE . View in document p.32
Gambar  2.2.3  ISP- Flash Programmer 3.a
Gambar 2 2 3 ISP Flash Programmer 3 a . View in document p.33
Gambar  3.2     Diagram Blok Rangkaian
Gambar 3 2 Diagram Blok Rangkaian . View in document p.34
Gambar 3.4  Rangkaian minimum mikrokontroller AT89S51
Gambar 3 4 Rangkaian minimum mikrokontroller AT89S51 . View in document p.37
Gambar 3.5 Rangkaian Password
Gambar 3 5 Rangkaian Password . View in document p.39
Gambar 3.6  Rangkaian display seven segmen
Gambar 3 6 Rangkaian display seven segmen . View in document p.40
Gambar 3.7 Rangkaian sensor buka tutup pintu
Gambar 3 7 Rangkaian sensor buka tutup pintu . View in document p.41
Gambar 3.8  Rangkaian Driver Motor Stepper
Gambar 3 8 Rangkaian Driver Motor Stepper . View in document p.42
Gambar 3.9  Rangkaian Power Supplay (PSA)
Gambar 3 9 Rangkaian Power Supplay PSA . View in document p.43
Gambar 3.10. Rangkaian Alarm
Gambar 3 10 Rangkaian Alarm . View in document p.44
Tabel 4.3 Data Yang Dikirim ke Port Serial
Tabel 4 3 Data Yang Dikirim ke Port Serial . View in document p.49

Referensi

Memperbarui...