Pembaca barcode code 39 berbasis mikrokontroler AT89S51 - USD Repository

76 

Teks penuh

(1)

PEMBACA BARCODE CODE 39 BERBASIS

MIKROKONTROLER AT89S51

TUGAS AKHIR

Diajukan Sebagai Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Elektro

Disusun oleh :

TONNY PUJIANTO NIM : 015114037

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2006

(2)

THE FINAL PROJECT

Presented as Partial Fulfillment of the Requirements

to Obtain the Sarjana Teknik Degree

in Electrical Engineering

Arranged by :

TONNY PUJIANTO

STUDENT NUMBER: 015114037

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINERING DEPARTMENT

ENGINEERING FACULTY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2006

(3)
(4)
(5)

HALAMAN PERNYATAAN KEASLIAN HASIL KARYA

Dengan ini saya menyatakan bahwa dalam Tugas Akhir ini tidak terdapat karya

yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan

Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat

yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis

diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, November 2006

Penulis

Tonny Pujianto

(6)

MOTTO

1. Hidup adalah perjuangan

2. Berani hidup jangan takut mati, Takut mati jangan hidup, Takut hidup

mati saja. (Trimurti “Imam Zarkasy, Zainudin Fanani, Ahmad Sahal)

3. ALLAH tidak akan merubah nasib suatu kaum, kecuali kaum itu sendiri

yang merubahnya. (QS. Arra’du, ayat 11)

PERSEMBAHAN

Ku persembahkan tulisan ini untuk kedua orangtuaku tercinta, Kakakku satu –

satunya dan orang yang sangat aku kasihi…

(7)

INTISARI

Barcode merupakan salah satu alat bantu identifikasi yang sering tertera dalam berbagai produk, kartu identitas ataupun jenis barang lainnya guna mempermudah proses identifikasi. Walaupun banyak jenis alat bantu yang lain

seperti magnetic band dan smart card, tapi barcode tetap dapat bertahan karena

memiliki keunggulan tersendiri yang tidak dijumpai pada alat bantu yang lain.

Alat pembaca barcode atau barcode reader dapat dibuat sendiri dengan

rangkaian yang relatif sederhana dan harga yang relatif murah. Dengan tampilan pada LCD dan pengolahan data dengan Mikrokontroler AT89S51, karakter yang

ada pada barcode dapat dikonversikan dan ditampilkan sehingga orang dapat

membacanya. Alat pembaca barcode ini dirancang untuk dapat membaca barcode

kode 39 dan menampilkan karakternya pada LCD.

Tugas akhir alat pembaca barcode (barcode reader) telah berhasil dibuat

dengan kemampuan pembacaan hingga 11 karakter pada 1 kartu (bekas sim card

perdana telepon seluler) dengan tingkat kesalahan rata - rata 10 %.

(8)

smart card, but the barcode is still exist with its superiority.

The barcode reader can be made with a simple schematic and inexpensive price. With the LCD as the display and AT89S51 microcontroller as the data processing, the character of the barcode can be converted and displayed so that people can read. This barcode reader have been made for the barcode code 39 and display the character on the LCD.

Barcode reader as the final project have been tested and can read up to 11 character on the card (mobile phone sim card) with 10 % average error.

(9)

KATA PENGANTAR

Bismillahirrohmanirrohim.

Dengan menyebut nama ALLAH yang maha pengasih dan penyayang,

penulis mengucapkan puji syukur atas berkat, rahmat dan ridho-Nya, sehingga

alat pembaca barcode kode 39 ini akhirnya dapat diselesaikan dengan hasil yang

memuaskan.

Dengan selesainya tugas akhir ini yang merupakan salah satu syarat untuk

meraih gelar sarjana pada jurusan Teknik Elektro, Fakultas Teknik, Universitas

Sanata Dharma, Yogyakarta, penulis mengucapkan terima kasih kepada:

1. Kedua orang tuaku tercinta, atas segalanya yang telah diberikan dan

tak akan pernah dapat ternilai harganya.

2. Bapak Ir. Iswanjono, M.T selaku pembimbing, atas segala pemikiran

dan bimbingannya dari awal hingga akhir pembuatan tugas ahir ini.

3. Suchi Desamaryta yang selalu memberi semangat dan dorongan serta

kasih dan sayang hingga penulis dapat terus berjuang dan berjuang.

be an Angel”.

4. Kakakku yang tercinta, mas Eko “we will together in this “war” for

the bright future

5. Temen – temen kontrakan yang badung – badung : clause dominica,

Teguh, Ari, Saliem dan CB ‘Ciberiouse’, terimakasih atas semua

bantuan dan semangatnya. “tetep semangat”

(10)

Tiesta, Nanda, Yudie “Apoet”, “ I miss you all, so much”, Thuesti,

Ikoq, N(“,)p3ks, MeeCha, Iin, Rain-nee, Woelan, Nur “din”, Ice-tea

dan semuanya “keep your spirit for the holly fighter

8. Seluruh dosen Fakultas Teknik yang telah membagikan ilmunya

selama penulis berada di Universitas Sanata Dharma

9. Bapak A. Bayu Primawan, S.T.,M.Eng selaku Ketua Jurusan Teknik

Elektro, Universitas Sanata Dharma, Yogyakarta.

10.Romo Ir. Greg. Heliarko SJ.,SS.,BST.,MA.,M.Sc selaku Dekan

Fakultas Teknik, Universitas Sanata Dharma, Yogyakarta.

11.Dan semua pihak yang tidak dapat penulis disebutkan, makasih

banyak, ALLAH yang membalas segalanya.

Penulis menyadari bahwa dalam pembuatan dan penulisan tugas akhir ini

masih banyak kelemahan dan kekurangan. Oleh karena itu masukan dari

semua pihak sangat penulis harapkan.

Semoga tugas akhir ini dapat bermanfaat bagi kita semua, ALLAH

memberkati. Amiin.

Yogyakarta, November 2006

Penulis

(11)

DAFTAR ISI

HALAMAN JUDUL... i

HALAMAN PERSETUJUAN PEMBIMBING... iii

HALAMAN PENGESAHAN... iv

PERNYATAAN KEASLIAN KARYA... v

MOTO DAN PERSEMBAHAN... vi

INTISARI... vii

ABSTRACT... viii

KATA PENGANTAR... ix

DAFTAR ISI... xi

DAFTAR TABEL... xv

DAFTAR GAMBAR... xvi

BAB I PENDAHULUAN... 1

1.1 Judul ... 1

1.2 Latar Belakang Masalah ... 1

1.3 Perumusan Masalah ... 2

1.4 Batasan Masalah ... 2

1.5 Tujuan ... 3

1.6 Manfaat ... 3

1.7 Metodologi penelitian ... 4

1.8 Sistematika Penulisan ... 4

(12)

2.1.2 Barcode dua dimensi... 8

2.1.3 Kode pada Barcode Kode 39 ... 9

2.1.4 Cara Pembacan barcode... 11

2.2 Sensor barcode Reader... 11

2.2.1 Rangkaian Photo Diode... 11

2.2.2 Rangkaian LED Super Bright... 13

2.3 Pengondisi Sinyal... 15

2.4 Motor Stepper... 16

2.5 Penggerak Motor Stepper... 18

2.6 Penampil LCD 2 x 6 karakter ... 19

2.7 Mikrokontroler AT89S51 ... 22

2.8 Osilator Mikrokontroler ... 25

BAB III PERANCANGAN DAN IMPLEMENTASI... 26

3.1 Diagram Blok Pembaca Barcode (Barcode reader) ... 26

3.2 Kartu barcode... 26

3.3 Sensor Barcode Reader... 27

3.3.1 LED super bright... 27

3.3.2 Frekuensi Pemodulasi ... 28

3.3.3 Photo diode... 28

(13)

3.4 Pengondisi Sinyal... 30

3.5 Motor Stepper... 31

3.6 Penggerak Motor Stepper... 33

3.7 Penampil LCD ... 35

3.8 Mikrokontroler AT89S51 ... 36

3.8.1 Osilator Mikrokontroler AT89S51 ... 37

3.8.2 Data Masukan Mikrokontroler AT89S51 ... 38

3.8.3 Pensaklaran (Switching) oleh Mikrokontroler ... 39

3.8.4 Diagram Alir dan Algoritma Keseluruhan Sistem Kerja ... 39

3.8.5 Diagram Alir dan Algoritma Subroutine Pengambilan Data ... 42

3.8.6 Diagram Alir dan Algoritma Subroutine Konversi Data ... 45

BAB IV HASIL DAN PEMBAHASAN ... 47

4.1 Pengamatan dari Alat ... 48

4.1.1 Kartu Barcode... 49

4.1.2 Ketelitian Barcode Reader... 49

4.1.3 Proses Pembacaan Barcode... 50

4.2 Data Pengamatan ... 51

4.2.1 Data Pengamatan Perangkat Keras ... 51

4.2.2 Data Pengamatan Pembacaan Barcode... 52

(14)

DAFTAR PUSTAKA... 59

LAMPIRAN

(15)

AFTAR TABEL

1. Tabel 2.1 Karakter ASCII barcode kode 39 ... 9

2. Tabel 2.2 Tampilan LCD ... 21

