Prototipe Pintu Otomatis Dengan Sistem Pembacaan Kode Bar Berbasis Mikrokontroler AT89S51

(1)

PROTOTIPE PINTU OTOMATIS DENGAN SISTEM

PEMBACAAN KODE BAR BERBASIS MIKROKONTROLER

AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

BERNATH ALFHA HAMONANGAN BUTAR BUTAR

042408049

PROGRAM STUDI D3 FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

PROTOTIPE PINTU OTOMATIS DENGAN SISTEM PEMBACAAN KODE BAR BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

BERNATH ALFHA HAMONANGAN BUTAR BUTAR 042408049

PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(3)

PERSETUJUAN

Judul Kategori Nama

Nomor Induk Mahasiswa Program Studi

Departemen Fakultas

: PROTOTIPE PINTU OTOMATIS DENGAN SISTEM PEMBACAAN KODE BAR BERBASIS

MIKROKONTROLER AT89S51 : TUGAS AKHIR

: BERNATH ALFHA HAMONANGAN BUTAR-BUTAR : 042408049

: DIPLOMA 3 (D3) FISIKA INSTRUMENTASI : FISIKA

: MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Desember 2008 Diketahui

Program Studi Fisika Instrumentasi Ketua,

Drs. Syahrul Humaidi, MSc NIP. 132 050 870

Pembimbing,

Tua Raja Simbolon M.Si, S.Si NIP. 132 282 143


(4)

PERNYATAAN

PROTOTIPE PINTU OTOMATIS DENGAN SISTEM PEMBACAAN KODE BAR BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

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

Medan, Desember 2008

Bernath Alfha Hamonangan Butar-Butar 042408049


(5)

PENGHARGAAN

Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan Anugerah-Nya sehingga penulis dapat menyelesaikan penulisan laporan akhir studi ini yang berjudul :

PROTOTIPE PINTU OTOMATIS DENGAN SISTEM PEMBACAAN KODE BAR BERBASIS MIKROKONTROLER AT89S51

Dalam penyusunan laporan akhir studi ini, penulis telah banyak mengalami kendala dan kesulitan, tetapi berkat kemauan keras penulis dan juga dorongan dari berbagai pihak akhirnya penulis dapat juga menyelesaikan laporan akhir studi ini. Pada kesempatan istimewa ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada Bapak Dr. Edy Marlianto, M.Sc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA). Bapak Agus Salim selaku Pembantu Dekan III Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA). Ketua dan Sekretaris Program Studi D-3 Fisika Instrumentasi Bapak Drs. Syahrul Humaidi M.Sc dan Ibu Dra. Justinon, Msi. Kepada Bapak Tua Raja Simbolon, M.Si Ssi. selaku dosen pembimbing penulis selama penulis melakukan penulisan laporan akhir studi ini sampai dengan selesainya. Juga kepada Bapak Prof. Dr. Muhammad Zarlis selaku dosen wali penulis selama penulis menjalani pendidikan di Program Studi D-3 Fisika Instrumentasi.

Penulis mengucapkan terima kasih yang teristimewa kepada orang tua tercinta H. Butar-Butar dan T. Br. Sitorus serta abang-abang dan kakak-kakak penulis yang tetap sabar dan penuh kasih sayang dalam memperjuangkan penulis. Tak lupa pula penulis ucapkan terima kasih kepada rekan-rekan kuliah serta teman-teman juga saudara-saudari dari berbagai pihak yang masih satu lingkungan kampus USU tercinta maupun luar lingkungan kampus USU yang turut membantu serta memberikan motivasinya, semoga Tuhan Yang Maha Esa membalasnya.

Penulis berharap tugas akhir ini dapat menambah wawasan pembaca dalam pembahasan yang tercakup dalam pembahasan ini. Penulis juga menyadari masih banyak kekurangan dari penulisan tugas akhir ini, oleh karena itu penulis mengharapkan kritik dan saran yang membangun.

Akhir kata, penulis mengucapkan terima kasih kepada semua pihak yang sudah membantu penulis dalam penyelesaian tugas akhir ini.

Medan, Desember 2008 Penulis


(6)

ABSTRAK

Telah dibuat suatu prototipe untuk membuka dan menutup pintu dengan menggunakan kartu identitas yang telah dilengkapi kode bar sebagai pengendali utama. Perancangan ini dikembangkan dengan menggunakan Mikrokontroler AT89S51 sebagai tempat proses berlangsungnya data dan rancangan ini juga dilengkapi dengan sensor inframerah serta motor langkah untuk membuka dan menutup pintu.

Rangkaian sensor inframerah akan membaca kode bar kemudian membandingkannya dengan data yang terprogram pada IC Mikrokontroler AT89S51 dan mengaktifkan motor langkah untuk membuka pintu. Objektif utama dalam perancangan ini adalah Mikrokontroler.


(7)

DAFTAR ISI

Halam an

Persetujuan

Pernyataan . . ...

Penghargaan ..

Abstrak ..

Daftar Isi ...

Daftar Gambar ..

Daftar Tabel ..

BAB 1 PENDAHULUAN . ...

1.1 Latar Belakang

1.2 Batasan Masalah . .

1.3 Tujuan Penulisan .

1.4 Metoda Pengumpulan Data .

1.5 Sistematika Penulisan ... ...

BAB 2 LANDASAN TEORI

2.1 Mikrokontroler AT89S51 ..

2.1.1 Konstruksi AT89S51 ... ...

2.1.2 Pin-Pin pada Mikrokontroler AT89S51 . .. ...

2.2 Motor Langkah (Stepper) . ..

2.3 Barcode ..

2.3.1 Barcode Satu Dimensi (1D) ..

2.3.2 Barcode dua dimensi (2D) . ...

2.4 Fotodioda ...

2.5 Dioda Pemancar Cahaya Inframerah (LED Inframerah) ...

2.6 Transistor ...

ii iii iv v vi viii ix 1 1 2 3 3 4 5 5 7 9 12 14 15 16 17 19 20 24


(8)

2.7 Resistor ...

2.7.1 Fixed Resistor ...

2.7.2 Variable Resistor ...

