APLIKASI MIKROKONTROLLER AT89S51 UNTUK
BUKA/TUTUP PINTU OTOMATIS MENGGUNAKAN
PASSWORD
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar ahli madya
RAMLI BUTAR-BUTAR
052408054
DEPARTEMEN FISIKA INSTRUMENTASI
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
JuduI : APLIKASI MIKROKONTROLLER AT89S51
UNTUK BUKA/TUTUP PINTU OTOMATIS
MENGGUNAKAN PASSWORD
Kategori : TUGAS AKHIR
Nama : RAMLI BUTAR-BUTAR
Nomor Induk Mahasiswa : 052408054
Program Studi : D3 FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juli 2008
Diketahui/Disetujui oleh
Ketua Jurusan
Fisika Instrumentasi
FMIPA-USU Pembimbing
(Drs, Syahrul Humaidi, MSi) (Drs. Tenang Ginting, MS) NIP : 132 050 870 NIP : 130 535 872
PERNYATAAN
APLIKASI MIKROKONTROLLER AT89S51 UNTUK BUKA/TUTUP PINTU
OTOMATIS MENGGUNAKAN PASSWORD
TUGAS AKHIR
Saya mengakui bahwa laporan tugas akhir ini adalah hasil kerja saya sendiri,kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2008
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala anugerah dan karunianya sehingga penulis dapat menyelesaikan laporan tugas akhir ini.
ABSTRAK
Pintu otomatis yang ada saat ini akan terbuka secara otomatis jika ada orang yang akan melewatinya, dan akan menutup sendiri secara otomatis beberapa saat kemudian ketika tidak ada orang yang akan melewatinya. Pintu otomatis ini dapat dikembangkan, sehingga hanya sebagian orang saja yang dapat masuk melalui pintu tersebut. Untuk itu dibutuhkan suatu alat pengenal, yang dengan alat pengenal tersebut seseorang dapat masuk melalui pintu itu. Alat pengenal tersebut berupa sebuah kartu identitas yang didalamnya terdapat kode bar.
DAFTAR ISI
Daftar Gambar viii
BAB 1 PENDAHULUAN
2.1.2 Pin-Pin pada mikrokontroller AT89S51 10
2.2 Motor Langkah(Stepper) 13
2.3.5 Software 8051 Editor, Assembler,Simulator 31
2.3.6 Software Downloader 32
BAB 3 RANCANGAN SISTEM
3.1 Diagram Blok Rangkaian 33
3.2 Perancangan Program 34
3.3 Perancangan Rangkaian Power Supply 35
3.4 Perancangan Rangkaian Mikrokontroller AT89S51 36 3.5 Perancangan Rangkaian Display Seven Segmen 37
3.6 Perancangan Rangkaian Password 38
3.7 Perancangan Rangkaian Driver Motor Stepper 45
3.8 Perancangan saklar batas 46
BAB 4 PENGUJIAN ALAT
4.1 Pengujian Rangkaian Power Supplay (PSA) 48 4.2 Pengujian Rangkaian Mikrokontroller AT89S51 48 4.3 Pengujian Rangkaian Driver Motor Stepper 51
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 54
5.2 Saran 54
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi Kaki IC 89S51 Pada Port P3 11
Tabel 2.2 Gelang Resistor 16
DAFTAR GAMBAR
Halaman
Gambar 2.1 IC mikrokontroller AT 89S51 10
Gambar 2.2 Diagram motor langkah(stepper) 13
Gambar 2.3 Pemberian data /pulsa pada motor stepper 14
Gambar 2.4 Resistor Karbon 16
Gambar 2.5 Potensiometer 18
Gambar 2.6 Grafik Perubahan Pada Nilai Potensiometer 18
Gambar 2.7 Skema Kapasitor 19
Gambar 2.8 Electrolytic Capacitor (ELCO) 20
Gambar 2.9 Ceramic Capasitor 21
Gambar 2.10 Simbol Tipe Transistor 23
Gambar 2.11 Transistor Sebagai Saklar ON 24
Gambar 2.12 Karakteristik Daerah Saturasi Pada Transistor 25
Gambar 2.13 Transistor Sebagai Saklar OFF 26
Gambar 2.14 8051 Editor,Assembler,Simulator 31
Gambar 2.15 ISP-Flash programmer 3a 32
Gambar 3.1 Diagram Blok Rangkaian 33
Gambar 3.2 Rangkaian Power Supply(PSA) 35
Gambar 3.3 Rangkaian Mikrokontroller AT89S51 36
Gambar 3.4 Rangkaian Keypad 39
Gambar 3.5 Rangkaian Password 40
Gambar 3.6 Rangkaian Driver Motor Stepper 45
ABSTRAK
Pintu otomatis yang ada saat ini akan terbuka secara otomatis jika ada orang yang akan melewatinya, dan akan menutup sendiri secara otomatis beberapa saat kemudian ketika tidak ada orang yang akan melewatinya. Pintu otomatis ini dapat dikembangkan, sehingga hanya sebagian orang saja yang dapat masuk melalui pintu tersebut. Untuk itu dibutuhkan suatu alat pengenal, yang dengan alat pengenal tersebut seseorang dapat masuk melalui pintu itu. Alat pengenal tersebut berupa sebuah kartu identitas yang didalamnya terdapat kode bar.
BAB 1
PENDAHULUAN
1.1. Latar Belakang Masalah
Kebutuhan manusia terhadap peralatan yang cerdas dan dapat bekerja secara
otomatis semakin meningkat, sehingga peralatan-peralatan otomatis ini sedikit demi
sedikit mulai mulai menggantikan peralatan manual. Selain sistem kerjanya yang
sama, peralatan otomatis dapat melakukan pekerjaannya sendiri tanpa harus
dikendalikan oleh pengguna.
Untuk merancang sebuah peralatan yang cerdas dan dapat bekerja secara
otomasis tesebut, dibutuhkan sebuah alat/komponen yang dapat menghitung,
mengingat, dan mengambil pilihan. Kemampuan ini dimiliki oleh sebuah komputer
(PC), namun imporsible jika harus menggunakan komputer hanya untuk keperluan
tersebut diatas. Untuk itu komputer dapat digantikan dengan sebuah mikrokontroler.
Mikrokontroler merupakan sebuah chip atau IC yang di dalamnya terdapat sebuah
prosessor dan flash memori yang dapat dibaca/tulis sampai 1000 kali, sehingga biaya
pengembangan menjadi murah karena dapat dihapus kemudian diisi kembali dengan
Salah satu alat otomatis yang sering digunakan adalah pintu otomatis, dimana
pintu ini akan terbuka secara otomatis jika ada orang yang akan melewatinya, dan
akan menutup sendiri secara otomatis beberapa saat kemudian ketika tidak ada orang
yang akan melewatinya. Pintu otomatis ini dapat dikembangkan, sehingga hanya
sebagian orang saja yang dapat masuk melalui pintu tersebut. Untuk itu dibutuhkan
suatu alat pengenal, yang dengan alat pengenal tersebut seseorang dapat masuk
melalui pintu itu. Alat pengenal tersebut berupa sebuah kartu identitas yang
didalamnya terdapat kode bar.
Atas dasar pemikiran di atas, akan dirancang sebuah pintu otomatis yang dapat
membaca/mengenali kode bar dari kartu identitas tersebut. Sehingga hanya
orang-orang yang memiliki kartu identitas dengan kode bar yang sesuai yang dapat
memasuki pintu tersebut.
1.2. Rumusan Masalah
Berdasarkan uraian diatas, penulis tertarik untuk mengangkat permasalahan
tersebut kedalam bentuk skripsi sebagai Tugas Akhir dengan judul “APLIKASI
MIKROKONTROLLER AT89S51 PADA PINTU OTOMATIS
MENGGUNAKAN BARCODE DAN PASSWORD”.
Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, motor stepper
dan beberapa buah infra merah dan potodioda sebagai sensor. Mikrokontroler
AT89S51 sebagai otak dari system, yang berfungsi mengendalikan seluruh sistem.
Motor stepper untuk menggerakkan pintu (buka/tutup). Sensor untuk membaca kode
1.3 Tujuan Penulisan
Tujuan dilakukan Tugas Akhir ini adalah sebagai berikut:
1. Sebagai salah satu syarat untuk menyelesaikan program studi D III Fisika
Instrumentasi FMIPA USU.
2. Memahami cara kerja dan pembacaan dari sebuah kode bar.
3. Memanfaatkan mikrokontroler sebagai pusat kendali dari sebuah sistem
yang cerdas.
4. Membuat sebuah pintu otomatis yang dapat membaca kode bar yang
terdapat pada kartu identitas pengguna.
1.4 Batasan Masalah
1. Kode bar akan dirancang sendiri dengan ukuran yang cukup besar sekitar 1
cm per kode, sehingga memudahkan sensor untuk membacanya.
2. Kode bar yang digunakan hanya terdiri dari 6 kode, dengan warna hitam
sebagai kode 1 dan warna putih sebagai kode 0.
3. Untuk pembacaan kode bar akan digunakan beberapa buah LED infra
merah dan potodioda.
1.5 Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat
sistematika pembahasan bagaimana sebenarnya prinsip kerja pintu otomatis dengan
menggunakan kode bar berbasis miktokontroler AT89S51, maka penulis menulis
BAB 1 PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah,
tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB 2 TINJAUAN TEORITIS
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 karekteristik dari
komponen-komponen pendukung.
BAB 3 PERANCANGAN ALAT DAN PROGRAM
Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram
blok dari rangkaian, skematik dari masing-masing rangkaian dan
diagram alir dari program yang akan diisikan ke mikrokontroler
AT89S51.
BAB 4 ANALISA RANGKAIAN DAN SISTEM KERJA ALAT
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja
alat, penjelasan mengenai program-program yang digunakan untuk
mengaktipkan rangkaian, penjelasan mengenai program yang diisikan
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 sistem kerja
BAB 2
TINJAUAN TEORITIS
2.1. Mikrokontroler AT89S51
Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan
microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.
Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor
yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi
secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah
(dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk
memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat
bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya),
Microcontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna
disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada
control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM
digunakan sebagai tempat penyimpanan sederhana sementara, termasuk
register-register yang digunakan pada Microcontroller yang bersangkutan.
Microcontroller AT89S51 merupakan salah satu keluarga dari MCS-51
keluaran Atmel. Jenis Microcontroller ini pada prinsipnya dapat digunakan untuk
mengolah data per bit ataupun data 8 bit secara bersamaan.
Pada prinsipnya program pada Microcontroller dijalankan bertahap, jadi pada
program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan
secara bertahap atau berurutan.
Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai
berikut :
Sebuah Central Processing Unit 8 bit
Osilatc : internal dan rangkaian pewaktu
RAM internal 128 byte
Flash memori 4 Kbyte
Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi
internal)
Empat buah programable port I/0 yang masing-masing terdiri dari delapan
buah jalur I/0
Sebuah port serial dengan kontrol serial full duplex UART
Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika
Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada
2.1.1 Kontruksi AT89S51
Microcontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor
dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm
dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini
AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan
frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi
rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja
Microcontroller.
Memori merupakan bagian yang sangat penting pada Microcontroller.
Microcontroller memiliki dua macam memori yang sifatnya berbeda :
a. Read Only Memory (ROM) yang isinya tidak berubah meskipun IC
kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51
memori penyimpanan program ini dinamakan sebagai memori program.
b. Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu
daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang
dipakai untuk menyimpan data ini disebut sebagai memori data.
Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah
baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC
Microcontroller dicetak dipabrik IC. Untuk keperluan tertentu Microcontroller
menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang
disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet
Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah
Jenis memori yang dipakai untuk memori program AT89S51 adalah flash
PEROM, program untuk mengendalikan Microcontroller diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89S51 flash PEROM Programmer.
Memori data yang disediakan dalam chip AT89S51 sebesar 128 kilo byte
meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah
cukup.
AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)
yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data
seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor
2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock
penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang
diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5,
sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0
dan T1 dipakai.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya
adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini
berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur
input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang
secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register
2.1.2. Pin-Pin pada Microcontroller AT89S51
Deskripsi pin-pin pada Microcontroller AT89S51 :
Gambar 2.1. IC Mikrokontroler AT89S51
VCC (Pin 40)
VCC berfungsi sebagai suplai tegangan.
GND (Pin 20)
GND berfungsi sebagai 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
Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai
internal pull up. Pada saat flash progamming diperlukan eksternal pull up,
terutamapada saat verifikasi program.
Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat
mengaksememori 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 memberikan output sink keempat buah input TTL.
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)
Progam Store Enable (PSE) digunakan untuk mengakses memori progam
eksternal.
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)
XTA1 merupakan input untuk clock internal.
XTAL2 (pin 18)
XTAL2 merupkan output dari osilator.
2.2. Motor Langkah (Stepper)
Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi,
dipergunakan apabila dikehendaki jumlah putaran yang tepat atau di perlukan
sebagian dari putaran motor. Suatu contoh dapat di jumpai pada disk drive, untuk
proses pembacaan dan/atau penulisan data ke/dari cakram(disk), head baca-tulis
ditempatkan pada tempat yang tepat di atas jalur atau track pada cakram, untuk head
tersebut di hubungkan dengan sebuah motor langkah.
Aplikasi penggunaan motor langkah dapat juga di jumpai dalam bidang
industri atau untuk jenis motor langkah kecil dapat di gunakan dalam perancangan
suatu alat mekatronik atau robot. Motor langkah berukuran besar digunakan,
misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi
pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan
posisi dalam gerakan lengannya dan lain-lain.
Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah
(stepper).
Gambar 2.2. Diagram motor langkah (stepper)
U
S
A B
C
D
A
A
B
B
C
C
D
Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila
kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan
rotor akan berputar mengikuti medan magnet tersebut.setiap pengalihan arus ke
kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu
sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor langkah
yang bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran
motor.Jika pengalihan arus di tentukan, maka rotor akan berhenti pada posisi terakhir.
Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari.
Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor langkah.
Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub),
pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara
bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di
tunjukkan pada gambar di bawah ini.
Gambar 2.3. Pemberian data/pulsa pada motor stepper
Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua)
masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata
lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya
bernilai 0 (nol).
C
D A
2.3. Komponen-Komponen Pendukung
2.3.1. Resistor
Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus
listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed
Resistor dan Variable R esistor Dan umumnya terbuat dari carbon film atau metal
film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain.
Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan
tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil.
Bahan–bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan
konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas,
karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut
sebagai insulator.
2.3.1.1.Fixed Resistor
Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi
jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor
bersifat resistif dan umumnya terbuat dari bahan karbon. Tipe resistor yang umum
berbentuk tabung porselen kecil dengan dua kaki tembaga dikiri dan kanan. Pada
badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan
Kode warna tersebut adalah standar menufaktur yang dikeluarkan oleh ELA
(Electronic Industries Association).
Gambar 2.4. Resistor karbon
Tabel 2.2 Gelang Resistor
WARNA GELANG I GELANG II GELANG III GELANG
IV
Hitam 0 0 1 -
Coklat 1 1 10 -
Merah 2 2 100 -
Jingga 3 3 1000 -
Kuning 4 4 10000 -
Hijau 5 5 100000 -
Biru 6 6 1000000 -
Violet 7 7 10000000 -
Abu-abu 8 8 100000000 -
Putih 9 9 1000000000 -
Emas - - 0,1 5%
Perak - - 0,01 10%
Resitansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi
berwarna coklat, emas, atau perak. Biasanya warna gelang toleransi ini berada pada
bahan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol,
sedangkan warna gelang yang keempat agak sedikit ke dalam. Dengan demikian
pemakai sudah langsung mengetahui berapa toleransi dari resitor tersebut. Kalau anda
telah bisa menentukan mana gelang pertama selanjutnya adalah membaca nilai
resistansinya.
Biasanya resistor dengan toleransi 5%, 10% atau 20% memiliki gelang (tidak
termasuk gelang toleransi). Tetapi resistor dengan toleransi 1% atau 2% (toleransi
kecil) memiliki 4 gelang (tidak termasuk gelang toleransi). Gelang pertama dan
seterusnya berturut-turut menunjukkan besar nilai satuan, dan gelang terakhir adalah
faktor penggalinya.
2.3.1.2.Variable Resistor
Untuk kelas resistor yang kedua ini terdapat 2 tipe. Untuk tipe pertama
dinamakan variable resistor dan nilainya dapat diubah sesuai keinginan dengan mudah
dan sering digunakan untuk pengaturan volume, bass, balance, dll. Sedangkan yang
kedua adalah semi-fixed resistor. Nilai dari resistor ini biasanya hanya diubah pada
kondisi tertentu saja. Contoh penggunaan dari semi-fixed resistor adalah tegangan
referensi yang digunakan untuk ADC, fine tune circuit, dll. Ada beberapa model
pengaturan nilai Variable resistor, yang sering digunakan adalah dengan cara nya
diputar berkali – kali untuk mendapatkan semua nilai resistor. Model ini dinamakan
“Potentiometers” atau “Trimmer Potentiometers”.
Gambar 2.5 Potensio meter
Pada gambar 2.5 di atas untuk bentuk 3 biasanya digunakan untuk volume
kontrol. Bentuk yang ke 2 merupakan semi fixed resistor dan biasanya di pasang pada
PCB (Printed Circuit Board). Sedangkan bentuk 1 dpotentiometers. Ada 3 tipe
didalam perubahan nilai dari resistor variabel, perubahan tersebut dapat dilihat pada
gambar 2.6.
Gambar 2.6 Grafik Perubahan nilai pada potensiometer
Pada saat tipe A diputar searah jarum jam, awalnya perubahan nilai resistansi
lambat tetapi ketika putarannya mencapai setengah atau lebih nilai perubahannya
Karena telinga sangat peka ketika membedakan suara dengan volume yang lemah,
tetapi tidak terlalu sensitif untuk membedakan perubahan suara yang keras. Biasanya
tipe A ini juga disebut sebagai “Audio Taper” potensiometer. Untuk tipe B perubahan
resistansinya adalah linier dan cocok digunakan untuk Aplikasi Balance Control,
resistance value adjustment in circuit, dll. Sedangkan untuk tipe C perubahan
resistansinya kebalikan dati tipe A.
2.3.2. Kapasitor
Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik.
Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu
bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum,
keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka
muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan
pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu
lagi. Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya
muatan negatif tidak bisa menuju ke ujung kutup positif karena terpisah oleh bahan
elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada
konduktif pada ujung- ujung kakinya. Di alam bebas phenomena kapasitor terjadi
pada saat terkumpulnya muatan-muatan positif dan negatif diawan.
dielektrik
Elektroda Elektroda
Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam
merancang suatu sistem yang berfungsi untuk mengeblok arus DC, Filter, dan
penyimpan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan
dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai
insulator dinamakan dielektrik. Ketika kapasitor diberikan tegangan DC maka energi
listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus
mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang
membedakan tiap - tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis– jenis
kapasitor yang dipergunakan dalam perancangan ini.
2.3.2.1. Electrolytic Capacitor (ELCO)
Gambar 2.8 Electrolytic Capacitor (ELCO)
Elektroda dari kapasitor ini terbuat dari alumunium yang menggunakan
membrane oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah
perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati-
hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila
polaritasnya terbalik maka akan menjadi rusak bahkan “meledak”. Biasanya jenis
digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor
dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor
akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus
memiliki tegangan kerja minimum 2 x 5 = 10 Volt.
2.3.2.2. Ceramic Capacitor
Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya.
Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada
rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi
tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog,
karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya
tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua
kapasitor diatas.
Gambar 2.9 Ceramic Capacitor
Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode
yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang
mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya.
Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan.
dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama
angka yang terakhir berfungsi untuk menentukan 10n, nilai n dapat dilihat pada tabel
dibawah.
Tabel 2.3 Nilai Kapasitor
3rd Digit Multiplier Letter Tolerance
0 1 D 0.5 pF
1 10 F 1 %
2 100 G 2 %
3 1,000 H 3 %
4 10,000 J 5 %
5 100,000 K 10 %
6,7 Not Used M 20 %
8 .01 P +100, -0 %
9 1 Z +80, -20 %
Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai
kapasitansinya adalah 47 + 104 = 470.000 pF = 0.47µF sedangkan toleransinya 5%.
Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico
2.3.3. Transistor
Transistor adalah komponen elektronika yang mempunyai tiga buah terminal.
Terminal itu disebut emitor, basis, dan kolektor. Transistor seakan-akan dibentuk dari
penggabungan dua buah dioda. Dioda satu dengan yang lain saling digabungkan
dengan cara menyambungkan salah satu sisi dioda yang senama. Dengan cara
penggabungan seperti dapat diperoleh dua buah dioda sehingga menghasilkan
transistor NPN.
Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah
silikon dan germanium. Oleh karena itu, dikatakan :
1. Transistor germanium PNP.
2. Transistor silikon NPN.
3. Transistor silikon PNP.
4. Transistor germanium NPN.
Semua komponen di dalam rangkaian transistor dengan simbol. Anak panah
yang terdapat di dalam simbol menunjukkan arah yang melalui transistor.
Gambar 2.10 simbol tipe transistor C
B
E
C
B
E
Keterangan :
C = kolektor
E = emiter
B = basis
Didalam pemakaiannya transistor dipakai sebagai komponen saklar
(switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah
penyumbatan (cut off) yang ada pada karakteristik transistor.
Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara
ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan
ini menyebabkan tegangan kolektor emiter (VCE) = 0 Volt pada keadaan ideal, tetapi
pada kenyataannya VCE bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor
sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.11.
Gambar 2.11 Transistor sebagai Saklar ON
Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum
dan untuk mencari besar arus basis agar transistor saturi adalah :
Saklar On Vcc
Vcc
IC R
RB
VB
IB VBE
Rc
Hubungan antara tegangan basis (VB) dan arus basis (IB
B
Jika tegangan VB BE
B
telah mencapai , maka transistor akan
saturasi, dengan Ic mencapai maksimum.
Gambar 2.12 dibawah ini menunjukkan apa yang dimaksud dengan VCE (sat)
adalah harga VCE pada beberapa titik dibawah knee dengan posisi tepatnya ditentukan
pada lembar data. Biasanya VCE (sat) hanya beberapa perpuluhan volt, walaupun pada
arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar
2.12 dikenal sebagai daerah saturasi.
Pada daerah penyumbatan,nilai resistansi persambungan kolektor emiter secara
ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open).
Keadaan ini menyebabkan tegangan (VCB) sama dengan tegangan sumber
(Vcc). Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat
arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar,
transistor tersebut dalam keadaan off seperti gambar dibawah ini.
Gambar 2.13 Transistor Sebagai Saklar OFF
Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan
tegangan kerja transistor (VBE) sehingga arus basis (IB
hfe
sama dengan Vcc dapat dibuktikan dengan rumus :
2.3.4. Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051
adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada
bahasa ini hanya ada 51 instruksi, antara lain yaitu :
A. 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
B. 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: ...
...
DJNZ R0,Loop
...
R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke
perintah pada baris berikutnya.
C. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
...
ACALL TUNDA
...
TUNDA:
...
D. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil
ACALL TUNDA
...
TUNDA:
...
RET
E. Instruksi JMP (Jump)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh :
Loop:
...
...
JMP Loop
F. 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
...
G. 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
H. 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 instruksi selanjutnya..
I. 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
...
J. 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
...
2.3.5 Software 8051 Editor, Assembler, Simulator
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada
sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah
ini.
Gambar 2.14 8051 Editor, Assembler, Simulator
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.
2.3.6 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.15 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
BAB III
RANCANGAN SISTEM
3.1. Diagram Blok Rangkaian
Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan
dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram
blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1.
berikut ini:
Gambar 3.1. Diagram Blok Rangkaian
Driver Motor Stepper
Motor Stepper
M
ikr
okont
rol
er
A
T
89S
5
1
Rangkaian Pembaca Kode Bar
Saklar batas Buka pintu
Saklar batas tutup Pintu
1. Rangkaian pembaca kode bar berfungsi untuk membaca kode bar dari kartu.
2. Saklar batas buka pintu berfungsi untuk memberikan sinyal kepada
mikrokontroler jika pintu telah terbuka lebar.
3. Saklar batas tutup pintu berfungsi untuk memberitahukan kepada
mikrokontroler ketika pintu sudah tertutup rapat.
4. Mikrokontroler AT89S51 berfungsi untuk mengendalikan semua sistem yang
ada.
5. Motor stepper berfungsi untuk menggerakkan pintu (membuka/menutup
pintu).
6. Keypad berfungsi untuk input password.
3.2. Perancangan Program
Vreg
LM7805CT
IN OUT
TIP32C
100ohm
100uF
330ohm 220V 50Hz 0Deg
TS_PQ4_12
2200uF 1uF 1N5392GP
1N5392GP
12 Volt
5 Volt
3.3. Perancangan 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,
sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper.
Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :
Gambar 3.2. 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
3.4. Perancangan Rangkaian Mikrokontroler AT89S51
Rangkaian mikrokontroler ini berfungsi sebagai pusat kendali dari seluruh
rangkaian yang ada pada alat ini. Gambar rangkaian mikrokontroler AT89S51
ditunjukkan pada gambar 3.3 berikut ini :
Gambar 3.3. Rangkaian Mikrokontroler AT89S51
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3.
Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground.
Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai
sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler
dalam mengeksekusi suatu perintah tertentu.
Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke
positip dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen
ini berfungsi agar programpada mikrokontroler dijalankan beberapa saat setelah
power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan
aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika
10 10 1 det
t= =ΩR x C K =x µF m ik
Jadi 1 mili detik setelah power aktip pada IC kemudian program aktip.
Pin 17 yang merupakan P3.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 terhubug ke Pin 17 sudah bekerja
sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap
digunakan. Namun setelah seluruh rangkaian disatukan, LED yang terhubung ke in 17
ini tidak digunakan lagi.
3.5. Perancangan 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
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.
3. 6 Perancangan 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 penekanan 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
yang merupakan tanda adanya penekanan pada salah satu tombol.
Seterusnya mikrokontroler akan menampilkan nilai dari tombol yang ditekan
pada display seven segmen, kemudian membandingkannya dengan nilai password
Rangkaian keypad ditunjukkan pada gambar berikut ini :
Tbl 1 Tbl 2 Tbl 3 Tbl A P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
Gambar 3.4 Rangkaian keypad
Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada
dipasaran. Keypad ini terdiri dari 13 tombol yang hubungan antara tombol-tombolnya
seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke port 2
mikrokontroler AT89S51.
Untuk membuka pintu, maka password yang diberikan harus benar, jika tidak
benar, maka pintu tidak akan terbuka. Rangkaian password ini terdiri dari 13 tombol,
Gambar 3.5 Rangkaian Password
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
mengganti password, P1.6 merupakan tombol Run. Jika tombol setting ditekan maka
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
mov 62h,#Bil0
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
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,$
Acall Tunda
Ljmp Cek_Password2
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
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,
4, 5 dan seterusnya.
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
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
kedua. Kemudian program akan memasukkan nilai bil1 ke alamat 60h agar tampil di
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
3.7 Perancangan Rangkaian Driver Motor Stepper
Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver.
Driver ini berfungsi untuk memutar motor stepper searah/berlawanan arah dengan
arah jarum jam. Mikrokontroler tidak dapat langsung mengendalikan putaran dari
motor stepper, karena itu dibutuhkan driver sebagai perantara antara mikrokontroler
dan motor stepper, sehingga perputaran dari motor stepper dapat dikendalikan oleh
mikrokontroler. Rangkaian driver motor stepper ditunjukkan pada gambar 3.8 berikut:
I III
II IV
Gambar 3.6 Rangkaian driver motor stepper
Untuk mempermudah penjelasan, maka rangkaian di atas dikelompokkan
menjadi 4 rangkaian. Pada rangkaian di atas, jika salah input rangkaian I yang
dihubungkan ke mikrokontroler diberi logika high dan input pada rangkaian lainnya
diberi logika low, maka kedua transistor tipe NPN C945 pada rangkaian I akan aktip.
Hal ini akan membuat kolektor dari kedua transistor C945 pada rangkaian I akan
mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di
dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini
aktip (transistor tipe PNP akan aktip jika tegangan pada basis lebih kecil dari 4,34
volt). Aktipnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya
terhubung ke emitor sehingga kolektor mendapatkan tegangan 15 volt dari Vcc.
Kolektor dari transistor TIP 127 dihubungkan ke kumparan, sehingga
kumparan akan mendapatkan tegangan 6 volt. Hal ini akan mengakibatkan kumparan
menimbulkan medan magnet. Medan magnet inilah yang akan menarik motor untuk
mengarah ke arah kumparan yang menimbulkan medan magnet tersebut.
Sedangkan rangkaian II, III dan IV karena pada inputnya diberi logika low,
maka kumparannya tidak menimbulkan medan magnet, sehingga motor tidak tertarik
oleh kumparan-kumparan tersebut.
Demikian seterusnya untuk menggerakkan motor agar berputar maka harus
diberikan logika high secara bergantian ke masing-masing input dari masing-masing
rangkaian.
3.8Perancangan Rangkaian Saklar Batas
Ketika mikrokontroler memerintahkan motor untuk membuka pintu gerbang,
mikrokontroler tidak mengetahui apakah pintu gerbang sudah terbuka lebar atau
belum. Hal yang sama juga terjadi ketika mikrokontroler memerintahkan motor untuk
menutup pintu gerbang, mikrokontroler tidak mengetahui apakah pintu gerbang sudah
tertutup rapat atau belum. Karena itu dibutuhkan sebuah saklar batas yang dapat
Dalam hal ini digunakan sebuah saklar batas untuk buka pintu gerbang, yang
berfungsi untuk mengetahui apakah pintu gerbang sudah terbuka lebar atau belum,
dan sebuah saklar batas untuk tutup pintu gerbang yang berfungsi untuk mengetahui
apakah pintu gerbang sudah tertutup rapat atau belum. Rangkaian ssaklar batas untuk
buka pintu gerbang hanya terdiri dari sebuah saklar yang dihubungkan ke ground dan
ke mikrokontroler AT89S51 Rangkaiannya seperti gambar dibawah ini,
(AT89S51)
Gambar 3.7 Rangkaian Saklar batas untuk Buka Pintu
Ketika saklar batas dalam keadaan terbuka, kondisi outputnya adalah high.
Namun jika pintu gerbang menyentuh saklar, maka outputnya akan terhubung ke
ground, yang menyebabkan kondisi outputnya akan berubah dari high (1), menjadi
low (0). Perubahan kondisi pada outputnya inilah yang dikenali oleh mikrokontroler
sebagai tanda bahwa pintu gerbang telah terbuka lebar, maka mikrokontroler akan
memerintahkan motor stepper untuk berhenti berputar, sehingga pintu gerbang tidak
terbuka lebih lebar lagi.
Saklar batas untuk tutup pintu gerbang juga mempunyai rangkaian dan cara
kerja yang sama dengan rangkaian saklar batas untuk buka pintu, perbedaannya hanya
BAB IV
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan
mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter
digital. Dari hasil pengujian diperoleh tegangan keluaran sebesar + 5,1 volt. Tegangan
ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mikrokontroler
AT89S51 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan
5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler AT89S51. Tegangan
keluaran kedua sebesar 13,7 volt. Tegangan ini digunakan untuk mensupplay tegangan
ke motor stepper.
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
Loop:
Setb P3.7
Acall tunda
Clr P3.7
Acall tunda
Sjmp Loop
Tunda:
Mov r7,#255
Tnd: Mov r6,#255
Djnz r6,$
Djnz r7,tnd
Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7
selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus
menerus. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan
transistor aktif, sehingga LED menyala. Acall tunda akan menyebabkan LED ini
hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.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, sehingga akan tampak LED tersebut
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :
Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin
membutuhkan waktu = 12 1
12 MHz = mikrodetik.
Mnemonic Siklus Waktu Eksekusi
MOV Rn,#data 2 2 x 1 μd = 2 μd
DJNZ 2 2 x 1 μd = 2 μd
RET 1 1 x 1 μd = 1 μd
Tunda:
mov r7,#255
Tnd: mov r6,#255
djnz r6,$
djnz r7,Tnd
ret
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.058
μdetik atau 0,130058 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian
mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
4.3. Pengujian Rangkaian Driver motor stepper
Pengujian pada rangkaian driver motor stepper ini dilakukan dengan
menghubungkan input rangkaian driver motor stepper ini dengan rangakaian
mikrokontroler AT89S51 dan menghubungkan output dari rangkaian driver motor
stepper ini dengan motor stepper, kemudian memberikan program sebagai berikut:
Loop:
Clr P0.3
Setb P0.0
Acall Tunda
Clr P0.0
Setb P0.1
Acall Tunda
Clr P0.1
Setb P0.2
Acall Tunda
Clr P0.2
Setb P0.3
Acall Tunda
Sjmp Loop
Tunda:
Tnd:
Mov R6,#255
Djnz r6,$
Djnz r7,Tnd
Ret
Program di atas akan memberikan logika high secara bergantian pada input dari driver
motor stepper, dimana input dari jembatan masing-masing dihubungkan ke P0.0,P0.1,
P0.2 dan P0.3. Dengan program di atas maka motor akan bergerak searah dengan arah
putaran jarum jam (menutup pintu). Untuk memutar dengan arah sebaliknya, maka
diberikan program sebagai berikut :
Loop:
Clr P0.0
Setb P0.3
Acall Tunda
Clr P0.0
Setb P0.3
Acall Tunda
Clr P0.2
Setb P0.1
Acall Tunda
Clr P0.1
Setb P0.0
Acall Tunda
Tunda:
Mov R7,#50
Tnd:
Mov R6,#255
Djnz r6,$
Djnz r7,Tnd
Ret
Dengan program di atas, maka motor akan berputar berlawanan arah dengan
arah putaran jarum jam (membuka pintu). Tunda digunakan untuk mengatur
kecepatan putar dari motor. Semakin besar nilai yang diberikan pada tunda, maka
perputaran motor akan semakin lambat, dan sebaliknya.
4.4. Pengujian Rangkaian Saklar batas
Pengujian pada rangkaian ini dilakukan dengan cara menekan saklar batas.
Pada saat saklar batas tidak ditekan, maka tegangan output dari rangkaian ini sebesar 5
volt. Namun saat saklar batas ditekan, maka tegangan output dari rangkaian ini
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil pelaksanaan perancangan alat hingga pengujian dan pembahasan
sistem maka penulis dapat menarik kesimpulan, antara lain:
a. Memasukkan nilai password yang salah dengan batas penekanan 3 kali maka
pintu tidak akan terbuka dan menyebabkan alarm akan berbunyi
b. Bahwa pada dasarnya untuk kerja mikrokontroller sangat bergantung pada urutan
instruksi yang dijalankannya yaitu program yang ditulis di ROM
5.2 Saran
Setelah melakukan penelitian ini diperoleh beberapa hal yang dapat dijadikan
saran untuk dapat melakukan penelitian lebih lanjut, yaitu:
a. Agar sistem atau rangkaian yang digunakan tidak terganggu, sebaiknya alat ini
dikemas dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya
lebih efektif.
b. Untuk di masa yang akan datang, agar alat ini dapat lebih ditingkatkan dan
dikembangkan, seperti dilengkapinya dengan penggunaan Mikrokontroller.
c. Alangkah baiknya jika alat ini dimanfaatkan dan disosialisasikan kegunaannya
dikalangan mahasiswa, guna mengembangkan inovasi dan teknologi di kalangan
DAFTAR PUSTAKA
Agfianto, Teknik Antarmuka Komputer: Konsep dan Aplikasi, Edisi Pertama, Penerbit:
Graha Ilmu, Yogyakarta, 2002.
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
Sudjadi, Teori dan Aplikasi Mikrokontroller.Aplikasi pada Mkrokontroller AT89S51,
Edisi Pertama, Cetakan Pertama, Penerbit: Graha Ilmu, Yogyakarta, 2005.
Setiawan, Rachmad, Mikrokontroller MCS-51, Jilid 1, Penerbir: Graha Ilmu,
mov r7,#10 tnd_Sejenak: mov r6,#255 td_Sejenak: mov r5,#255 djnz r5,$
djnz r6,td_Sejenak djnz r7,tnd_Sejenak ret
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,$
clr ti ret