3. Tabel 2.3 Fungsi pin pada port 3 ... 24

4. Tabel 3.1 Penggunaan port pada Mikrokontroler ... 37

(16)

2. Gambar 2.1 Barcode jenis code 39 ... 6

3. Gambar 2.2 barcode jenis code 128... 7

4. Gambar 2.3 barcode jenis interleaved 2 of 5 ... 7

5. Gambar 2.4 barcode jenis UPC ... 8

6. Gambar 2.5 barcode jenis PDF417... 9

7. Gambar 2.6 Rangkaian photo diode padan sensor barcode reader... 12

8. Gambar 2.7 Rangkaian timer 555 astable ... 14

9. Gambar 2.8 Rangkaian dara LED super bright... 14

10. Gambar 2.9 Op-amp sebagai pembanding... 15

11. Gambar 2.10 Pergerakan motor Stepperfull step”... 16

12. Gambar 2.11 Pergerakan motor Stepperhalf step”... 17

13. Gambar 2.12 Gelombang dasar pergerakan pulsa motor Stepper... 19

14. Gambar 2.13 Display LCD 2 x 16 karakter ... 20

15. Gambar 2.14 Konfigurasi pin AT89S51 ... 23

16. Gambar 3.1 Diagram blok barcode reader... 26

17. Gambar 3.2 Kartu yang memiliki barcode... 27

18. Gambar 3.3 Rangkaian photo diode dan transistor ... 28

19. Gambar 3.4 Rangkaian pembagi tegangan ... 31

20. Gambar 3.5 Rangkaian pembanding pada op-amp ... 31

21. Gambar 3.6 Rangkaian penggerak motor Stepper... 34

(17)

22. Gambar 3.7 Diagram blok penggerak motor Stepper... 34

23. Gambar 3.8 Tampilan pada LCD 2 x 16 karakter... 36

24. Gambar 3.9 Rangkaian LCD pada Mikrokontroler ... 36

25. Gambar 3.10 Rangkaian osilator Mikrokontroler AT89S51 ... 37

26. Gambar 3.11 Rangkaian masukan ke AT89S51 ... 37

27. Gambar 3.12 Rangkaian pensaklaran oleh Mikrokontroler ... 39

28. Gambar 3.13 Diagram alir sistem kerja barcode reader... 41

29. Gambar 3.14 Diagram alir proses pengambilan data Barcode... 43

30. Gambar 3.15 Diagram alir proses konversi data menjadi karakter ASCII ... 46

31. Gambar 4.1 Bentuk fisik alat dilihat dari atas tanpa penutup ... 47

32. Gambar 4.2 Barcode reader PromtScanTM... 48

33. Gambar 4.3 Barcode yang ditempel pada bekas kartu perdana (sim card) telepon seluler ... 48

34. Gambar 4.4 Spesifikasi dan logika yang diberikan oleh barcode... 49

35. Gambar 4.9 Peletakan sensor pembaca barcode... 50

36. Gambar 4.10 Tampilan karakter salah pada LCD... 52

37. Gambar 4.5 Barcode dengan karakter *15114037*... 56

38. Gambar 4.6 Barcode dengan karakter *05422001*... 56

39. Gambar 4.7 Barcode dengan karakter *69009009*... 56

40. Gambar 4.8 Barcode dengan karakter *11121983*... 57

(18)

1.1. Judul

Pembaca barcode kode 39 berbasis mikrokontroler AT89S51.

1.2. Latar Belakang Masalah

Di awal perkembangannya, penggunaan barcode dilakukan untuk

membantu proses pemeriksaan barang-barang secara otomatis pada supermarket.

Tetapi saat ini barcode sudah banyak digunakan dalam berbagai aplikasi seperti

pada kartu identitas, kartu kredit dan untuk pemeriksaan secara otomatis pada

perpustakaan.

Barcode digambarkan dalam bentuk baris hitam tebal dan tipis yang

disusun berderet sejajar horisontal. Untuk membantu pembacaan secara manual,

dicantumkan juga angka-angka dibawah barcode tersebut. Angka-angka tersebut

tidak mendasari pola barcode yang tercantum. Ukuran dari barcode tersebut dapat

diperbesar maupun diperkecil dari ukuran nominalnya tanpa tergantung dari mesin

yang membaca[1].

Walaupun teknologi semakin berkembang dengan ditemukannya media

magnetic, rfid, electronics tags, serial EEPROM (seperti pada smart card),

barcode terus bertahan dengan kelebihan – kelebihan yang dimilikinya. Media

pembacaan barcode juga tersedia begitu banyak di pasaran dengan harga yang

relatif murah, mulai dari yang berbentuk pena (wand), slot, scanner, hingga CCD

atau bahkan dapat dibuat sendiri[2].

(19)

2

Berdasar alasan di atas, penulis merancang dan membuat alat pembaca

barcode (Barcode reader) dengan keluaran pada LCD. Alat ini, dirancang untuk

dapat membaca barcode kode 39 dan menampilkan kode – kode barcode pada

LCD.

1.3. Perumusan Masalah

Dalam perancangan ini, barcode dibuat sendiri dan di tempelkan pada

kartu perdana simcard bekas. Sedangkan untuk pembaca barcode (barcode

reader) diperlukan beberapa hal, yaitu :

1. Penempatan sensor dan sensifitas sensor sehingga sensor dapat

membaca barcode dan meminimalisasi kesalahan sehingga data yang

didapat lebih aktual

2. Proses pengolahan data oleh pengondisi sinyal dan mikrokontroler

(AT89S51) sehingga data tersebut dapat ditampilkan menggunakan

LCD.

1.4. Batasan Masalah

Batasan masalah pada perancangan ini adalah :

1. Barcode kode 39

Barcode kode 39 berupa garis hitam dan putih yang memiliki

spesifikasi :

Tinggi barcode : 8 mm

(20)

Ukuran 1 (satu) bar dan space lebar : 1.446 mm

Gambar 1.1. Satu karakter dan ukuran barcode

Jumlah bar dan space untuk 1 (satu) karakter : 9

Jarak antar karakter : 0.578 mm

2. Hanya menggunakan digit biner data (8 digit biner) dari 9 digit biner

barcode.

3. Barcode (standar) yang dibuat sendiri menggunakan Corel Draw

dengan font3 of 9.

1.5. Tujuan

Perancangan ini bertujuan untuk dapat membaca barcode kode 39 dan

ditampilkan pada LCD agar dapat dibaca oleh manusia.

1.6. Manfaat

Manfaat dari perancangan dari alat ini antara lain:

a. Dapat mengetahui isi (kode) barcode code 39 dalam bentuk numerik

(21)

4

b. Dapat digunakan sebagai dasar untuk membuat perancangan yang

lebih besar (daftar hadir, tiket, pintu masuk dan lain - lain).

c. Menambah pengetahuan tentang teknologi barcode

1.7. Metodologi Penelitian

Pada perancangan alat ini, penulis menggunakan metode penelitian

sebagai berikut :

1. Perumusan masalah

2. Pengumpulan faktor – faktor pendukung

3. Perancangan untuk menyelesaikan masalah

4. Pengimplementasian dari rancangan.

5. Pengambilan data dan percobaan – percobaan

6. Menganalisa dan membuat laporan

1.8. Sistematika Penulisan

Penulisan tugas akhir ini ditulis dengan sistematika sebagai berikut:

BAB I Pendahuluan

Bab ini berisi judul, latar belakang masalah yang mendasari pemilihan

judul tugas akhir, perumusan masalah, batasan masalah, tujuan dan

manfaat penelitian, metode penelitian, hipotesa dan sistematika

(22)

BAB II Dasar teori

Bab ini berisi dasar teori rangkaian yang dibentuk dari

kompenen-komponen yang dipakai dalam perancangan barcode reader, antara lain:

rangkaian sensor barcode (rangkaian LED infra merah danrangkaian

photo diode), LDC 2×16 karakter, rangkaian penggerak motor stepper,

mikrokontroler AT89S51, spesifikasi dan cara pembacaan barcode.

BAB III Perancangan alat

Bab ini berisi tentang perancangan nilai-nilai komponen serta cara

menghubungkan dan menggunakan rangkaian-rangkaian seperti yang

disebutkan pada BAB II untuk membentuk suatu sistem rangkaian

elektronika yang mengendalikan barcode reader. BAB ini juga memuat

algoritma dan diagram alir (flowchart) dalam membuat program yang

akan dijalankan pada mikrokontroler AT89S51.

BAB IV Hasil dan pembahasan

Bab ini berisi tentang hasil dan pembahasan terhadap hasil akhir dan

pengujian alat.

(23)

BAB II

DASAR TEORI

2.1. Barcode

Barcode adalah kode berupa beberapa garis atau titik hitam dan putih.

Barcode memiliki 2 bentuk, yaitu :

1. barcode 1 dimensi

2. barcode 2 dimensi

2.1.1. Barcode Satu Dimensi

Barcode satu dimensi biasanya dinamakan linear bar codes (kode

berbentuk baris). Contoh barcode satu dimensi antara lain [1]:

Kode 39 (code 3 of 9)

Adalah sebuah barcode alphanumerik (full ASCII) yang