2.8 Bahasa Assembly MCS-51

2.9 Software 8051 Editor, Assembler, Simulator ..

2.10 Software Downloader ...

BAB 3 PERANCANGAN ALAT DAN PERANCANGAN PROGRAM . ..

3.1 Perangkat Keras . . ....

3.1.1 Diagram Blok .

3.1.2 Perancangan Sensor Kode Batang .

3.1.3 Perancangan Driver Penggerak Motor Stepper (Jembatan H)

3.1.4 Rangkaian Mikrokontroler AT89S51 ... .

3.1.5 Rangkaian Catu Daya (PSA)

...

3.2 Perangkat Lunak ... ...

BAB 4 ANALISA RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA) .. 4.2

Pengujian Rangkaian Mikrokontroler AT89S51 ...

4.3 Pengujian Rangkaian Pembaca Kode Bar ..

4.4 Pengujian Rangkaian Driver Motor Stepper ...

4.5 Pengujian Rangkaian Saklar Batas ... .

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan .

5.2 Saran DAFTAR PUSTAKA LAMPIRAN 24 26 28 32 33 34 34 34 35 38 42 44 45 47 47 47 49 50 52 53 53 54


(9)

Lembar Ekspedisi Perbaikan Tugas Akhir Gambar Rangkaian Keseluruhan

DATASHEET Mikrokontroler AT89S51 DATASHEET Transistor NPN C945


(10)

DAFTAR GAMBAR

Halam an

Gambar 2.1 IC Mikrokontroler AT89S51 ...

Gambar 2.2 Diagram Motor Langkah (Stepper) .

Gambar 2.3 Pemberian Data/Pulsa pada Motor Sstepper ...

Gambar 2.4 Barcode Jenis Code 39

Gambar 2.5 Barcode Jenis Code 128 ..

Gambar 2.6 Barcode Jenis Interleaved 2 Of 5

Gambar 2.7 Barcode Jenis UPC ..

Gambar 2.8 Barcode Jenis PDF417

Gambar 2.9 (a) Fotodioda dan Simbol .

Gambar 2.9 (b) Grafik Karakteristik Fotodioda ...

Gambar 2.10 Simbol dan Rangkaian Dasar Sebuah LED ....

Gambar 2.11 Simbol Tipe Transistor ... .

Gambar 2.12 Transistor sebagai Saklar On .

Gambar 2.13 Karakteristik Daerah Saturasi pada Transistor ...

Gambar 2.14 Transistor Sebagai Saklar Off ... ...

Gambar 2.15 Resistor Karbon ..

Gambar 2.16 Potensiometer .

Gambar 2.17 Grafik Perubahan Nilai pada Potensiometer ..

Gambar 2.18 8051 Editor, Assembler, Simulator ...

Gambar 2.19 ISP- Flash Programmer 3.a ...

Gambar 3.1 Diagram Blok Rangkaian

Gambar 3.2 Rangkaian Pemancar Inframerah

Gambar 3.3 Rangkaian Sensor Kode Batang .

Gambar 3.4 Rangkaian Jembatan H

Gambar 3.5 Rangkaian Mikrokontroller AT89S51

Gambar 3.6 Rangkaian Power Supplay (PSA) ..

Gambar 3.7 Diagram Alir dari Program

9 13 14 15 15 16 16 17 18 18 19 20 21 22 23 25 27 27 32 33 34 36 37 39 43 44 45


(11)

DAFTAR TABEL

Halam an

Tabel 2.1 Gelang Resistor

Tabel 3.1 Logika Perputaran Rotor ...

25 42


(12)

ABSTRAK

Telah dibuat suatu prototipe untuk membuka dan menutup pintu dengan menggunakan kartu identitas yang telah dilengkapi kode bar sebagai pengendali utama. Perancangan ini dikembangkan dengan menggunakan Mikrokontroler AT89S51 sebagai tempat proses berlangsungnya data dan rancangan ini juga dilengkapi dengan sensor inframerah serta motor langkah untuk membuka dan menutup pintu.

Rangkaian sensor inframerah akan membaca kode bar kemudian membandingkannya dengan data yang terprogram pada IC Mikrokontroler AT89S51 dan mengaktifkan motor langkah untuk membuka pintu. Objektif utama dalam perancangan ini adalah Mikrokontroler.


(13)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Kebutuhan manusia terhadap peralatan yang cerdas dan dapat bekerja secara otomatis semakin meningkat, sehingga peralatan-peralatan otomatis ini sedikit demi sedikit 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 otomatis tesebut, dibutuhkan alat/komponen yang dapat menghitung, mengingat, dan mengambil pilihan. Kemampuan ini dimiliki oleh komputer (PC), namun tidaklah efisien jika harus menggunakan komputer hanya untuk keperluan tersebut diatas. Maka untuk itu komputer dapat digantikan dengan sebuah mikrokontroler. Mikrokontroler merupakan chip atau IC yang di dalamnya terdapat sebuah prosessor dan flash memori yang mampu mengalami pembacaan ataupun penulisan sampai dengan 1000 kali, sehingga biaya pengembangan menjadi murah karena dapat dihapus dan kemudian diisi kembali dengan program lain sesuai dengan kebutuhan.


(14)

Diantara alat otomatis yang umum digunakan adalah pintu otomatis, dimana pintu yang dimaksud akan terbuka secara otomatis jika ada orang yang akan melewatinya, dan kemudian akan langsung menutup secara otomatis beberapa saat setelah ketika tidak ada orang yang melewati atau melintasinya. 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 kartu identitas yang di dalamnya 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 disesuaikan yang dapat memasuki dan kemudian melintasi pintu tersebut.

1.2 Batasan Masalah

Berdasarkan uraian diatas, penulis tertarik untuk mengangkat permasalahan tersebut kedalam Tugas Akhir dengan judul Prototipe Pintu Otomatis Dengan Sistem Pembacaan Kode Bar Berbasis Mikrokontroler AT89S51 .