memiliki panjang baris yang bervariasi, seperti yang ditunjukkan

pada gambar 2.1. Aplikasi barcode jenis kode 39 adalah untuk

inventory, asset tracking dan digunakan pada tanda pengenal

identitas.

Gambar 2.1. Barcode jenis kode 39

(24)

Kode 128

Adalah suatu barcode alphanumerik (full ASCII) yang memiliki

kerapatan (density) yang sangat tinggi dan panjang baris yang

bervariasi, seperti terlihat pada gambar 2.2. Barcode kode 128 ideal

untuk aplikasi seperti shipping and warehouse management

(pangaturan maskapai pelayaran dan pengelolaan gudang).

Gambar 2.2. Barcode jenis kode 128

Interleaved 2 of 5

Adalah sebuah barcode yang berbentuk numerik dan memiliki

panjang baris yang bervariasi, seperti terlihat pada gambar 2.3.

Barcode interleaved 2 of 5 dapat dipergunakan untuk aplikasi industri

dan laboratorium.

(25)

8

UPC (Universal Product Code)

Adalah sebuah barcode yang berbentuk numerik dan memiliki

panjang baris yang tetap (fixed), seperti terlihat pada gambar 2.4.

UPC digunakan untuk pelabelan pada produk-produk kecil/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.4. Barcode jenis UPC

2.1.2. Barcode Dua Dimensi

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). Dengan barcode dua dimensi, informasi atau data yang besar dapat

disimpan di dalam suatu ruang (space) yang lebih kecil. Contoh barcode dua

dimensi adalah “symbology PDF417” seperti terlihat pada gambar 2.5.

Barcode jenis ini dapat menyimpan lebih dari 2000 karakter di dalam sebuah

(26)

Gambar 2.5. Barcode jenis PDF417

2.1.3. Kode pada Barcode Kode 39

Satu karakter pada barcode kode 39 memiliki 9 elemen yaitu 5 bar

(garis vertikal hitam) dan 4 spasi (garis vertikal putih) yang disusun secara

bergantian. Tiga dari sembilan elemen tersebut memilki ketebalan yang lebih

dari lainnya. Oleh karena itu, kode ini biasa disebut juga code 3 of 9 atau

juga sering disebut kode 39. Tiga elemen yang lebih tebal tersebut terdiri dari

2 bar dan 1 spasi, elemen yang lebar mewakili digit biner 1 dan elemen yang

sempit mewakili digit biner 0 [2].

Tabel 2.1. Karakter ASCII barcode kode 39 [2].

(27)

10

Tabel 2.1. (Lanjutan) Karakter ASCII barcode kode 39 [2] Digit biner

Karakter

ASCII Barcode B

(C)

Jumlah digit biner pada barcode kode 39 adalah 9 digit. Barcode

kode 39 tidak memiliki check digit tersendiri, tapi mampu melakukan

(28)

memperbaiki kesalahan yang ditemukan [5]. Pada perancangan yang penulis

lakukan, proses pengecekan ini tidak dilakukan, sehingga digit biner yang

diambil hanya digit data (D0 – D7)

2.1.4. Cara Pembacaan Barcode

Pembacaan barcode jenis code 39 (berupa garis) yang penulis pakai

menggunakan sistem pemantulan cahaya (sistem pena). Sebagai sumber

cahaya (pena) adalah LED super bright dan sebagai penerima cahaya adalah

photo diode yang dihubungkan ke basis transistor. LED super bright

memancarkan cahaya sehingga mengenai permukaan barcode. Bila

permukaan yang terkena cahaya adalah garis putih, maka cahaya akan

dipantulkan ke photo diode sehingga photo diode aktif dan transistor juga

aktif (logika 0). Bila yang terkena cahaya adalah garis hitam, cahaya akan

diserap atau tidak dipantulkan sehingga photo diode tidak aktif dan transistor

juga tidak aktif (logika 1). [3]

Pada perancangan ini, perbandingan antara elemen tebal dan tipis

adalah ± 2,5 : 1.

2.2. Sensor BarcodeReader

Sensor barcode reader terdiri dari 2 buah device, LED super bright

dan photo dioda. LED super bright berfungsi sebagai sumber cahaya

(29)

12

2.2.1. Rangkaian Photo diode

Photo diode dirangkai dengan sebuah transistor agar photo diode

dapat difungsikan sebagai saklar seperti halnya phototransistor[7].

Rangkaian photo diode seperti terlihat pada gambar 2.6.

Gambar 2.6. Rangkaian photo diode pada sensor Barcode Reader

Untuk mengetahui keluaran tegangan dari Q1 pada gambar 2.6, harus

didapat nilai IB. Besar niai IB dapat dihitung dengan rumus :

1

Cahaya LED super bright yang terpantul dan masuk ke photo diode

(30)

basis transistor (IB) akan semakin besar, sesuai dengan persamaan (2.1).

Keadaan tersebut akan menyebabkan arus collector (IC)akan besar, sehingga

nilai VCE akan semakin kecil, sesuai dengan persamaan (2.2 dan 2.3).

Sebaliknya, apabila tidak ada cahaya LED super bright (cahaya tidak

memantul), maka photo diode tidak aktif (nilai RD2 besar) sehingga arus IB

kecil dan mengakibatkan arus collector (IC) kecil sehingga VCE besar

[persamaan (2.2 dan 2.3)].

Dengan menggunakan persamaan (2.1), diperoleh :

2

Kemudian dengan mengacu pada persamaan (2.2), maka persamaan (2.3)

dapat dituliskan:

(2.5)

2.2.2. Rangkaian LED Super Bright

LED super bright dimodulasi oleh sebuah pembangkit (osilator)

gelombang kotak. Hal ini dilakukan untuk menambah sensitifitas penerimaan

cahaya pada photo diode . Osilator dibangkitkan dengan rangkaian timer 555

astable seperti terlihat pada gambar 2.7. Besarnya frekuensi yang dihasilkan

dapat dihitung dengan rumus:

(31)

14

Gambar 2.7. Rangkaian Timer 555 Astable (datasheet LM555)

Untuk dapat mengaktifkan LED super bright, dibutuhkan arus basis

(IB). IB dihasilkan oleh tegangan keluaran osilator saat TH (logika 1) dan LED

super bright akan tidak aktif saat TL (logika 0). Tegangan saat TH dianggap

sebagai VCC. Gambar 2.8 memperlihatkan rangkaian dasar dari LED super

bright , sedangkan besarnya arus IB dapat dinyatakan: B

D D

CC V R I V − = 2.

D D CC

I V V R2 = −

R2 VCC

D1

Gambar 2.8. Rangkaian dasar LED super bright

(32)

2.3. Pengondisi Sinyal

Pengondisi sinyal yang digunakan adalah rangkaian pembanding

menggunakan penguat opersional (Op-Amp).

VCC

Pada perancangan ini, Op-Amp dipakai sebagai komparator atau

pembanding. Komparator akan membandingkan inverting input (Vn) dan

non-inverting input (Vp). Apabila nilai Vn lebih besar daripada nilai Vp, maka

tegangan keluaran (VOUT) akan sama dengan -VSAT atau mendekati nilai

tegangan -VCC. Jika tegangan pada Vn lebih kecil daripada nilai tegangan

pada VP, maka VOUT akan mendekati nilai tegangan +VCC.

Tegangan acuan (Vreff) pada gambar 2.9 merupakan tegangan

masukan pada inverting input. Besarnya tegangan acuan harus berada

diantara tegangan masukan non-inverting yang merupakan tegangan yang

berasal dari sensor barcode. Besarnya tegangan referensi dapat dihitung

dengan persamaan :

(33)

16

2.4. Motor Stepper

Motor stepper terdiri atas magnet permanen yang berputar pada

porosnya, yang sering disebut rotor, dan elektromagnet pada bagian yang

tidak bergerak yang berada pada sekeliling motor, yang sering disebut stator.

Gambar 2.10 menunjukkan sebuah putaran penuh pada motor stepper. Pada

posisi 1, dapat dilihat bahwa rotor berada pada posisi atas, yang berarti rotor

pada bagian ini aktif (elektromagnet diberi tegangan). Untuk menggerakan

rotor searah jarum jam (clockwise), elektromagnet bagian atas

di-non-aktifkan dan elektromagnet bagian kanan didi-non-aktifkan, yang mengakibatkan

rotor bergerak 900 searah jarum jam. Rotor akan bergerak dengan sendirinya

mengikuti elektromagnet yang diaktifkan. Proses ini diulang dengan cara

yang sama pada elektromagnet bagian bawah dan kiri hingga mencapai

posisi awal.

(34)

Pada contoh di atas, digunakan “full-step” atau resolusi tunggal

dengan resolusi putaran motor adalah 900. Sedangkan pada kenyataannya,

resolusi putaran motor jauh lebih tinggi dari ini (derajat putaran per pulsa).

Sebagai contoh, untuk motor dengan resolusi 50 akan bergerak 50 per pulsa,

atau membutuhkan 75 pulsa (step) untuk berputar satu putaran penuh.

Bila motor digunakan untuk memindahkan barang, maka jarak

tempuh perpindahan dapat dituliskan dengan persamaan :

d

X = α 0 ×π

360 (2.11)

dengan X adalah jarak perpindahan (m), α adalah resolusi sudut per step, d

adalah diameter roda putar, dan π = 3.141592654

Untuk “half-step” atau resolusi ganda, pada posisi awal,

elektromagnet bagian atas akan aktif, kemudian dua elektromagnet aktif

untuk langkah ke dua. Akibat dari perbandingan kedua elektromagnet

tersebut, rotor akan berada diantaranya. Kemudian untuk putaran

selanjutnya, hanya elegtromagnet sebelah kanan yang aktif. Begitu

seterusnya hingga rotor kembali pada posisi awal. Gambar 2.11

memperlihatkan tiga pergerakan rotor pada resolusi ganda[6].

(35)

18

2.5. Penggerak Motor Stepper

Penggerak motor stepper menggunakan rangkaian digital dengan

sebuah osilator pembangkit gelombang kotak timer 555 astable seperti

terlihat pada gambar 2.7. Pergerakan per langkah motor stepper akan sama

dengan nilai frekuensi yang dibangkitkan oleh osilator tersebut. Nilai

frekuensi yang dibangkitkan oleh osilator dapat dihitung dengan persamaan

(2.4). Keluaran dari osilator akan mengendalikan IC bidirectional 4-bit shift

register yang kemudian dikonversikan untuk mengendalikan IC penggerak

motor stepper unipolar. Keluaran dari osilator juga mengendalikan IC

flip-flop dual ‘D’ tipe positive-edge-triggered yang akan mengendalikan saklar

pergerakan motor (CW atau CCW) pada IC bidirectional 4-bit shift

register[8].

Gambar 2.12 menunjukkan gelombang keluaran dari osilator dan

keluaran dari IC bidirectional 4-bit shift register. THigh gelombang IC

bidirectional 4-bit shift register sama dengan 1 gelombang penuh keluaran

(36)

Gambar 2.12. Gelombang dasar pergerakan pulsa motor stepper [8]

2.6. Penampil LCD 2 X 6 Karakter

LCD (Liquid Crystal Display) adalah suatu tampilan (display)

dari bahan cairan kristal yang dioperasikan dengan menggunakan sistem dot

matriks. Pada perancangan alat ini digunakan Display LCD 2 × 16 karakter

seperti terlihat pada gambar 2.13, yang artinya LCD ini memiliki 2 baris dan

16 kolom karakter. Sehingga jumlah total karakter yang dapat ditampilkan

sekaligus adalah sebanyak 32 karakter. Masing-masing karakter tersebut

(37)

20

LCD menggunakan sistem pengiriman data 8-bit dan diperlukan

10 jalur data untuk berhubungan dengan sistem mikrokontroler AT89S51.

Kesepuluh jalur data tersebut adalah :

1. Delapan jalur data untuk mengirimkan data instruksi dan data karakter

yang akan ditampilkan. Kedelapan jalur tersebut secara berurutan yaitu

kaki 7 (DB0), kaki 8 (DB1), kaki 9 (DB2), kaki 10 (DB3), kaki 11

(DB4), kaki 12 (DB5), kaki 13 (DB6), kaki 14 (DB7).

2. Dua jalur lainnya adalah kaki 4 (RS/Register select), dan kaki 6

(E/Enable).

LCD yang digunakan adalah LCD yang memiliki 16 pin, seperti

(38)

Tabel 2. 2. Tampilan LCD

Nomor Pin Simbol Nomor Pin Simbol

1 VEE (0V) 9 DB2

2 VCC (5V) 10 DB3

3 GND (0V) 11 DB4

4 RS 12 DB5

5 R/W 13 DB6

6 E 14 DB7

7 DB0 15 A

8 DB1 16 K

Deskripsi pin:

1. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan

kode ASCII maupun perintah pengatur kerja LCD.

2. RS (register select), merupakan pin yang dipakai untuk membedakan

jenis data yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang

dikirim adalah perintah untuk mengatur kerja LCD. Jika RS berlogika

‘1’, maka data yang dikirim adalah kode ASCII yang ditampilkan.

3. R/W (read/write), merupakan pin yang digunakan untuk mengaktifkan

pengiriman dan pengambilan data ke dan dari LCD. Jika R/W berlogika

‘0’, maka akan diadakan pengiriman data ke LCD. Jika R/W berlogika

‘1’, maka akan diadakan pengambilan data dari LCD.

4. E (enable), merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’

ke ‘0’, maka data di DB0 s/d DB7 akan diterima atau diambil dari port

mikrokontroler.

5. A (anoda) dan K (katoda), merupakan pin yang digunakan untuk

(39)

22

2.7. Mikrokontroler AT89S51

Mikrontroler AT89S51 merupakan salah satu keluarga dari MCS-51

keluaran Atmel. Jenis mikrokontroler ini pada prinsipnya dapat digunakan

unutuk mengolah data per bit maupun data 8 bit secara bersamaan. Gambar

2.14 menunjukkan susunan kaki dari mikrokontroler AT89S51. Beberapa

fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut :

ƒ Sebuah Central Processing Unit 8 bit.

ƒ Osilator internal dan rangkaian pewaktu.

ƒ RAM internal 128 x 8 bit.

ƒ Flash memori 4 Kbyte.

ƒ Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga

buah interupsi internal).

ƒ Empat buah programable port I/O yang masing-masing terdiri

dari delapan buah jalur I/O.

ƒ Sebuah serialport dengan kontrol serial full duplex UART.

ƒ Kemampuan unutuk melaksanakan operasi aritmatika dan

operasi logika.

ƒ Kecepatan dalam melaksanakan instruksi per siklus 1,1

(40)

Gambar.2.14 Konfigurasi pin AT89S51

Penjelasan beberapa pin mikrokontroler adalah sebagai berikut :

ƒ Port 0 merupakan port paralel 8 bit dua arah. Posisi Low

Significant Bit (LSB) terletak pada pin 39 dan Most Significant

Bit (MSB) terletak pada pin 32.

ƒ Port 1 merupakan port paralel 8 bit dua arah. Posisi (LSB)

terletak pada pin 1 dan (MSB) terletak pada pin 8.

ƒ Port 2 merupakan port paralel 8 bit dua arah. Port ini megirim

byte alamat-alamat bila dilakukan pengaksesan memori

eksternal. LSB terletak pada pin 21 dan MSB pada pin 28.

ƒ Port 3 merupakan port paralel 8 bit dua arah. Posisi (LSB)

terletak pada pin 10 dan (MSB) terletak pada pin 17. Port ini

mempunyai beberapa fungsi khusus yang ditunjukkan pada

(41)

24

Tabel. 2.3 Fungsi pin pada port 3

Pin-pin pada port 3 Fungsi Pengganti P3.0 RxD (Portinput serial)

P3.1 TxD (Portoutputserial)

P3.2 INT0 (Interrupt eksternal 0)

P3.3 INT1 (Interrupt eksternal 1)

P3.4 T0 (Input Eksternal timer 0)

P3.5 T1 (Input Eksternal timer 1)

P3.6 WR (Perintah write pada memori eksternal)

P3.7 RD (Perintah read pada memori eksternal)

Dalam perancangan ini, register kontrol yang dipakai antara lain :

¾ IE (Interupt Eneble)

Register IE digunakan untuk mengaktifkan atau menonaktifkan

sarana interupsi. IE.0 sampai IE.6 mengatur masing-masing sumber

interupsi, sedangkan IE.7 mengatur interupsi secara keseluruhan. Jika

IE.7 bernilai 0, maka sistem interupsi akan menjadi non-aktif atau

keadaan IE.0 sampai IE.6 tidak diperhatikan.

¾ TMOD (Timer Mode)

Register TMOD digunakan untuk mengatur mode kerja timer 0

dan timer 1. Timer digunakan untuk menentukan besarnya baudrate

(42)

¾ TCON (Timer Control)

Register TCON digunakan untuk memulai atau menghentikan

proses pencacah timer, mengatur sinyal interupsi dari INT0 atau

INT1, serta memantau apakah ada sinyal yang masuk ke INT0 atau

INT1.

¾ SCON (Serial Control)

Register SCON digunakan untuk mengatur perilaku dari UART

yang diantaranya adalah memantau proses pengiriman dan

penerimaan data seri.

2.7.1. Osilator Mikrokontroler

Rangkaian osilator adalah rangkaian pembangkit frrekuensi untuk

menentukan besarnya waktu untuk tiap siklus pada mikrokontroler. Waktu

yang dibutuhkan untuk tiap siklus dapat dicari dengan persamaan :

osc Cycle

f

(43)

BAB III

PERANCANGAN DAN IMPLEMENTASI

3.1 Diagram Blok Pembaca Barcode (Barcode Reader) Diagram blok keseluruhan dari barcode reader adalah :

Sensor Barcode reader

Pengondisi sinyal

Mikrokontoler AT89S51

Penampil (LCD)

Kartu

Gambar 3.1. Diagram blok barcode reader

3.2 Kartu Barcode

Barcode dibuat menggunakan Corel Draw 11, dengan font 3 of 9 versi

normal dan full ASCII. Barcode di cetak menggunakan kertas foto glosy untuk