Pada alat ini akan digunakan mikrokontroler AT89S51, motor stepper dan beberapa LED inframerah serta fotodioda sebagai sensor. Mikrokontroler AT89S51 sebagai otak dari sistem, yang berfungsi mengendalikan seluruh sistem. Motor stepper sebagai mesin penggerak pintu (buka-tutup). Serta sensor yang


(15)

berfungsi penuh dalam proses pembacaan kode bar yang terdapat pada kartu identitas.


(16)

1.3 Tujuan Penulisan

Adapun tujuan dari penulisan Tugas Akhir ini adalah sebagai berikut:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma 3 (D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara 2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi

pengontrolan dan elektronika sebagai bidang diketahui.

3. Untuk ilmu pengetahuan yang diperoleh dari perkuliahan terhadap realita.

4. Membuat dan mengetahui prinsip kerja Mikrokontroler AT89S51 pada pintu otomatis dengan sistem pembacaan kode bar.

.

1.4 Metoda Pengumpulan Data

Metode pengumpulan data yang dilakukan oleh perancang adalah: 1. Melakukan studi ke perpustakaan mengenai teori-teori yang berkaitan

dengan judul proyek ini.

2. Mengumpulkan dan analisa data sheet komponen yang digunakan. 3. Melakukan konsultasi dengan dosen pembimbing serta dosen-dosen

staf pengajar yang berkaitan dengan realisasi dibidang masing-masing. 4. Melalui pengujian alat.


(17)

1.5 Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini berisikan mengenai latar belakang, batasan masalah, tujuan proyek, metode pengumpulan data dan juga sistematika penulisan.

BAB II LANDASAN TEORI

Bab dengan pembahasan secara teoritis yang meliputi arsitektur dan konstruksi mikrokontroler yang digunakan serta beberapa komponen pendukung.

BAB III PERANCANGAN ALAT DAN PERANCANGAN PROGRAM

Meliputi mengenai perancangan rangkaian, sistem kerja dan program.

BAB IV PENGUJIAN DAN PEMBAHASAN SISTEM

Pembahasan rangkaian dan program yang dijalankan serta pengujian rangkaian.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari laporan proyek ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitnya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(18)

BAB 2

LANDASAN TEORI

2.1. Mikrokontroler AT89S51

Mikrokontroler adalah sebagai suatu terobosan teknologi mikrokontroler dan mikro-komputer, telah hadir untuk memenuhi kebutuhan pasar (market needs) dan teknologi. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan sebuah ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi industri dan konsumen dengan keinginan alat-alat bantu dan mainan yang lebih canggih serta dalam bidang pendidikan.

Tidak seperti sistem 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 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 akan disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program


(19)

kontrol disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroler ini pada dasarnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan. Pada prinsipnya program pada mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan kemudian setiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut :

a. Satu Central Processing Unit 8 bit.

b. Osilator : internal dan rangkaian pewaktu. c. RAM internal 128 byte.

d. Flash memori 4 Kbyte.

e. Lima jalur interupsi (dua interupsi eksternal dan tiga interupsi internal). f. Empat programable port I/0 yang masing-masing terdiri dari delapan jalur

I/0.

g. Port serial dengan kontrol serial full duplex UART.

h. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika. i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada


(20)

2.1.1. Konstruksi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 mikro-farad dan resistor 10 kiloOhm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89S51 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian osilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian dari yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda, yakni :

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 terhapus 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 mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak


(21)

UV-EPROM (Ultra Violet Eraseable Programble 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 kemudian 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 osilator 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.


(22)

Port 1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).

2.1.2. Pin-Pin pada Mikrokontroler AT89S51

Konfigurasi pin pada mikrokontroler AT89S51 dapat dilihat pada gambar berikut:

Gambar 2.1 IC Mikrokontroler AT89S51 Port 1 (pin 1-8)

Port 1 adalah I/O 8 bit dua arah (b bit bidirectional I/O) yang mempunyai rangkaian resistor pull up internal. Port 1 juga digunakan untuk menerima alamat rendah (low order address) pada saat pengisian Flash EPROM Flash EPROM Programming) dan pencocokan program (Program Verification).

RST (pin 9)

Untuk reset isi register dan memori pada saat sistem dihidupkan. Port 3 (pin 10 17)


(23)

Port 3 merupakan I/O 8 bit dua arah (8 bit bidirectional I/O) dengan resistror pull up internal, selain sebagai I/O paralel 8 bit, masing-masing bit pada port 3 dapat juga digunakan untuk tugas lain yaitu :

P3.0 (RXD) untuk masukan data serial P3.1 (TXD) untuk keluaran data serial P3.2 (INT 0) untuk interupsi eksternal 0 P3.3 (INT1) untuk interupsi eksternal 1 P3.4 (T0) untuk timer eksternal 0 P3.5 (T1) untuk timer eksternal 1

P3.6 (WR) untuk sinyal penulisan memori data eksternal. P3.7 (RD) untuk sinyal pembacaan memori data eksternal. XTAL2 (pin 18)

XTAL2 merupakan output dari osilator. XTAL1 (pin 19)

XTA1 merupakan input untuk clock internal. GND (pin 20)

GND berfungsi sebagai ground. Port 2 (pin 21 28)

Port 2 merupakan I/O 8 bit dua arah (8 bit bidirectional I/O) dengan resistor pull up internal. Pada saat eksekusi program/data eksternal, port 2 membentuk alamat tinggi (high order address). Port 2 juga digunakan untuk menerima masukan alamat tinggi (high order address) dan beberapa sinyal kontrol pada saat proses pengisian program Flash EPROM dan verifikasi program.


(24)

Progam Store Enable (PSE) digunakan untuk mengakses dan membaca progam memori eksternal. PSEN dapat di-ground-kan bila dilakukan pembacaan program pada memori internal.

ALE/PROG (pin 30)

ALE (Address Latch Enable) berfungsi untuk membangkitkan pulsa yang digunakan sebagai sinyal pengunci untuk mengambil alamat rendah selama mengakses program memori eksternal. Pada keadaan normal, ALE bekerja dengan siklus 1/6 dari frekuensi osilator, sehingga dapat juga berfungsi sebagai pembangkit frekuensi eksternal. Selama proses pengisian Flash EPROM (Flash EPROM Programming), ALE/PROG akan menerima pulsa program.

EA/Vpp (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 pengisian Flash EPROM, pin ini akan mendapat tegangan sebesar 12 volt.

Port 0 (pin 32-39)

Port 0 merupakan I/O dua arah (bidirectional I/O) 8 bit. Port 0 juga digunakan untuk membangkitkan alamat rendah/data yang di-multipleks pada saat melaksanakan eksekusi program/data memori eksternal. Pada keadaan ini, port 0 mempunyai rangkaian pull up internal. Port 0 juga digunakan untuk masukan data pada saat proses pengisian flash EPROM, dan sebagai keluaran kode data pada saat proses pencocokan. Pada proses pencocokan, dibutuhkan resistor pull up eksternal yang nilainya 10 Kohm.


(25)

VCC (pin 40)

VCC berfungsi sebagai suplai tegangan. 2.2. Motor Langkah (Stepper)

Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektrolis menjadi gerakan mekanis diskrit. Motor langkah bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor langkah diperlukan pengendali motor langkah yang membangkitkan pulsa-pulsa periodik. Sudut rotasi motor proporsional dengan pulsa masukan sehingga mudah diatur.

Motor langkah sudah umum digunakan dalam berbagai aplikasi, dipergunakan apabila dikehendaki jumlah putaran yang tepat atau diperlukan 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 dijumpai dalam bidang industri atau untuk jenis motor langkah kecil dapat digunakan dalam perancangan suatu alat mekatronik atau robot. Motor langkah yang berukuran besar digunakan misalnya dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini dilakukan oleh robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain.


(26)

Pada gambar di berikut terlihat dasar dari susunan motor langkah (stepper).

Gambar 2.2 Diagram Motor Langkah (Stepper)

Magnet permanen U-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-putar 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 ditentukan, 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 digunakan memiliki 4 fase (pole atau kutub), pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan

A

D B

A C

B U


(27)

secara bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di tunjukkan pada gambar berikut.

Gambar 2.3 Pemberian Data/Pulsa pada Motor Stepper

Pada saat yang sama, untuk setiap 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).

2.3. Barcode

Barcode merupakan kode yang terdiri dari garis-garis dengan ketebalan yang bervariasi oleh banyak kalangan dianggap sebagai sesuatu yang mempermudah pengidentifikasian suatu barang. Kode baris digambarkan dalam bentuk baris hitam tebal dan tipis yang disusun berderet sejajar horizontal. Untuk membantu pembacaan secara manual dicantumkan juga angka-angka dibawah kode baris tersebut. Angka-angka tersebut tidak mendasari pola kode baris yang tercantum. Ukuran dari kode baris tersebut dapat diperbesar maupun diperkecil dari ukuran nominalnya tanpa tergantung dari mesin yang membaca.

C D A B


(28)

2.3.1 Barcode Satu Dimensi (1D)

Barcode satu dimensi pada umumnya dinamakan linear bar codes (kode berbentuk baris). Adapun contoh barcode satu dimensi adalah sebagai berikut : a. Code 39 (code 3 of 9)

Adalah sebuah barcode alphanumerik (full ASCII) yang memiliki panjang baris yang bervariasi. Aplikasi barcode jenis code 39 adalah untuk inventory,

asset trackingdan digunakan pada tanda pengenal identitas.

Gambar 2.4 Barcode Jenis Code 39 b. Code 128

Adalah suatu barcode alphanumerik (full ASCII) yang memiliki kerapatan (density) yang sangat tinggi dan panjang baris yang bervariasi. Barcode code 128 ideal untuk aplikasi seperti shipping and warehouse management

(pangaturan maskapai pelayaran dan pengelolaan gudang).

Gambar 2.5 Barcode Jenis Code 128 c. Interleaved 2 of 5

Adalah sebuah barcode yang berbentuk numerik dan memiliki panjang baris yang bervariasi. Barcode interleaved 2 of 5 dapat dipergunakan untuk aplikasi industri dan laboratorium.


(29)

Gambar 2.6 Barcode Jenis Interleaved 2 of 5 d. UPC (Universal Product Code)

Adalah sebuah barcode yang berbentuk numerik dan memiliki panjang baris yang tetap (fixed). UPC digunakan untuk pelabelan pada produk-produk kecil atau eceran (retail product labeling). Simbol ini dibuat untuk kemudahan pemeriksaan keaslian suatu produk. Bilangan-bilangan UPC harus diregistrasikan atau terdaftar di Uniform Code Council.

Gambar 2.7 Barcode Jenis UPC 2.3.2 Barcode Dua Dimensi (2D)

Adalah barcode yang dikembangkan lebih dari sepuluh tahun lalu, tetapi baru sekarang ini mulai semakin populer. Barcode dua dimensi ini memiliki beberapa keuntungan dibandingkan linear bar codes (barcode satu dimensi) yaitu, dengan menggunakan barcode dua dimensi maka informasi atau data yang besar dapat disimpan di dalam suatu ruang (space) yang lebih kecil. Contoh barcode dua dimensi adalah symbology PDF417 yang dapat menyimpan lebih dari 2000 karakter di dalam sebuah ruang (space) yang berukuran 4 inchi persegi.


(30)

Gambar 2.8 Barcode Jenis PDF417

2.4. Fotodioda

Fotodioda adalah piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi cahaya. Fotodioda biasanya digunakan untuk mendeteksi cahaya. Fotodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atau PIN fotodioda. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya.

Fotodioda dapat dioperasikan dalam 2 mode yang berbeda:

1. Mode fotovoltaik : seperti solar sel, yaitu proses penyerapan pada fotodioda serta menghasilkan tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil.

2. Mode fotokonduktivitas : pada mode ini fotodioda diaplikasikan sebagai tegangan revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada


(31)

arah tersebut dioda tidak akan menghantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus foto (hal ini juga bagus untuk mengaplikasikan tegangan yang mendekati nol). Ketergantungan arus foto pada kekuatan cahaya dapat sangat linier.

Karakteristik bahan fotodioda:

1. Silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm).