mendapatkan hasil yang baik, kemudian ditempelkan pada bekas kartu perdana

sim telepon seluler dengan ukuran tertentu seperti pada gambar 3.2, agar dapat

dibaca oleh barcode reader dengan baik.

barcode

Penggerak motor stepper

Motor Stepper

(44)

Gambar 3.2. kartu yang memiliki barcode

Bekas kartu perdana sim telpon

Barcode yang ditempelkan

3.3 Sensor Barcode Reader 3.3.1. LED Super Bright

Sensor barcode reader terdiri dari LED super bright dan photo diode

seperti terlihat pada gambar 3.3. Karakteristik dari LED super bright tersebut

mirip dengan LED biasa, hanya saja arus maju maksimum (ID) pada LED super

bright lebih besar dari LED biasa dan intensitas cahaya yang dihasilkan lebih

kuat. Arus maju (ID) berkisar antara 10 – 20mA, dan tegangan maju (VD)berkisar

antara 1.6 – 2 Volt. Nilai ID dan VD berdasarkan karakteristik LED pada

umumnya, karena data dari LED tidak diketahui. Pada perancangan, digunakan ID

= 10mA dan VD = 1.7 Volt dengan VCC = 5 Volt. Untuk membatasi besarnya ID

digunakan hambatan (R2)

Untuk mendapatkan nilai hambatan yang diinginkan, sesuai dengan

persamaan (2.5), didapat :

3 2

10 10

7 , 1 5

× − =

R

Ω =330 2

(45)

28

3.3.2. Frekuensi Pemodulasi

Frekuensi yang dibangkitkan oleh timer 555 asstable merupkaan frekuensi

pemodulasi LED super bright. Frekuensi modulasi harus mampu menghasilkan

pencahayaan yang cukup pada LED super bright, sehingga kartu barcode mampu

memantulkan cahaya. Pada perancangan ini, penulis menggunakan frekuensi 105

kHz, dengan acuan bahwa frekuensi tersebut sudah mampu menghasilkan

pencahayaan yang cukup pada LED super bright. Dari persamaan (2.4), frekuensi

tersebut didapat dengan:

(

)

3.3.3. Photo Diode

Photo diode merupakan penerima cahaya yang dipantulkan oleh kartu

barcode. Perubahan nilai tahanan pada photo diode terjadi ketika intensitas

cahaya yang diterima berubah. Perubahan tahanan pada photo diode akan

mempengaruhi besarnya tegangan yang keluar dari kaki kolektor transistor.

Rangkaian photo diode dan transistor ditunjukkan pada gambar 3.3.

(46)

Untuk nilai β = 75, VBE = 0.6 (data sheet 2N2222A) nilai R photo diode

saat terkena cahaya = 30 kΩ dan saat tidak terkena cahaya = 50 kΩ. Nilai R photo

diode berdasarkan hasil pengukuran dengan kapasitas cahaya pada siang hari di

dalam ruangan. Dengan persamaan (2.6), bila nilai VBE tetap, maka nilai VCE

tergantung dengan nilai IBRB. Sedangkan nilai IB pada persamaan (2.1), bila VBE

dan VCC tetap, tergantung dari penjumlahan RD2 dan βR1. Sehingga untuk

mendapatkan perubahan nilai IB yang besar yang berbanding lurus dengan

perubahan nilai RD2, dibutuhkan nilai R1 yang jauh lebih kecil terhadap nilai RD2.

Dalam perancangan ini, penulis menggunakan nilai R1 = 330 Ohm, sehingga:

• Nilai VCE saat cahaya memantul

• Nilai VCE saat cahaya tidak memantul

(47)

30

Keluaran dari kaki collector pada barcode reader difungsikan sebagai

masukan non-inverting op-amp, sedangkan masukan inverting menjadi tegangan

acuan yang besarnya diatur oleh pembagi tegangan sehingga berada di antara

selisih tegangan yang terjadi.

3.4 Pengkondisi Sinyal

Pengkondisi sinyal menggunakan rangkaian Op-Amp sebagai pembanding

tegangan seperti terlihat pada gambar 3.5, dengan tegangan acuan seperti gambar

3.4. sebagai pembandingnya. Dari persamaan (2.10), untuk menghasilkan

tegangan acuan 3.3 Volt dengan VCC = 5 Volt dan R1 = 1 kΩ, maka besar nilai R2:

karena nilai 1.94 kOhm untuk R2 tidak ada di pasaran, digunakan nilai yang

(48)

OUT

R2

VCC

R1

Gambar.3.4. Rangkaian pembagi tegangan

Op-amp yang dipakai adalah op-amp jenis singgle suplay dengan Vcc = 5

Volt dan Vee dihubungkan ke ground, sehingga Vout Op-Amp berkisar antara 0 -

5V (level TTL) yang menjadi masukan untuk mikrokontroler AT89S51.

R1

OUT Input

VCC

R2 +

-LM324

3

2

1

4

11

Gambar.3.5. Rangkaian pembanding pada Op-Amp

3.5 Motor Stepper

Motor stepper yang digunakan adalah jenis unipolar 4 kabel, dengan sudut

3.750 per step. Motor stepper digunakan untuk menggerakan kartu barcode

sehingga kartu melewati sensor barcode reader untuk dibaca. Untuk mendapatkan

(49)

32

digunakan roda yang kecil, sehingga satu step motor tidak melebihi lebar 1 bar

atau space sempit barcode.

Pada perancangan ini, penulis menggunakan roda dengan diameter = 10.5

mm. Dari persamaan (2.11), didapat jarak perpindahan kartu untuk tiap step

sejauh:

dengan X adalah jarak perpindahan per step

Dengan batasan lebar 1 bar atau space sempit = 0.587 mm dan 1 bar atau

space lebar = 1.446 mm, maka X = 0.344 mm masih memenuhi syarat, sehingga

roda dapat digunakan.

Dari persamaan (2.4) dengan nilai R1 = 300 Ohm dan R2 = 1 kOhm, dan C

membutuhkan waktu :

F = 627 Hz = 627 step per detik

1 step = 1.59 m detik

sehingga,

(50)

1 bar atau space sempit = 344 . 0

587 . 0

step = 1.71 step

maka,

1 bar atau space sempit = 1.71 x (1.59 x 10-3) = 2.71 m detik

sedangkan untuk 1 bar atau space lebar adalah:

step

step 4.2

344 . 0

446 .

1 =

sehingga,

waktu yang dibutuhkan = 4.2 x (1.59 x 10-3) = 6.68 m detik

Nilai frekuensi osilator ditentukan dengan mengacu pada kekuatan motor

stepper untuk mampu memberikan torsi yang cukup guna menarik kartu dengan

kecepatan yang maksimum. Karena data dari motor stepper tidak penulis

dapatkan, nilai torsi dan kecepatan maksimum didapat atas dasar percobaan.

3.6 Penggerak Motor Stepper

Motor stepper membutuhkan rangkaian penggerak tersendiri agar motor

tidak terbebani (arus motor konstan) saat mikrokontroler melakukan proses

pembacaan. Mikrokontroler hanya melakukan pensaklaran (switching) untuk

menentukan arah putaran, mengaktifkan dan menghentikan putaran motor,

sehingga arus yang mengalir pada motor konstan dan gerakan motor juga konstan.

Jika saklar 1 (S0) aktif, maka motor bergerak searah jarum jam dan jika saklar 2

(S1) aktif, maka motor bergerak berlawanan arah dengan jarum jam. Jika kedua

(51)

34

rangkaian penggerak putaran motor stepper dengan urutan sistem kerja

ditunjukkan oleh gambar 3.7.

R22

Vcc 20 Volt

R17 470

Gambar 3.6. Rangkaian penggerak motor stepper

Osilator Konverter Driver Stepper

Switching

Motor Stepper

Gambar 3.7. Digram blok penggerak motor stepper

• Osilator

Osilator yang digunakan adalah timer 555 astable seperti terlihat pada

gambar 2.7 untuk menghasilkan frekuensi dengan nilai frekuensi sama

dengan jumlah step per detik. Besarnya nilai frekuensi dapat dicari

(52)

• Pensaklaran (Switching)

Digunakan untuk mengendalikan arah putaran motor. Switching atau

pensaklaran dilakukan oleh Mikrokontroler.

Konverter

Mengubah pulsa (gelombang kotak) yang dihasilkan oleh osilator

menjadi betuk gelombang kotak dasar untuk menggerakan driver motor

stepper seperti terlihat pada gambar 2.13. Pergeseran pulsa keluaran (CW

atau CCW) dari konverter tergantung dari pensaklaran yang dilakukan

oleh mikrokontroler.

• Penggerak (Driver) Motor Stepper

Driver motor stepper adalah IC dengan darlington arus tinggi

(darlington high current) dan penggerak tegangan tinggi (high voltage

pheriperal driver) yang mampu menanganani arus hingga 500 mA dan

tegangan hingga 50 Volt.[8]

3.7 Penampil LCD

LCD (Liquid Cristal Display) digunakan untuk menampilkan karakter

pada barcode yang terbaca oleh barcode reader. LCD yang digunakan memiliki 2