2. Germanium (Ge) : arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm). 3. Indium Gallium Arsenida (InGaAs) : arus kecil saat gelap, kecepatan

tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm) namun harga di pasaran cukup mahal.

Gambar fotodioda ditunjukkan pada gambar berikut:


(32)

2.5. Dioda Pemancar Cahaya Inframerah (LED Inframerah)

LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau foton melainkan dalam bentuk panas sebagian.

Proses pemancara cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP) : foton energi cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED yang digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau inframerah.

Gambar 2.10 Simbol dan Rangkaian Dasar Sebuah LED

Pemancar inframerah adalah dioda solid state yang terbuat dari bahan Galium Arsenida (GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias maju. Bila diberi bias maju elektron dari daerah-nakan menutup lubang elektron yang ada didaerah-p. Selama proses rekombinasi ini, energi dipancar keluar dari permukaan p dan n dalam bentuk foton. Foton-foton yang dihasilkan

330

VCC 5V


(33)

ini ada yang diserap lagi dan ada yang meninggalkan permukaan dalam betuk radiasi energi.

2.6. Transistor

Transistor adalah komponen elektronika yang mempunyai tiga buah terminal, yaitu 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 germanium NPN 3. Transistor silikon PNP 4. Transistor silikon NPN

Semua komponen di dalam rangkaian transistor dengan simbol. Anak panah yang terdapat di dalam simbol menunjukkan arah yang melalui transistor.

Gambar 2.11 Simbol Tipe Transistor Keterangan :

C B

E

C B

E


(34)

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.6

Gambar 2.12 Transistor sebagai Saklar On

Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturasi adalah :

Rc Vcc

Imax .. . (2.1)

Saklar On Vcc

Vcc

IC R

RB

VB

IB VBE


(35)

Rc Vcc I.

hfe B  . . (2.2)

Rc . hfeVcc

IB . (2.3)

Hubungan antara tegangan basis (VB) dan arus basis (IB) adalah :

B BE B B V RV

I   .. (2.4)

VB= IB. RB+ VBE ... (2.5)

BE B B Vcchfe..RcR V

V   ... (2.6)

Jika tegangan VB telah mencapai VBVcchfe..RcRB  VBE, maka transistor akan saturasi, dengan Ic mencapai maksimum.

Gambar 2.13 di bawah 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.

Titik Sumbat (Cut off)

IB> IB (sat) IB= IB (sat) IB

Penjenuhan (saturation)

IC

Rc Vcc

IB= 0


(36)

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.14 Transistor Sebagai Saklar Off

Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan tegangan kerja transistor (VBE) sehingga arus basis (IB) = 0 maka :

hfeI

I C

B  .. ... (2.7)

IC = IB. hfe . .... . (2.8)

IC = 0 . hfe ... .. . (2.9)

IC = 0 ... .. . (2.10)

Saklar Off Vcc

Vcc

IC R

RB

VB

IB VBE


(37)

Hal ini menyebabkan VCEsama dengan Vcc dapat dibuktikan dengan rumus :

Vcc = Vc + VCE .. .. (2.11)

VCE = Vcc (Ic . Rc) ... ... (2.12)

VCE = Vcc . .. (2.13)

2.7. Resistor

Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable Resistor serta 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.7.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


(38)

warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan ohm meter. Kode warna tersebut adalah standar menufaktur yang dikeluarkan oleh ELA (Electronic Industries Association).

Gambar 2.15 Resistor Karbon

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%


(39)

Tabel 2.1 Gelang Resistor

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. Setelah diketahui gelang pertama maka 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 pengalinya.

2.7.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 nilaivariable resistor, yang sering digunakan


(40)

adalah dengan cara memutar batas sampai 300 derajat putaran. Ada beberapa model variable resistor yang harus diputar berkali-kali untuk mendapatkan semua nilai resistor. Model ini dinamakan Potentiometers atau Trimmer

Potentiometers .

Gambar 2.16 Potensiometer

Pada gambar 2.16 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 potentiometers. Ada 3 tipe didalam perubahan nilai dari resistor variabel, perubahan tersebut dapat dilihat pada gambar 2.17.


(41)

Pada saat tipe A diputar searah jarum jam, awalnya perubahan nilai resistansi lambat tetapi ketika putarannya mencapai setengah atau lebih nilai perubahannya menjadi sangat cepat. Tipe ini sangat cocok dengan karakteristik telinga manusia. 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 AplikasiBalance Control,resistance value adjustment in circuit, dll. Sedangkan untuk tipe C perubahan resistansinya kebalikan dati tipe A.

2.8 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.


(42)

Contoh pengisian nilai secara tidak langsung :

MOV 20h,#80h ...

... MOV R0,20h

Perintah tersebut memiliki arti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0). Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

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.


(43)

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 setelah instruksiACALLdilaksanakan. Contoh :

ACALL TUNDA ...

TUNDA:

... RET

E. Instruksi JMP (Jump)

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

Loop:

... ... JMP Loop


(44)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh :

Loop:

JB P1.0,Loop ...