baris dengan kemampuan menampilkan 16 karakter tiap baris. Baris pertama

digunakan untuk menampilkan kata – kata yang penulis buat, sedangkan baris

kedua digunakan untuk menampilkan karakter barcode yang terbaca. Gambar 3.8

(53)

36

Karakter yang ditampilkan dimulai dari sisi sebelah kiri agar dapat terbaca

dengan mudah oleh pengguna. LCD dapat menampilkan semua karakter ASCII

dan simbol, dan dapat menerima karakter ASCII langsung tanpa perlu

dikonversikan, sehingga data yang dikirim oleh mikrokontroler adalah data berupa

karakter ASCII.

KATA – KATA DARI PENULIS

KARAKTER BARCODE

Gambar 3.8. Tampilan pada LCD 2 x 16 karakter

VCC

LCD 2x16 Karakter

1 2

Gambar 3.9. Rangkaian LCD pada Mikrokontroler

3.8 Mikrokontroler AT89S51

Mikrokontroler AT89S51 digunakan sebagai pengambil data dari user dan

mengolah data sementara. Data yang diambil kemudian dikonversikan menjadi

data ASCII yang kemudian disimpan pada memori internal sebelum dikirim

(54)

Pada tabel 3.1. dapat dilihat penggunaan portport pada mikrokontroler

pada perancangan barcode reader.

Tabel 3.1. Penggunaan portport pada mikrokontroler

No Nama Port Keterangan

1 Port 0.0 Masukan sensor barcode reader 2 Port 1.0 – port 1.7 Keluaran pada LCD

3 Port 2.0 – port 2.1 Switching motor stepper

4 Port 2.5 – port 2.7 Perencanaan tampilan LED untuk pilihan tampilan LCD atau Komputer (optional) 5 Port 3.0 – port 3.1 Komunikasi serial RS 232 (optional)

6 Port 3.3 – port 3.5 Switching pilihan tampilan LCD atau komputer (optional)

7 Port 3.6 – port 3.7 RS dan E LCD

Optional pada penggunaan port digunakan untuk perancangan selanjutnya

bila diperlukan. Komunikasi yang dirancang sebagai optional dengan device lain

adalah komunikasi serial RS 232.

3.8.1 Oscillator Mikrokontroler AT89S51

Rangkaian osilator menggunakan crystal quartz dengan frekuensi 11.0592

MHz dan kapasitor keramik C1 = C2 = 30pF (datasheet AT89S51, oscillator

characteristic). Gambar 3.10. memperlihatkan rangkaian osilator mikrokontroler

(55)

38

Gambar 3.10. Rangkaian osilator mikrokontroler AT89S51

Dengan menggunakan persamaan (2.12), besarnya clock untuk tiap cycle

pada instruksi mikrokontroler AT89S51 adalah :

S f

T

osc

Cycle 1.1μ

0592 . 11

12

12 = =

=

3.8.2 Data Masukan Mikrokontroler AT89S51

Data masukan yang berupa pulsa dari Op-Amp yang berasal dari logika

barcode dimasukkan melalui port 0.0 seperti terlihat pada gambar 3.11, dengan

logika 1 untuk bar atau space lebar dan logika 0 untuk bar atau sapce sempit.

Data tersebut diolah per bit yang kemudian dikonversikan menjadi data ASCII

sebagai data yang dikirimkan ke LCD.

AT89S51

20 40 39

GND VCC P0.0/AD0

Op-Amp

VCC

(56)

3.8.3 Pensaklaran (Switching) oleh Mikrokontroler

Untuk mengendalikan putaran motor (berhenti, CCW, dan CW),

mikrokontroler membutuhkan 2 port, yaitu port 2.1 dan port 2.0. Gambar 3.12

memperlihatkan rangkaian pensaklaran yang dilakukan oleh mikrokontroler.

Pensaklaran ini menggunakan logika rendah, atau dengan kata lain, salah satu

saklar akan aktif bila logika pada salah satu port (port 2.1 atau 2.0) berlogika 0,

dan saklar akan tidak aktif bila logika pada port adalah 1. Saat port 2.0 berlogika

0 dan port 2.1 berlogika 1 (saklar 1 aktif, saklar 2 tidak aktif), motor akan

bergerak berlawanan arah dengan jarum jam (CCW). Saat logika pada port 2.1

adalah logika 0 dan port 2.0 berlogika 1 (saklar 2 aktif, saklar 1 tidak aktif), motor

akan bergerak searah jarum jam (CW). Motor akan berhenti bila port 2.0 dan port

2.1 memiliki logika yang sama (kedua saklar aktif atau kedua saklar tidak aktif)

Saklar 1 (S0)

Saklar 2 (S1) VCC

AT89S51

20

40 21

22 GND

VCC P2.0/A8

P2.1/A9

Gambar 3.12. Rangkaian pensaklaran oleh mikrokontroler

3.8.4 Diagram Alir dan Algoritma Keseluruhan Sistem Kerja

Secara garis besar, keseluruhan dari sistem kerja barcode reader adalah

membedakan ketebalan dari tiap bar atau space dari barcode. Bar atau space tebal

dibaca sebagai logika satu dan yang tipis dibaca sebagai logika 0. Kartu barcode

(57)

40

barcode dan dikonversikan menjadi logika digital. Dalam perancangan ini, motor

stepper digerakkan oleh sebuah penggarak tersendiri, sehingga mikrokontroler

hanya mengendalikan kapan saat motor berputar atau berhenti serta

mengendalikan arah putarannya. Berikut adalah algoritma dari sistem kerja

barcode reader.

• Mulai

• Inisialisasi memori, timer dan port yang akan digunakan

• Mengatur (setting) penampil LCD

• Menampilkan pesan pembuka pada LCD

• Menunggu adanya kartu barcode dimasukkan

• Mengaktifkan motor stepper untuk menarik kartu agar melewati sensor

barcode reader

• Pengecekan apakah posisi kartu benar atau tidak sebanyak 2 kali

pengecekan

o Mengeluarkan kartu bila kartu salah o Kembali ke awal program (mulai)

• Mengambil data dari sensor pembaca barcode

• Mengubah data yang telah diambil ke dalam bentuk ASCII

• Mengeluarkan kartu barcode

• Mengirim (menampilkan) data yang telah dikonversikan pada LCD

(58)

Dari algoritma di atas, dapat dibuat diagram alir (flow chart) seperti pada

gambar 3.13.

MULAI

INISIALISASI MEMORI, TIMER

DAN PORT

SETTING LCD

TAMPILAN PESAN PEMBUKA

ADA KARTU ?

AKTIFKAN MOTOR STEPPER SEARAH JARUM

JAM (S0ON;S1OFF)

CEK POSISI KARTU SEBANYAK 2 KALI

POSISI KARTU BENAR ?

PANGGIL SUBROUTIN AMBIL DATA

PANGGIL SUBROUTIN KONVERSI DATA MENJADI KARAKTER

ASCII

TAMPILKAN KARAKTER PADA

LCD AKTIFKAN MOTOR

STEPPER BERLAWANAN ARAH JARUM JAM (S0OFF;

S1ON)

TUNGGU TIDAK

(59)

42

3.8.5 Diagram Alir dan Algoritma Subroutine Pengambilan Data

Pada proses pengambilan data, mikrokontroler memeriksa warna (hitam

atau putih) barcode, kemudian memeriksa ketebalan barcode. Hal ini dilakukan

karena logika 1 atau 0 ditentukan dari tebal tipisnya barcode. Setelah satu bar

atau space selesai di periksa, kemudian dilanjutkan dengan pemeriksaan

berikutnya hingga satu karakter selesai diperiksa ( 5 bar dan 4 space). Kemudian

dilakukan pengecekan apakah ada karakter berikutnya. Bila ada, pengecekan

dilakukan seperti pada pengecekan karakter sebelumnya, bila tidak ada, program

akan keluar dari subroutine pengambilan data dan kembali ke program utama.

Algoritma pengambilan data:

• Pemeriksaan warna hitam atau putih

• Apakah satu karakter selesai diperiksa

• Pemeriksaan ketebalan (bar atau space)

o Bar atau space tipis dikonversi menjadi logika 0 o Bar atau space tebal dikonversi menjadi logika 1 • Apakah satu karakter selesai diperiksa (5 bar dan 4 space)

o Bila belum selesai, program dilanjutkan memeriksa bar atau space selanjutnya hingga satu karakter selesai seperti pemeriksaan

sebelumnya

• Simpan data yang telah diambil dalam memori internal

• Apakah semua karakter selesai diperiksa

o Bila belum selesai, ulangi pemeriksaan karakter

(60)

Dari algoritma diatas, maka dapat dibuat diagram alir (flow chart) dari

pengambilan data seperti pada gambar 3.14.

gambar 3.14. Diagram alir proses pengambilan data barcode

Pengambilan data karakter ada barcode dilakukan dengan sistem

scanning. Dalam hal ini, kartu barcode akan bergerak di atas sensor pembaca

barcode, sensor akan membaca perbedaan warna barcode (hitam dan putih),

kemudian akan melakukan pemeriksaan ketebalan dengan sistem penundaan yang

disesuaikan dengan kecepatan putaran motor stepper. Besarnya nilai penundaan

ditentukan berdasarkan waktu yang ditempuh oleh motor untuk membaca bar atau

(61)

44

perbedaan ketebalan. Berikut contoh listing program untuk pengambilan data

barcode.

putar:

jnb p0.0,nol

acall tunda_m

djnz r5,putar

mov r5,#20

dec r2

setb bit2

mov c,bit2

rrc a

kel:

jnb p0.0,cek

acall tunda_m

djnz r5,kel

sjmp sls

nol:

dec r2

clr bit2

rrc a

sjmp cek

Sistem tunda dilakukan dengan memanfaatkan timer1 yang merupakan

fasilitas dari mikrokontroler AT89S51. Perhitungan besarnya tunda dapat

dilakukan dengan mudah karena satu siklus mikrokontroler sama dengan 1.1 µS.

Misalnya untuk penundaan 2 mS, berarti dibutuhkan 2000/1.1 siklus atau sama

dengan 1818, sehingga timer dapat di isi dengan -1818 atau F8E6 hex. Berikut

contoh listing program untuk proses penundaan selama 2 mS.

tunda_m:

mov th0,#high -1818

mov tl0,#low -1818

tunggu_m:

jnb tf0,$

clr tf0

clr tr0

(62)

3.8.6 Diagram Alir dan Algoritma Subroutine Konversi Data

Proses konversi data merupakan proses pengubahan data dari bentuk

hexadesimal menjadi karakter ASCII sehingga proses pengiriman ke LCD dapat

dilakukan dengan mudah. Data hexadesimal merupakan data hasil pembacaan

karkter barcode. Proses konversi dilakukan dengan membandingkan data

hexadesimal yang terbaca oleh alat dengan karakter ASCII yang sebelumnya telah

disimpan di dalam lookup table. Pembandingan data tersebut disesuaikan dengan

tabel standar carácter barcote kode 39 seperti terlihat pada tabel 2.1. Konversi

dilakukan karena LCD mampu menerima karakter ASCII secara langsung.

Gambar 3.15 menunjukkan diagram alir proses konversi data menjadi data ASCII.

Algoritma dari proses pengubahan data tersebut adalah :

• Pengambilan karakter ASCII pada lookup table

• Pemeriksaan apakah data yang telah diambil sama dengan tabel

barcode yang telah dibuat

o Bila tidak ada, program akan menyimpan karakter salah untuk

dikirimkan ke LCD

• Tunjuk karakter ASCII yang sesuai dengan tabel barcode

• Simpan karakter ASCII yang sudah dibandingkan untuk dikirimkan ke

LCD

• Pemeriksaan apakah semua data yang ada sudah di konversi ke bentuk

karakter ASCII

o Bila belum, lakukan pembandingan seperti data sebelumnya

(63)

46

MULAI

SIMPAN ALAMAT

LOOKUP TABLE KE REGISTER 16 BIT

PERIKSA DATA

SUDAH SELESAI ? TUNJUK DAN SIMPAN

KARAKTER ASCII DALAM MEMORI 8 BIT

PERIKSA SEMUA DATA SUDAH DI KONVERSI ADA DALAM TABEL ?

SIMPAN KARAKTER SALAH DALAM MEMORI 8 BIT YA

TIDAK

NAIKAN ALAMAT MEMORI 16 BIT (+1)

TIDAK

RET YA

(64)

Bab ini akan membahas hasil atau informasi dari data yang telah diambil

dan pembahasan yang menyatakan bahwa alat yang telah dirancang bekerja

dengan baik. Gambar 4.1 memperlihatkan bentuk fisik dari alat yang telah

dirancang.

Dari hasil dan pembahasan diharapkan dapat mengetahui kelemahan dan

kekurangan yang masih terdapat pada alat ini, sehingga alat yang telah dirancang

dapat lebih disempurnakan untuk tujuan dan pemanfaatan secara riil.

Gambar 4.1. Bentuk fisik alat dilihat dari atas tanpa penutup

(65)

48

4.1. Pengamatan Dari Alat

Pengamatan yang dilakukan barupa perbandingan pembacaan barcode

antara bacode reader yang dirancang sendiri, dengan barcode reader seperti pada

gambar 4.2, yang memiliki merek dagang PromptScanTM. Pembaca barcode

PrompScanTM adalah pembaca yang digunakan pada perpustakaan Universitas

Sanata Dharma kampus III. Pengamatan juga dilakukan pada ketelitiaan alat

dalam membaca barcode yang sudah ditempelkan pada bekas kartu perdana (sim

card) telepon seluler seperti pada gamba 4.3.

Gambar 4.2. Barcode reader PromptScanTM

Gambar 4.3. Barcode yang ditempelkan pada bekas kartu perdana

(66)

4.1.1. Kartu barcode

Kartu barcode yang digunakan adalah kartu bekas sim card telepon seluler

yang ditempeli dengan kertas foto glossy sebagai tempat barcode dan amplas

yang digunakan untuk media penarikan kartu oleh roda pada motor. Spesifikasi

dari kartu dapat dilihat pada gambar 4.4.

Gambar 4.4. Spesifikasi dan logika yang diberikan oleh barcode.

Batas awal dan batas akhir pada kartu digunakan untuk mengetahui kapan

barcode mulai dibaca dan kapan pembacaan harus diakhiri. Lebar batas awal dan

batas akhir minimal adalah 3 kali lebar bar atau space tebal pada barcode yang

digunakan.

4.1.2. Ketelitian Barcode Reader

Dari hasil percobaan yang telah dilakukan, barcode reader mampu

membaca 11 karakter pada kartu dengan panjang keseluruhan barcode adalah 70

(67)

50

dengan panjang keseluruhan barcode adalah 70 mm (ukuran 1 bar dan space tipis

= 0.65 mm). Nilai pengukuran ketebalan barcode dilakukan pada software Corel

Draw®, dengan acuan bahwa pelebaran tinta dan efek eksternal lainnya diabaikan

sehingga ukuran tersebut dianggap sama dengan ukuran saat di cetak. Pada

gambar 4.9 dapat dilihat bagian sensor pembaca barcode yang terletak di bagian

bawah dari alat barcode reader.

Pembaca barcode

LED super bright

Photo diode

Gambar 4.9. Peletakan sensor pembaca barcode.

4.1.3. Proses Pembacaan Barcode

Dalam proses pembacaan, mikrokontroler menggunakan penundaan

berulang sebanyak 20 kali, dengan waktu tunda untuk satu kali pengulangan

adalah 1.456 m detik. bit 1 dari bar atau space diambil bila selama 20 kali

perulangan sensor tetap membaca warna yang sama. bit 0 dari bar atau space

diambil bila dalam 20 kali perulangan sensor membaca warna yang berbeda.

Pembacaan berulang ini akan dilakukan sebanyak 10 kali dengan proses yang

(68)

ditambah 1 space untuk jarak tiap karakter. Nilai tunda maksimum (pembacaan

logika 1) dalam perulangan adalah (1.456 x 10-3) x 20 = 29.21 m detik.

Untuk pembacaan karakter berikutnya, mikrokontroler menganggap space

antar karakter sebagai bit 0. Bila yang terbaca adalah bit 1, maka mikrokontroler

menganggap bahwa semua karakter telah terbaca dan akan mengkonversikan data

hasil pembacaan dalam bentuk ASCII sebelum ditampilkan pada LCD.

4.2. Data Pengamatan

4.2.1. Data Pengamatan Perangkat Keras

¾ Tegangan keluaran dari transistor

Pada perancangan alat ini, digunakan transistor 2N2222A yang

dirangkai dengan sensor seperti terlihat pada gambar 2.6. Nilai

tegangan keluaran pada kaki kolektor transistor adalah:

• Saat sensor membaca warna putih = 3.57 – 4.50 Volt

• Saat sensor membaca warna hitam = 4.52 – 4.74 Volt

Tegangan keluaran dari transistor akan menjadi tegangan masukan

pada rangkaian pembading tegangan seperti terlihat pada gambar 3.5.

¾ Tegangan keluaran dari pembagi tegangan

Keluaran tegangan dari rangkaian pembagi tegangan seperti yang

ditunjukkan pada gambar 3.4 adalah 4.51 ± 0.03 Volt. Tegangan

keluaran dari pembagi tegangan akan menjadi tegangan referensi pada

(69)

52

4.2.2. Data Pengamatan Pembacaan barcode A. Kesalahan Pembacaan barcode

Dari percobaan yang dilakukan, terdapat karakter yang salah pada

tampilan LCD yang menyatakan bahwa barcode tidak terbaca dengan benar.

Kesalahan pembacaan dengan menampilkan karakter yang berbeda (bukan

karakter salah) dengan karakter yang tertulis pada kartu barcode, dianggap benar.

Contohnya, karakter pada kartu adalah karakter 5, tapi barcode reader membaca

atau menampilkan karakter pada LCD adalah karakter 1. Hal ini dilakukan karena

barcode reader dianggap mampu membaca karakter pada kartu barcode.Karakter

salah yang muncul adalah karakter @ seperti terlihat pada gambar 4.11.

Gambar 4.10. tampilan karakter salah pada LCD