G. InstruksiJNB (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..


(45)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh :

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 1

...

J. InstruksiINC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh :

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

K. Dan lain sebagainya

2.9 Software 8051 Editor, Assembler, Simulator

Instruksi-instruksi yang merupakan bahasa assembly dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Setelah program selesai ditulis, maka kemudian save dan Assemble (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


(46)

subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Gambar 2.18 8051 Editor, Assembler, Simulator

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler

2.10 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Cara menggunakannya adalah dengan meng-klik Open File untuk


(47)

mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.


(48)

BAB 3

PERANCANGAN ALAT DAN PERANCANGAN PROGRAM

3.1 Perangkat Keras

Pada subbab ini akan dibahas perangkat-perangkat keras yang digunakan pada rangkaian alat ini. Perangkat-perangkat keras tersebut adalah antara lain rangkaian sensor gerak, rangkaian driver motor stepper, rangkaian PSA, dan rangkaian mikrokontroler AT89S51.

3.1.1 Diagram Blok

Secara garis besar, diagram blok dari rangkaian pintu otomatis ini ditunjukkan pada gambar 3.1. berikut ini:


(49)

Pada alat ini terdapat sebuah sensor kode batang. Sensor ini berfungsi untuk memeriksa kode batang yang ada pada kartu identitas pengguna pintu. Sensor ini dihubungkan dengan P2.0; P2.1; P2.2; P2.3; P2.4 dari mikrokontroler AT89S51.

Untuk membatasi pergeseran pintu, digunakan dua sakelar batas. Sakelar batas ini berfungsi untuk memberikan informasi pada mikrokontroler tentang keberadaan pintu, apakah pintu sedang tertutup atau tidak. Sakelar batas ini dihubungkan pada pin P0.6 dan P0.7 dari mikrokontroler AT89S51.

Untuk mengendalikan pergerakan motor stepper yang akan menarik pintu, digunakan sebuah rangkaian jembatan H. Rangkaian ini dihubungkan pada pin P0.0, P0.1, P0.2, dan P0.3 dari mikrokontroler AT89S51.

3.1.2 Perancangan Sensor Kode Batang

Dalam memeriksa kode batang pada kartu identitas pengguna pintu maka digunakan sensor kode batang. Sensor ini menggunakan 5 buah fotodioda sebagai penerima inframerah dan 5 LED inframerah sebagai pemancar inframerah.

Setiap pantulan inframerah yang diterima oleh fotodioda akan diolah dan dijadikan data digital, sehingga bila fotodioda mendapatkan pantulan dari pemancar inframerah, maka akan mengirimkan sinyal low ke mikrokontroler AT89S51. Dengan demikian mikrokontroler dapat mendeteksi sensor yang


(50)

mengirimkan sinyal low dan mengambil tindakan untuk mengatur putaran motor stepper untuk membuka ataupun menutup pintu.

Rangkaian pemancar inframerah tampak seperti gambar di bawah ini:

Gambar 3.2 Rangkaian Pemancar Inframerah

Pada rangkaian di atas digunakan 1 LED inframerah 5 volt. Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada LED inframerah dapat diketahui sebesar 50mA. Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.

Pantulan dari sinar inframerah akan diterima oleh fotodioda, kemudian akan diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika fotodioda menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika fotodioda tidak menerima pantulan sinar inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high (1).


(51)

Rangkaian ini menggunakan IC LM 358 sebagai penguat tegangan yang dihasilkan fotodioda. IC ini memiliki dua penguat operasional (op-amp). Pada rangkaian ini, kedua op-amp tersebut digunakan. Sehingga sinyal dari fotodioda mengalami dua kali penguatan.

Gambar 3.3 Rangkaian Sensor Kode Batang

Sesuai dengan gambar, maka besar penguatan op-amp tergantung pada besarnya tahanan variable yang digunakan. Pada prakteknya, tahanan variable tersebut diterima pada kisaran harga 20 KOhm, sehingga besar penguatan op-amp adalah:

kali

A

KK

2

1020

Sebuah fotodioda memiliki nilai tahanan sekitar 15 s.d. 20 MOhm jika tidak terkena sinar inframerah, dan memiliki nilai tahanan sekitar 80 s.d. 300 KOhm jika terkena sinar inframerah, tergantung dari intensitas sinar inframerah yang diterimanya. Maka dengan demikian, besar tegangan yang masuk ke op-amp dapat diketahui.


(52)

V V

K M K

Vo20 4747 5 0,01

Saat terkena sinar inframerah :

6 , 0 5 47

30047  

V

K K K Vo

Tegangan tersebut diumpankan pada op-amp dengan faktor penguatan 2 kali, sehingga tegangan keluarannya pada saat terkena sinar inframerah sekitar 0,12 volt, sedangkan saat tidak terkena sinar inframerah sekitar 0,02 volt. Namun, tegangan ini masih diumpankan lagi pada op-amp yang kedua. Dengan faktor penguatan yang sama, didapat tegangan keluaran saat terkena sinar inframerah sekitar 0,24 volt dan saat tidak terkena inframerah sekitar 0,04 volt. Tegangan inilah yang selanjutnya diumpankan ke basis transistor C945.

Transistor akan aktif ketika tegangan basisnya lebih besar dari 0,7 volt. Maka, ketika basisnya mendapat tegangan sebesar 0,12 volt (saat fotodioda terkena sinar inframerah), transistor aktif. Aktifnya transistor ini akan menyebabkan mikrokontroler mendapatkan logika low dan LED indikator akan mati. Hal sebaliknya akan berlaku ketika fotodioda tidak mendapatkan pantulan sinar inframerah.


(53)

Rangkaian untuk mengendalikan perputaran motor stepper pada alat ini adalah sebuah rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor, dimana 2 buah transistor bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan memberikan sinyal low atau high pada rangkaian maka perputaran motor dapat diatur. Gambar rangkaiannya ditunjukkan pada gambar berikut ini:

Vcc Vcc Vcc Vcc

Motor 330 Ohm 330 Ohm 330 Ohm 330 Ohm TIP127 TIP127 C945 TIP122 TIP122 C945 C945 C945 1 K

1 K 1 K

1 K 18 Ohm

18 Ohm 18 Ohm 18 Ohm

P0.0 P0.1

Gambar 3.4 Rangkaian Jembatan H

Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 5 volt


(54)

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 sedang dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang sama.

Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang di sebelah kanan tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Akibat transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emitor sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari


(55)

transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 yang mendapatkan tegangan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga akan mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif).

Prinsip tersebut digunakan pada saat menghidupkan motor stepper. Prinsip kerja dari motor stepper yaitu pembangkitan medan magnet untuk memperoleh gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan/ kumparannya. Bila kumparan mendapatkan logika 1 maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada rotor. Sehingga posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet berlawanan tadi. Bila langkah berikutnya lilitan yang bersebelahan diberi tegangan, sedangkan catu tegangan lilitan sebelumnya dilepas, maka kutub magnet tetap pada rotor itu akan berpindah posisi menuju kutub magnet lilitan yang dihasilkan. Berarti telah terjadi gerakan 1 step. Bila langkah ini diulang terus-menerus, dengan memberikan tegangan secara bergantian ke lilitan-lilitan yang bersebelahan, maka rotor akan berputar .

Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan


(56)

stator motor. Untuk motor DC Stepper 4 fasa pada prinsipnya ada dua macam cara, yaitu full step dan half step.

Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4. Berikutnya dapat diberikan lagi mulai dari step 1. Untuk Half Step, setiap kutup magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang sama setelah Step ke 8. Berikutnya kembali mulai step 1. Dengan memberikan logika secara bergantian dan berurutan pada pin-pin input rangkaian jembatan H, maka pergerakan motor stepper dapat diatur.

Step ke Full Step Half Step

1 1 0 0 0 1 0 0 0

2 0 1 0 0 1 1 0 0

3 0 0 1 0 0 1 1 0

4 0 0 0 1 0 1 1 0

5 Berulang ke step 1 0 0 1 0

6 0 0 0 1

7 0 0 0 1

8 1 0 0 1

Berulang ke step 1 Tabel 3.1 Logika Perputaran Rotor


(57)

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroler AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan kapasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran atau bus I/O 8 bit open kolektor dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal.

5V VCC 10uF 5V VCC 2 1 30pF 30pF

XTAL 12 MHz

AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1

GND P2.0 (A8)

1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21 4.7k2SA733 5V VCC LED1


(58)

Gambar 3.5 Rangkaian Mikrokontroler AT89S51

Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum mikrokontroler AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dan dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.1.5 Rangkaian Catu Daya (PSA)

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk menghidupkan motor stepper. Rangkaian tampak seperti gambar di bawah ini.


(59)

Vreg LM7805CT

IN OUT TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt 5 Volt

Gambar 3.6 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 memberikan 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 dioda.


(60)

3.2 Perangkat Lunak

Alat ini akan terus mendeteksi kode batang. Ketika kartu yang berisi kode batang dihadapkan pada sensor, maka sensor akan mengirimkan logika pada mikrokontroler yang kemudian akan diproses.

Program diawali dengan pengecekan sensor kode batang. Apabila logika yang dihasilkan pada sensor sama dengan logika yang tersimpan dalam memori mikrokontroler, maka pintu akan membuka. Apabila ternyata logika yang dihasilkan oleh sensor ternyata tidak sama dengan logika yang ada pada mikrokontroler, maka pintu akan tetap tertutup.


(61)

Setelah pintu terbuka dengan sempurna, mikrokontroler kemudian melakukan penundaan waktu beberapa saat. Kemudian, akan segera mengirimkan logika pada jembatan H untuk memerintahkan motor agar menutup pintu. Setelah pintu tertutup dengan sempurna, program akan diulangi dari awal kembali.


(62)

BAB 4

ANALISA RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt. Keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk menghidupkan motor stepper. Pengujian pada bagian rangkaian ini dapat dilakukan dengan mengukur tegangan keluaran melalui voltmeter digital.

4.2 Pengujian Rangkaian Mikrokontroler AT89S51

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:

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


(63)

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 tampak berkedip.

Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut: Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan waktu = 12 1

12MHz  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: 2

mov r7,#255 2 Tnd: mov r6,#255

djnz r6,$255 x 2 = 510 x 255 = 130.054 = 130.058 d djnz r7,Tnd

ret 2


(64)

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 mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.

4.3 Pengujian Rangkaian Pembaca Kode Bar

Pengujian pada rangkaian pembaca kode bar ini dapat dilakukan dengan cara menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan fotodioda dan inframerah secara bersebelahan. Ketika diletakkan benda berwarna putih dihadapannya, maka pantulan sinar inframerah akan mengenai fotodioda, sehingga menyebabkan LED indikator pada rangkaian penerima akan menyala, dan tegangan output rangkaian sebesar 0,09 volt. Namun ketika diletakkan benda berwarna hitam di depan inframerah dan fotodioda, maka pantulan inframerah tidak mengenai fotodioda, hal ini menyebabkan LED indikator pada rangkaian penerima tidak menyala dan tegangan output dari rangkaian ini sebesar 4,9 volt.

Pengujian selanjutnya dilakukan dengan cara menghubungkan rangkaian ini dengan rangkaian mikrokontroler AT89S51, dan memberikan program tertentu pada mikrokontroler AT89S51. Untuk mendeteksi adanya sinyal yang dikirimkan oleh rangkaian pembaca kode bar, maka mikrokontroler harus diprogram untuk untuk dapat mengecek sinyal apa yang dikirimkan oleh sensor. Jika sinyal yang


(65)

dikirimkan adalah sinyal high (1), berarti benda dihadapannya berwarna hitam, namun jika sinyal yang dikirimkan adalah sinyal low, maka ini berarti benda di hadapannya berwarna putih. Program untuk mendeteksi pengiriman sinyal dari rangkaian pembaca kode warna ini,

Sinyal1 Bit P1.3 Sinyal Bit P1.2 Cek_Sinyal1:

Jb sinyal1,Cek_Sinyal2 Clr P3.7

. . . . Cek_Sinyal2:

Jb sinyal2,Cek_Sinyal1 Setb P3.7

. . . .

Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa sinyal1 dihubungkan ke P1.3 dan sinyal2 dihubungkan ke P1.2. Kemudian program akan dilanjutkan dengan rutin cek sinyal1. Pada rutin ini program akan melihat kondisi P1.3 yang dihubungkan ke sinyal1, dengan menggunakan perintah JB (jump if bit), jika kondisi P1.3 bit (high), yang berarti benda di hadapan rangkaian pembaca adalah berwarna hitam., maka program akan lompat ke rutin cek sinyal2. Namun jika kondisi P1.3 notbit (low), maka program akan melanjutkan ke rutin Clr P3.7. Perintah ini akan menyebabkan LED yang terhubung ke P3.7 mati. Jika rangkaian telah berjalan sesuai dengan program yang diberikan, maka rangkaian telah bekerja dengan baik.


(66)

4.4 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:

Mov R7,#50 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 :


(67)

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 Sjmp Loop 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.5 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 sebesar 0 volt. Dengan demikian maka rangkaian ini telah berfungsi dengan baik.


(68)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk mendeteksi keberadaan benda, fotodioda memanfaatkan pantulan inframerah yang diterimanya ketika di depan sensor terdapat benda. Dan sebaliknya, ketika tidak ada benda di depannya maka fotodioda tidak menerima pantulan inframerah.

2. Sistem prototipe ini menggunakan Mikrokontroler AT89S51 sebagai tempat proses data dari sistem yang berfungsi untuk menerima sinyal dari pemancar ke penerima serta menggerakkan motor untuk membuka dan menutup pintu.

3. Benda berwarna putih memantulkan hampir seluruh cahaya yang mengenainya, sedangkan benda berwarna hitam menyerap hampir seluruh cahaya yang mengenainya.


(69)

5.2 Saran

1. Fotodioda sangat peka terhadap cahaya inframerah karena itu intensitas cahaya matahari dari luar yang mengenai fotodioda juga mempengaruhi pembacaan kode bar, sehingga disarankan untuk pengembangannya alat ini menggunakan penambahan jenis sensor yang lain untuk mendeteksi keberadaan benda.

2. Disarankan untuk membuat rangkaian lebih baik dan program yang lebih spesifik sehingga dapat di aplikasikan ke penggunaan yang lain. 3. Dengan menambah jenis sensor lain dan membuat rancangan sistem

pengukuran lainnya, maka pengaplikasian peralatan ini dapat dikembangkan juga.


(70)

DAFTAR PUSTAKA

Agfianto Eko Putra, 2002,Belajar Mikrokontroller AT89C51/52/55 Teori dan

Aplikasi, Edisi Kedua, Penerbit : Gava Media, Yogyakarta.

Agfianto Eko Putra, 2002, Teknik Antar Muka Komputer: Konsep dan Aplikasi, Edisi

Pertama, Penerbit: Graha Ilmu, Yogyakarta.

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

Nalwan Paulus Andi, 2003, Panduan Praktis Teknik Antarmuka dan Pemrograman

Mikrokontroler AT89C51, Penerbit : PT Elex Media Komputindo,

Jakarta.

Suhata, 2004,Aplikasi Mikrokontroler sebagai Pengendali Peralatan Elektonik

via Line Telepon, Penerbit PT Elex Media Komputindo, Jakarta.

www.atmel.com www.weitron.com.tw


(1)

dikirimkan adalah sinyal high (1), berarti benda dihadapannya berwarna hitam, namun jika sinyal yang dikirimkan adalah sinyal low, maka ini berarti benda di hadapannya berwarna putih. Program untuk mendeteksi pengiriman sinyal dari rangkaian pembaca kode warna ini,

Sinyal1 Bit P1.3 Sinyal Bit P1.2 Cek_Sinyal1:

Jb sinyal1,Cek_Sinyal2 Clr P3.7

. . . . Cek_Sinyal2:

Jb sinyal2,Cek_Sinyal1 Setb P3.7

. . . .

Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa sinyal1 dihubungkan ke P1.3 dan sinyal2 dihubungkan ke P1.2. Kemudian program akan dilanjutkan dengan rutin cek sinyal1. Pada rutin ini program akan melihat kondisi P1.3 yang dihubungkan ke sinyal1, dengan menggunakan perintah JB (jump if bit), jika kondisi P1.3 bit (high), yang berarti benda di hadapan rangkaian pembaca adalah berwarna hitam., maka program akan lompat ke rutin cek sinyal2. Namun jika kondisi P1.3 notbit (low), maka program akan melanjutkan ke rutin Clr P3.7. Perintah ini akan menyebabkan LED yang terhubung ke P3.7 mati. Jika rangkaian telah berjalan sesuai dengan program yang diberikan, maka rangkaian telah bekerja dengan baik.


(2)

4.4 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:

Mov R7,#50 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


(3)

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 Sjmp Loop 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.5 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 sebesar 0 volt. Dengan demikian maka rangkaian ini telah berfungsi dengan baik.


(4)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Untuk mendeteksi keberadaan benda, fotodioda memanfaatkan pantulan inframerah yang diterimanya ketika di depan sensor terdapat benda. Dan sebaliknya, ketika tidak ada benda di depannya maka fotodioda tidak menerima pantulan inframerah.

2. Sistem prototipe ini menggunakan Mikrokontroler AT89S51 sebagai tempat proses data dari sistem yang berfungsi untuk menerima sinyal dari pemancar ke penerima serta menggerakkan motor untuk membuka dan menutup pintu.

3. Benda berwarna putih memantulkan hampir seluruh cahaya yang mengenainya, sedangkan benda berwarna hitam menyerap hampir seluruh cahaya yang mengenainya.


(5)

5.2 Saran

1. Fotodioda sangat peka terhadap cahaya inframerah karena itu intensitas cahaya matahari dari luar yang mengenai fotodioda juga mempengaruhi pembacaan kode bar, sehingga disarankan untuk pengembangannya alat ini menggunakan penambahan jenis sensor yang lain untuk mendeteksi keberadaan benda.

2. Disarankan untuk membuat rangkaian lebih baik dan program yang lebih spesifik sehingga dapat di aplikasikan ke penggunaan yang lain. 3. Dengan menambah jenis sensor lain dan membuat rancangan sistem

pengukuran lainnya, maka pengaplikasian peralatan ini dapat dikembangkan juga.


(6)

DAFTAR PUSTAKA

Agfianto Eko Putra, 2002,Belajar Mikrokontroller AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua, Penerbit : Gava Media, Yogyakarta.

Agfianto Eko Putra, 2002, Teknik Antar Muka Komputer: Konsep dan Aplikasi, Edisi

Pertama, Penerbit: Graha Ilmu, Yogyakarta.

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

Nalwan Paulus Andi, 2003, Panduan Praktis Teknik Antarmuka dan Pemrograman

Mikrokontroler AT89C51, Penerbit : PT Elex Media Komputindo, Jakarta.

Suhata, 2004,Aplikasi Mikrokontroler sebagai Pengendali Peralatan Elektonik via Line Telepon, Penerbit PT Elex Media Komputindo, Jakarta.

www.atmel.com www.weitron.com.tw