Dengan membandingkan antara jumlah pembacaan dan kesalahan dalam

pembacaan, dapat dilihat persentase kesalahan rata – rata dalam pembacaan.

Persentase kesalahan rata – rata dapat dirumuskan daengan persamaan berikut:

% 100 × −

=

pembacaan Jumlah

pembacaan kesalahan

Jumlah pembacaan

Jumlah error

Nilai

Nilai kesalahan dari pembacaan yang dilakukan (data percobaan pada lampiran)

(70)

a. Percobaan dengan karakter barcode yang sama

1. Untuk 8 karakter pada kartu :

Persentase kesalahan = 12,5 %

Persentase kebenaran = 87,5 %

2. Untuk 9 karakter pada kartu:

Persentase kesalahn = 10 %

Persentase kebenaran = 90 %

3. Untuk 10 karakter pada kartu:

Persentase kesalahan = 7,5 %

Pesentase kebenaran = 92,5 %

4. untuk 11 karakter pada kartu:

Persentase kesalahan = 12,5 %

Persensate kebenaran = 87,5 %

b. Percobaan dengan karakter barcode yang berbeda

1. Untuk 8 karakter pada kartu :

Persentase kesalahan = 12,5 %

Persentase kebenaran = 87,5 %

2. Untuk 9 karakter pada kartu:

Persentase kesalahn = 12,5 %

Persentase kebenaran = 87,5 %

3. Untuk 10 karakter pada kartu:

Persentase kesalahan = 7,5 %

(71)

54

4. untuk 11 karakter pada kartu:

Persentase kesalahan = 10 %

Persensate kebenaran = 90 %

Percobaan pada alat hasil perancangan dilakukan untuk satu kali

pembacaan pada setiap kartu barcode (tidak ada pengulangan pembacaan).

Percobaan menggunakan barcode dengan ukuran 1 bar atau sapce sempit = 0.442

mm dan 1 bar atau space lebar = 1.104 mm untuk 11 karakter pada kartu. Ukuran

1 bar atau sapce sempit = 0.486 mm dan 1 bar atau space lebar = 1.215 mm untuk

10 karakter pada kartu. Ukuran 1 bar atau sapce sempit = 0.578 mm dan 1 bar

atau space lebar = 1.446 mm untuk 9 karakter pada kartu dan ukuran 1 bar atau

sapce sempit = 0.65 mm dan 1 bar atau space lebar = 1.631 mm untuk 8 karakter

pada kartu. Panjang keseluruhan barcode adalah 70 mm untuk 8, 9, 10 dan 11

karakter pada kartu.

Dari percobaan pembacaan barcode tanpa pengulangan, terdapat

persentase kesalahan rata – rata :

• Untuk karakter barcode yang sama

%

• Untuk karakter barcode yang bebeda

%

Dari data tersebut dapat dinyatakan bahwa pembaca barcode hasil

(72)

Kesalahan pada proses pembacaan dapat disebabkan antara lain oleh:

1. Nilai tegangan keluaran maksimum transistor (keluaran sensor pembaca

barcode) pada saat membaca space (warna putih) memiliki selisih yang

relatif kecil dengan nilai tegangan keluaran minimum transistor saat

membaca bar (warna hitam), yaitu ± 0.02 Volt. Sedangkan nilai tegangan

keluaran pada pembagi tegangan yang merupakan acuan pada pengondisi

sinyal memiliki range ± 0.03 Volt, sehingga ada saat pengondisi sinyal

menganggap warna putih sebagai warna hitam dan ada saat tegangan

keluaran dari pengondisi sinyal merupakan tegangan ambang yang tidak

terbaca oleh mikrokontroler.

2. Selisih waktu tunda dengan waktu yang diperlukan untuk membaca 1 bar

atau space.

3. Saat mikrokontroler selesai membaca 1 bar atau space dan melakukan

proses looping (mikrokontroler tidak membaca barcode) untuk pembacaan

berikutnya, motor stepper tetap berputar sehingga kartu juga akan terus

bergerak.

B. Perbandingan Pembacan Dengan Pembaca Barcode Standar

Dari percobaan yang telah dilakukan, karakter yang dibaca oleh barcode

reader yang memiliki merek dagang PromtScanTM sama dengan hasil pembacaan

yang dilakukan oleh barcode reader yang dirancang (data hasil pembacaan pada

lampiran). Beberapa contoh hasil pembacaan barcode reader dengan merek

(73)

56

Sedangkan untuk hasil pembacaan oleh barcode reader hasil perancangan dapat

dilihat pada gambar 4.5b hingga gambar 4.8b.

(a) (b)

Karakter barcode

yang terbaca

Gambar 4.5. Barcode dengan karakter *15114037*

Karakter barcode

yang terbaca

(a) (b)

Gambar 4.6. Barcode dengan karakter *05422001*

(a) (b)

Karakter barcode

Figur

Gambar 1.1. Satu karakter dan ukuran barcode
Gambar 1 1 Satu karakter dan ukuran barcode . View in document p.20
Tabel 2.1. Karakter ASCII barcode kode 39 [2].
Tabel 2 1 Karakter ASCII barcode kode 39 2 . View in document p.26
Gambar 2.5. Barcode jenis PDF417
Gambar 2 5 Barcode jenis PDF417 . View in document p.26
Tabel 2.1. (Lanjutan) Karakter ASCII barcode kode 39 [2]
Tabel 2 1 Lanjutan Karakter ASCII barcode kode 39 2 . View in document p.27
Gambar 2.8. Rangkaian dasar LED super bright
Gambar 2 8 Rangkaian dasar LED super bright . View in document p.31
Gambar 2.10. Pergerakan motor stepper “full-step” [6]
Gambar 2 10 Pergerakan motor stepper full step 6 . View in document p.33
Gambar 2.11. Pergerakan motor stepper “half-step” [6]
Gambar 2 11 Pergerakan motor stepper half step 6 . View in document p.34
Gambar 2.12. Gelombang dasar pergerakan pulsa motor stepper [8]
Gambar 2 12 Gelombang dasar pergerakan pulsa motor stepper 8 . View in document p.36
Gambar 2.13. Display LCD 2 × 16 karakter
Gambar 2 13 Display LCD 2 16 karakter . View in document p.37
Tabel 2. 2. Tampilan LCD
Tabel 2 2 Tampilan LCD . View in document p.38
tabel 2.3.
tabel 2.3. . View in document p.40
Tabel. 2.3 Fungsi pin pada port 3
Tabel 2 3 Fungsi pin pada port 3 . View in document p.41
Gambar 3.1. Diagram blok barcode reader
Gambar 3 1 Diagram blok barcode reader . View in document p.43
Gambar 3.6. Rangkaian penggerak motor stepper
Gambar 3 6 Rangkaian penggerak motor stepper . View in document p.51
Gambar 3.8. Tampilan pada LCD 2 x 16 karakter
Gambar 3 8 Tampilan pada LCD 2 x 16 karakter . View in document p.53
Tabel 3.1. Penggunaan port – port pada mikrokontroler
Tabel 3 1 Penggunaan port port pada mikrokontroler . View in document p.54
Gambar.3.11. Rangkaian masukan ke AT89S51
Gambar 3 11 Rangkaian masukan ke AT89S51 . View in document p.55
Gambar 3.10.  Rangkaian osilator mikrokontroler AT89S51
Gambar 3 10 Rangkaian osilator mikrokontroler AT89S51 . View in document p.55
Gambar 3.12. Rangkaian pensaklaran oleh mikrokontroler
Gambar 3 12 Rangkaian pensaklaran oleh mikrokontroler . View in document p.56
gambar 3.13.
gambar 3.13. . View in document p.58
gambar 3.14. Diagram alir proses pengambilan data barcode
Diagram alir proses pengambilan data barcode. View in document p.60
gambar 3.15. Diagram alir proses konversi data menjadi karakter ASCII
Diagram alir proses konversi data menjadi karakter ASCII . View in document p.63
Gambar 4.1. Bentuk fisik alat dilihat dari atas tanpa penutup
Gambar 4 1 Bentuk fisik alat dilihat dari atas tanpa penutup . View in document p.64
Gambar 4.2. Barcode reader PromptScanTM
Gambar 4 2 Barcode reader PromptScanTM . View in document p.65
gambar 4.2, yang memiliki merek dagang PromptScanTM. Pembaca barcode
PromptScanTM Pembaca barcode . View in document p.65
Gambar 4.4. Spesifikasi dan logika yang diberikan oleh barcode.
Gambar 4 4 Spesifikasi dan logika yang diberikan oleh barcode . View in document p.66
Gambar 4.9. Peletakan sensor pembaca barcode.
Gambar 4 9 Peletakan sensor pembaca barcode . View in document p.67
Gambar 4.10. tampilan karakter salah pada LCD
Gambar 4 10 tampilan karakter salah pada LCD . View in document p.69
Gambar 4.5. Barcode dengan karakter *15114037*
Gambar 4 5 Barcode dengan karakter 15114037 . View in document p.73
Gambar 4.6. Barcode dengan karakter *05422001*
Gambar 4 6 Barcode dengan karakter 05422001 . View in document p.73

Referensi

Memperbarui...