i
PEMBACA BARCODE PADA MESIN PRESENSI
NIRKABEL
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
YOHANES SADIMAN
NIM : 055114028
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
BARCODE READER IN WIRELESS PRESENCE MACHINE
Presented as Partial Fulfillment of The Requirements To Obtain of Sarjana Teknik Degree
In Electrical Engineering Study Program
YOHANES SADIMAN
NIM : 055114028
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
v
Saya menyatakan dengan sesungguhnya bahwa yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 01 Juli 2010 Penyusun,
vi
MOTTO:
Be YOUR SELF
SUCCESS = BRILLIANT IDEAS + HARD WORK + HAVING FUN
vii
PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Yohanes Sadiman
NIM : 055114028
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
PEMBACA BARCODE PADA MESIN PRESENSI
NIRKABEL
Dengan demikian saya memberikan kepada Perpustakaan Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 01 Juli 2010 Yang Menyatakan,
viii
Saat ini sudah banyak berbagai jenis mesin presensi yang menggunakan kartu, jari (Finger) dan yang menggunakan telapak tangan (Handkey). Presensi menggunakan kode
barcode merupakan presensi yang murah karena kartu identitas dapat dibuat sendiri dengan menggunakan berbagai aplikasi yang bisa digunakannya. Mesin pembaca barcode juga biasanya sudah bisa berkomunikasi langsung dengan komputer melalui port serial dan USB. Sehingga apabila pembaca barcode lebih dari satu maka akan tidak efisien bila satu komputer hanya mengolah data satu pembaca barcode saja. Pengiriman data ke komputer dapat dilakukan secara nirkabel serta dapat berkomunikasi lebih dari satu secara bergantian dengan menggunakan modul Transceiver 2.4GHz.
Pembaca barcode dapat dibuat sendiri dengan sensor yang kita buat sendiri untuk membaca
barcode tersebut. Sensor pembaca menggunakan LED super bright sebagai pemancar cahaya dan
photo dioda sebagai penerima cahayanya. Data hasil pembacaan sensor kemudian akan diolah oleh mikrokontroler.
Pembaca barcode dengan menggunakan sensor LED super bright dan photo dioda tidak dapat berkerja. Hal ini disebabkan karena sensor tidak dapat membedakan bar dan space pada kode
ix
Nowadays there are so many kinds of presence machine that using card, fingerprint, and handkey. The presence machine which is using barcode was cheap, because we can make the identity card by our own with using various applications. The barcode reader machine can also connect with computer through port serial and USB. So that if the barcode reader is more than one hence will not efficient. The delivery of data to the computer was done with wireless and also can communicate multiple using module transceiver 2.4 GHz.
The barcode reader was made using sensor to read the barcode, and that sensor is made by our own. The reader sensor was using super bright LED as the light transmitter and photo diode as the light receiver. The output data from reading the sensor then will be processed by microcontroller.
x
Puji syukur kepada Tuhan Yang Maha Esa atas terselesaikannya penulisan karya ini. Karya ini dimaksudkan penulis untuk memenuhi salah satu syarat memperoleh gelar sarjana teknik program studi Teknik Elektro.
Penulis sadar bukan hanya kekuatan dalam diri sendiri yang menjadi penggerak tetapi banyak dukungan dari berbagai pihak sehingga penulis ingin mengucapkan terima kasih kepada :
1. Bapak dan Kakak - kakak penulis atas perhatian, kasih sayang, dukungan baik moral maupun materil, kesabaran dan ketabahan.
2. Bapak Martanto, S.T., M.T. selaku dosen pembimbing atas segala kesabaran serta kritik dan saran yang membantu penulis dalam menyelesaikan tugas akhir ini.. 3. Seluruh dosen dan staff di Tenik Elektro pada khususnya dan Fakultas Sains dan
Teknologi pada umumnya yang telah membantu penulis dalam menyelesaikan studi.
4. Temen – teman dekatku yang selalu menyemangatiku serta meberikan dorongan untuk selalu bersemangat walau kadang banyak rintangan yang selalu hadir.
5. Teman-teman Teknik Elektro, teman Kos, dan Mitra Perpustakaan atas kebersamaannya selama ini.
6. Semua pihak yang tidak dapat penulis sebutkan satu per satu yang telah membantu penulis hingga terselesaikannya tugas akhir ini.
Tak ada gading yang tak retak, penulis menyadari tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran yang membangun dari banyak pihak sangat diharapkan. Semoga karya ini dapat berguna bagi penulisan karya sejenis di masa-masa yang akan datang. Akhir kata, selamat membaca karya ini.
Yogyakarta, 01 Juli 2010
xi
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... iii
HALAMAN PERGESAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xvi
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah ...11.2 Tujuan dan Manfaat ...2
1.3 Batasan Masalah ...2
1.4 Metodologi Penelitian ...3
BAB II DASAR TEORI
2.1. Mesin Absensi ...42.2. Barcode ...4
2.2.1 Kode pada Barcode kode 39 ...5
2.3. Sensor Pembaca Data Identitas karyawan (Barcode) ...5
2.3.1 Rangkaian LED Super bright ...5
2.3.2. Rangkaian Photo dioda ...7
2.4. Rangkaian Pengkondisi Sinyal ...8
2.5. Motor Stepper ...9
xii
2.8. Mikrokontroler AT89S51 ...13
2.8.1. Osilator Mikrokontroler ...15
2.9. Komunikasi Port Serial ...16
BAB III PERANCANGAN PENELITIAN
3.1. Diagram Blok Pembaca Bacode pada Mesin Presensi Nir Kabel ...173.2. Kartu Identitas ...19
3.3. Cara Pembacaan Kartu Identitas (Pembacaan Barcode) ...20
3.4. Sensor Pembaca Barcode ...21
3.4.1. LED Super Bright ...21
3.4.2. Photo Dioda ...22
3.4.3. Pengkondisi Sinyal ...23
3.5. Sensor Pendeteksi Kartu ...24
3.6. Motor Stepper ...25
3.7. Penggerak Motor Stepper ...26
3.8. Penampil LCD ...27
3.9. Mikrokontroler AT89S51 ...27
3.9.1. Oscillator Mikrokontroler AT89S51 dan Reset ...28
3.9.2. Data Masukan Mikrokontroler AT89S51 ...29
3.9.3. Pensaklaran (Switching) Motor Stepper oleh Mikrokontroler ...29
3.10. Perancangan Perangkat Lunak ...30
3.10.1. Diagram Alir dan Algoritma Keseluruhan Sistem Kerja ...30
3.10.2. Diagram Alir dan Algoritma Subroutin Pengambilan Data ...32
3.10.3. Diagram Alir dan Algoritma Subroutin Konversi Data...33
3.10.4. Diagram Alir dan Algoritma Penampilan Data Ke LCD ...35
BAB IV ANALISA DAN PEMBAHASAN
4.1. Hasil saat Menggunakan Sensor LED Super bright dan Photo dioda ...374.1.1. Sensor Pembaca Barcode ...37
4.1.2. Mekanisme Penarikan Kartu Melewati Sensor Pembaca Barcode ... 42
4.2. Kartu Idenditas ...51
xiii
5.1. Kesimpulan ...55
5.2. Saran ...55
Daftar Pustakan ... 56
xiv
Gambar 2.1 Satu Karakter dan Ukuran Barcode ...5
Gambar 2.2. Rangkaian Dasar LED Super bright ...7
Gambar 2.3. Rangkaian Photo dioda pada Pembaca Data identitas karyawan (barcode) ....7
Gambar 2.4. Op-Amp Sebagai Pembanding ...8
Gambar 2.5. Gerakan Full Step ...10
Gambar 2.6. Gerakan Half Step ...10
Gambar 2.7. Gelombang Dasar Pengerak Pulsa Motor Stepper ...11
Gambar 2.8. Display LCD 2x16 Karakter ...12
Gambar 2.9. Konfigurasi Pin AT89S51 ...14
Gambar 2.10. Konfigurasi Pin-pin RS232 (DB9) ...17
Gambar 3.1. Blok Diagram Mesin Presensi Nirkabel ...18
Gambar 3.2. Blok Diagram Pembacaan Barcode ...19
Gambar 3.3. Mekanisme Pembacaan Barcode ...19
Gambar 3.4. Peletakan Sensor (LED Super Bright dan Photo Dioda) ...19
Gambar 3.5. Penjepit Kartu ...20
Gambar 3.6. Kartu Identitas Karyawan ...20
Gambar 3.7. Rangkaian LED Super bright ...22
Gambar 3.8. Rangkaian Photo Dioda ...23
Gambar 3.9. Rangkaian Pembagi Tegangan ...24
Gambar 3.10. Rangkaian Pembanding ...24
Gambar 3.11. Sensor Pendeteksi Kartu ...25
Gambar 3.12. Rangkaian Penggerak Motor Stepper ...26
Gambar 3.13 Rangkaian Penampil LCD ...27
Gambar 3.14. Rangkaian Oscillator dan Reset ...29
Gambar 3.15. Rangkaian Masukan Mikrokontroler AT89S51 ...30
Gambar 3.16. Flow chart sistem kerja pembaca barcode pada mesin presensi nir kabel ...31
Gambar 3.17. Flow Char Penggambilan Data ...33
Gambar 3.18. Flow Chart Proses Konversi Data Ke dalam Karakter ASCII ...34
Gambar 3.18. Flow Chart Proses Konversi Data Ke dalam Karakter ASCII ...35
Gambar 3.19. Flow Chart Proses Menampilkan data Ke LCD ...36
xv
Gambar 4.3. Output Sensor Posisi LED Super Bright dan Photo Dioda Sejajar ...39
Gambar 4.4. Kondisi LED Super Bright dan Photo Dioda Cahaya Dipantulkan ...40
Gambar 4.5. Sifat Pemantulan Cahaya Pada Bidang Datar ...40
Gambar 4.6. Output Sensor Posisi LED Super Bright dan Photo Dioda Kondisi Cahaya Dipantulkan ...41
Gambar 4.7. Perubahan Level Tegangan Saat Terkena Garis Hitam Dan Putih ...41
Gambar 4.8. Mekanik Penarikan Kartu ...43
Gambar 4.9. Kartu Identitas Karyawan ...51
Gambar 4.10. Kondisi Kartu Belum Dimasukkan ...52
Gambar 4.11. Kondisi Ketika Mendeteksi Adanya Kartu ... 52
Gambar 4.12. Saat Kondisi Sensor Aktif ... 53
Gambar 4.13. Id barcode Sama Denagan Id yang Tersimpan pada Memori Internal ... 53
Gambar 4.14. Kondisi Pembacaan Barcode Gagal ... 54
Gambar 4.15. Kondisi Sensor Depan Aktif dan Sensor Pendeteksi Kartu Aktif ... 54
xvi
Halaman
Tabel 2.1 Karakteristik ASCII Barcode Kode 39 ...6
Tabel 2.2. Motor Stepper dengan Gerakan Full Step ...10
Tabel 2.3. Motor Stepper dengan Gerakan Half Step ...11
Tabel 2.4 Tampilan LCD ...13
Tabel. 2.5. Funsi Pin pada Port 3 ...15
Tabel 3.1. Penggunaan port-port pada mikrokontroler AT89S51 ...22
Tabel 4.1. Tabel Pengambilan Data Sensor pada kondisi sejajar ...39
1
PENDAHULUAN
1.1.Latar Belakang Masalah
Pada saat ini, banyak cara untuk mencatat daftar kehadiran karyawan ataupun untuk presensi. Saat sudah banyak berkembang banyak alat bantu untuk menyatat presensi karyawan serta untuk daftar kehadiran. Ada beberapa jenis mesin absensi yang saat ini sedang berkembang diantaranya adalah mesin absensi menggunakan kartu (Barcode, Magnetic, Proximity dan Smartcard), mesin absensi menggunakan jari (Finger) serta mesin absensi menggunakan telapak tangan (Handkey).
Mesin absensi mengunakan media kartu barcode masih banyak digunakan sebagai presensi dalam perusahaan maupun presensi mahasiswa. Meskipun teknologi terus berkembang dengan ditemukannya media magnetic, rfid, electronics tags, serial EEPROM (seperti pada smart card), barcode terus bertahan dan masih memiliki kelebihan-kelebihan tertentu yaitu yang paling utama murah dan mudah, sebab media yang digunakan adalah kertas dan tinta, sedangkan untuk membaca barcode ada begitu banyak pilihan di pasaran dengan harga yang relatif murah mulai dari yang berbentuk pena(wand), slot, scanner,
sampai ke CCD dan bahkan dapat dibuat sendiri[1].
Mesin pembaca barcode yang sudah banyak terjual biasanya langsung dengan software pengolah datanya. Seperti yang terlihat saat ini proses pembacaan barcode
langsung terhubung dengan komputer sehinga akan tidak efisien bila mesin pembacaanya lebih dari satu. Oleh karena itu, penempatan pembaca barcode dipisahkan dengan komputer. Selain mengurangi biaya operasi hal itu juga akan memudahkan dalam penempatannya bila pembaca barcode lebih dari satu. Pengiriman data dari pembaca ke komputer juga dapat dilakukan dengan tidak mengunakan kabel (nir kabel) melainkan mengunakan modul Transceiver 2.4GHz. Dengan mengunakan modul ini dengan satu komputer dapat terhubung dengan lebih dari satu pembaca barcode karena pengiriman data dapat dilakukan secara bergantian.
Berdasarkan alasan diatas, penulis merancang dan membuat alat pembaca barcode
menampilkan kode-kode barcode pada LCD dan dapat digunakan sebagai data identitas karyawan yang akan dikirimkan ke komputer secara nir kabel.
1.2.Tujuan dan Manfaat
Perancangan ini bertujuan untuk menghasilkan alat yang dapat membaca barcode
kode 39 yang merupakan data identitas karyawan untuk diolah lebih lanjut sebagai mesin presensi karyawan. Serta menampilkan pada LCD sehinga dapat dibaca oleh manusia. Data hasil pembacaan juga dikembangkan sebagai presensi karyawan yang akan diproses lebih lanjut oleh komputer.
Manfaat dari perancangan alat ini antara lain :
1. Dapat menbaca kode data identitas karyawan berupa barcode kode 39 yang berisi sembilan digit desimal kedalam bentuk numerik (0123456789).
2. Data hasil pembacaan data identitas karyawan dapat dijadikan sebagai presensi karyawan.
3. Dapat digunakan sebagai dasar untuk aplikasi-aplikasi yang lain seperti pengendali “ON-OFF”, mesin tiket, pintiu masuk, pemeriksaan secara otomatis pada
perpustakaan dan lain sebagainya.
4. Menambah pengetahuan tentang teknologi barcode.
1.3.Batasan masalah
Batasan masalah pada perancangan ini adalah : 1. Barcode kode 39
2. Barcode dibuat sendiri mengunakan CorelDraw dengan font 3 of 9.
3. Hanya mengunakan digit desimal saja (0,1,2,3,4,5,6,7,8,9).
4. Pengolahan data identitas karyawan (barcode) mengunakan Mikrokontroler AT89S51.
5. Jumlah digit identitas karyawan hanya sembilan (9) angka.
6. Penulis hanya membuat sampai proses pembacaan data identitas karyawan saja dan menampilkan pada LCD.
1.4.Metodologi Penelitian
Dalam merencanakan dan membuat peralatan ini, diperlukan langkah-langkah sebagai berikut :
1. Studi literatur tentang permasalahan yang ada, serta mempelajari cara kerja serta cara-cara merencanakan dan membuat peralatan tersebut.
2. Perencanaan peralatan menggunakan teori yang ada untuk mendapatkan karakteristik yang sesuai dengan spesifikasi yang ditentukan.
3. Pembuatan peralatan untuk setiap bagian sistem sesuai dengan fungsi masing-masing dan diuji kesesuaiannya kemudian disusun sebagai kesatuan yang utuh. 4. Analisis data yang didapat dari pengujian alat.
4
DASAR TEORI
2.1. Mesin Absensi
Untuk menunjang manajemen di instansi/perusahaan dalam hal absensi/ kehadiran
karyawan dan untuk meningkatkan rasa saling percaya baik bagi karyawan maupun dari
pihak manajemen, maka diperlukan sistem absensi yang berbasis komputer. Dengan sistem
ini, maka dari segi operasional menjadi sangat praktis dan ekonomis. Dengan
menggunakan sistem komputerisasi dapat juga secara langsung menghitung dan
mengakses gaji karyawan secara langsung.
Mesin absensi saat ini tidak lagi dilakukan secara manual dengan menulis pada buku
daftar kehadiran karyawan. Ada banyak cara untuk mencatat daftar kehadiran karyawan
dalam suatu perusahan.
Ada beberapa jenis mesin absensi antara lain [2]:
1. Mesin absensi menggunakan kartu (Barcode, Magnetic, Proximity dan Smartcard)
2.Mesin absensi menggunakan jari (Finger)
3. Mesin absensi menggunakan telapak tanggan (Handkey)
2.2.
Barcode
Barcode pada dasarnya adalah susunan garis vertikal hitam dan putih dengan ketebalan yang berbeda.
Ada dua bentuk barcode, yaitu ; 1.Barcode satu dimensi (1D)
Barcode satu dimensi biasanya dinamakan linear bar codes (kode berbentuk baris). Ada beberapa contoh barcode satu dimensi antara lain barcode 3 of 9, kode 128,
Interleaved 2 of 5 (ITF), dan UPC (Universal Product Code). 2.Barcode dua dimensi (2D)
Barcode dua dimensi memiliki beberapa keuntungan dibandingkan linear barcodes
lebih dari 2000 karakter di dalam sebuah ruang (space) yang berukuran 4 inch persegi (in2).
2.2
.1 Kode pada
Barcode
kode 39
Barcode kode 39 berupa garis-garis hitam dan putih yang memiliki spesifikasi :
1,446 mm 1,446 mm 1,446 mm
0,578 mm
0,578 mm
0,578 mm
0,578 mm
0,578 mm
0,578 mm
Gambar 2.1 Satu Karakter dan Ukuran Barcode
a. Tinggi barcode : 8 mm
b. Ukuran satu bar dan space sempit : 0.578 mm c. Ukuran satu bar dan space lebar : 1.446 mm d. Jumlah bar dan space untuk satu karakter : 9
e. jarak antar karakter : 0.578 mm
Satu karakter dalam kode 39 terdiri dari 9 elemen yaitu 5 bar (garis vertikal hitam) dan 4 space (garis vertikal putih) yang disusun bergantian antara bar dan space. 3 dari 9 elemen tersebut memiliki ketebalan lebih tebal dari yang lainnya oleh karenanya kode ini
biasa disebut juga kode 39. Elemen yang lebih tebal tersebut terdiri dari 2 bar dan 1 space. Elemen yang lebar mewakili digit biner 1 dan elemen yang sempit mewakili digit biner 0.
Tabel karakter kode 39 beserta nilai karakternya tercantum pada tabel 2.1 [3].
2.3. Sensor Pembaca Data Identitas karyawan (
Barcode
)
Sensor pembaca data identitas karyawan (barcode) tediri dari dua buah device, LED super bright dan photo dioda . LED super bright berfungsi sebagai sumber cahaya (transmiter) dan photo dioda sebagai penerima (receiver).
2.3.1 Rangkaian LED
Super bright
garis pertama pada barcode serta bar atau space. Osilator dibangkitkan menggunakan fungsi timer/counter pada mikrokontroler melalui port 0.5.
Tabel 2.1 Karakteristik ASCII Barcode Kode 39
Karakter
Digit Biner
Barcode
B (C)
S
(D0) B
(D1) S
(D2) B
(D3) S
(D4) B
(D5) S
(D6) B
(D7)
0 0 0 0 1 1 0 1 0 0
1 1 0 0 1 0 0 0 0 1
2 0 0 1 1 0 0 0 0 1
3 1 0 1 1 0 0 0 0 0
4 0 0 0 1 1 0 0 0 1
5 1 0 0 1 1 0 0 0 0
6 0 0 1 1 1 0 0 0 0
7 0 0 0 1 0 0 1 0 1
8 1 0 0 1 0 0 1 0 0
9 0 0 1 1 0 0 1 0 0
Untuk mengaktifkan LED super bright, dibutuhkan arus bias (IB). IB dihasilkan oleh
tegangan keluaran osilator saat TH dan LED super bright tidak aktif saat keluaran osilator
TL. Tegangan saat TH dianggap sebagai tegangan sumber LED super bright. Gambar 2.2
memperlihatkan rangkaian dasar LED super bright, sedangkan besarnya arus IB dapat
dinyatakan :
R = D
D Out
I V V −
(2.1)
Gambar 2.2. Rangkaian Dasar LED Super bright
2.3.2. Rangkaian
Photo dioda
Photo dioda dirangkai seri dengan sebuah resistor agar photo dioda dapat difungsikan sebagai pembagi tegangan. Rangkaian photo dioda seperti terlihat pada gambar 2.3.
Untuk mengetahui tegangan keluaran pada gambar 2.3, dapat ditentukan dengan
persamaan pembagi tegangan ;
CC Photodioda Photodioda
Out V
R R
R
V ×
+ =
2
(2.2)
Gambar 2.3. Rangkaian Photo dioda pada Pembaca Data identitas karyawan (barcode)
Cahaya LED super bright yang dipantulkan dan masuk ke photo dioda akan memperkecil nilai hambatan photo dioda , sehingga berdasarkan persamaan (2.2) maka tegangan keluaranya akan besar. Sebaliknya, apabila tidak ada cahaya LED super bright
(cahaya tidak memantul), maka photo dioda tidak aktif (nilai RD besar) sehingga tegangan Output
R2 VCC
PHOTODIODE
1
keluarannya akan semakin kecil. Besarnya hambatan dari photo dioda tergantung pada cahaya yang diterimanya. Hal itu sangat dipengaruhi oleh cara penempatan LED super bright dan photo dioda . Selain itu, bahan yang digunakan untuk menempelkan barcode
yang berfungsi untuk memantulkan cahaya dari LED super bright.
2.4. Rangkaian Pengkondisi Sinyal
Pengkondisi sinyal yang digunakan menggunakan rangkaian pembanding
menggunakan penguat operasional (Op-Amp).
Pada perancangan ini, Op-Amp dipakai sebagai pembanding atau komparator. 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 dari pada tegangan pada Vp, maka Vout akan mendekati nilai tegangan +VCC. Sehingga didapat
persamaan 2.3 [5] :
ee sat
out V V
V =− ≅−
,
Vn>
Vpcc sat
out V V
V =+ ≅+
,
Vn<
Vp(2.3)
Gambar 2.4. Op-Amp Sebagai Pembanding
Tegangan acuan (Vreff) pada gambar 2.4 merupakan tegangan masukan pada
inverting input. Besarnya tegangan acuan harus berada diatara tegangan masukan non-inverting yang merupakan tegangan yang berasal dari sensor barcode. Agar tegangan referensinya dapat kita atur maka R3 menggunakan resistor variabel, karena keluaran
Mikrokontroler
VCC
Sensor Barcode
+
-3
2
1
8
4
tegangan dari photo dioda berubah ubah tergantung intensitas cahaya yang diterimanya serta cahaya ruangan. Besarnya tegangan referensi dapat dihitung dengan persamaan.
CC
reff
V
R
R
R
V
×
+
=
4 3
4
(2.4)
2.5. Motor
Stepper
Motor stepper adalah sebuah peralatan elektromekanik yang mengubah pulsa elektrik menjadi pergerakan mekanik. Shaft atau kumparan motor stepper berputar per step
ketika pulsa elektrik dimasukkan ke kumparan tersebut dengan urutan yang benar. Urutan
pemberian pulsa ke motor stepper akan menyebabkan arah putaran yang berbeda. Sedangkan besarnya frekuensi dari pulsa akan mempengaruhi kecepatan putaran motor
stepper [6].
Motor stepper bergerak per step. Setiap bergerak satu step, motor stepper akan berputar beberapa derajat sesuai dengan step anglenya (SA). Step angle tergantung dari jumlah kutub magnet motor stepper. Jumlah putaran yang diperlukan agar motor stepper
bergerak 1 putaran penuh (3600) adalah :
Step = 3600 / Step Angle
Misalnya, sebuah motor stepper memiliki SA=1,80 maka untuk untuk berputar satu putaran penuh memerlukan jumlah step sebanyak : 360 / 1,8 = 200 step.
Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya.
Bila digunakan utuk memindahkan barang, maka jarak tempuhnya dapat dihitung
dngan menggunakan persamaan :
X = (2.5)
Dimana :
X = jarak yang ditempuh
` π = sudut dalam satu step pergerakan motor stepper
Untuk mengatur gerakan motor per step-nya dapat dilakukan dengan 2 cara berdasarkan simpangan sudut gerakannya yaitu full step dan half step.
Gambar 2.5. Gerakan Full Step
Tabel 2.2. Motor Stepper dengan Gerakan Full Step
Step S3 S2 S1
S0
1 0 0 0
1
2 0 0 1
0
3 0 1 0
0
4 1 0 0
0
1 0 0 0
1
Tabel 2.3. Motor Stepper dengan Gerakan Half Step
Step S3 S2 S1 S0
1 0 0 0 1
2 0 0 1 1
3 0 1 0 0
4 0 1 1 0
5 0 1 0 0
6 1 1 0 0
7 1 0 0 0
8 1 0 0 1
1 0 0 0 1
2.6. Pengerak Motor
Stepper
Pengerak motor stepper menggunakan IC biderectional 4-bit shift register yang kemudian dikonversikan untuk menggendalikan IC penggerak motor stepper unipolar. Clock dari IC biderectional 4-bit shift register osilator menggunakan fungsi timer/counter pada mikrokontroler melalui port 0.6. pergerakan perlangkah motor stepper akan sama dengan nilai periode timer yang dibangkitkan oleh osilator tersebut. Sedangkan untuk
mengendalikan pergerakan motor CW atau CCW dikendalikan oleh mikrokontroler.
Karena arus keluaran IC biderectional 4-shift register masih kecil maka motor
stepper tidak mampu untuk berputar. Sehingga sebelum terhubung ke motor stepper arus dikuatkan terlebih dahulu. Penguat arus menggunakan IC L293D yang merupakan push-pull four cannel driver with diodes.
Gambar 2.7 menunjukan gelombang keluaran dari osilator dan keluaran dari IC
biderectional 4-shift register. THigh gelombang IC biderectional 4-shift register sama
dengan gelombang penuh keluaran osilator [7].
2.7. Penampil LCD 2 x 16 Karakter
LCD (liquid cell display) merupakan suatu alat yang dapat menampilkan karakter ASCII sehingga kita bisa menampilkan campuran huruf dan angka sekaligus. Pada
perancangan menggunakan LCD 2 x 16 karakter seperti terlihat pada gambar 2.8 yang
terdiri dari 16 kolom dan 2 baris karakter. Sehingga jumlah karakter yang dapat
ditampilkan secara bersamaan adalah sebanyak 32 karakter [8].
Gambar 2.8. Display LCD 2x16 Karakter
LCD menggunakan pengiriman data 8-bit dan dibutuhkan 10 jalur data untuk
berhubungan dengan sistem mikrokontroler AT89S51.
Kesepuluh jalur data tersebut adalah :
1. Delapan jalur data untuk mengirim data intruksi 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),
dan kaki 14 (DB7).
2. Dua jalur lainya adalah kaki 4 (RS/ Register Select), dan kaki 6 (E/ Enable).
LCD yang digunakan adalah LCD yang memiliki 16 pin, seperti yang ditunjukan
pada tabel 2.4.
Deskripsi pin :
1. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode ASCII
maupun perintah pengatur LCD.
perintah untuk mengatur kerja LCD. Jika RS berlogika ‘1’, maka data yang
dikirimkan adalah kode ASCII yang ditampilkan.
3. R/W (Read/Write), merupakan pin yang digunakan untuk mengaktifkan pengiriman dan pengembalian data ke dan dari LCD. Jika R/W berlogika ‘1’, maka akan
diadakan pengambilan data dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan
pengiriman data ke LCD.
4. E (Enable), merupakan sinyal singkronisasi. 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 menyalakan
backlight dari layar LCD.
Tabel 2.4 Tampilan LCD
Nomor Pin Simbol Nomor Pin Simbol
1 VEE (0V) 9 DB2
2 VCC (5V) 10 DB3
3 VLCD 11 DB4
4 RS 12 DB5
5 R/W 13 DB6
6 E 14 DB7
7 DB0 15 A
8 DB1 16 K
2.8. Mikrokontroler AT89S51
Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran
dari Atmel. Mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per
bit maupun 8 bit secara bersamaan. Gambar 2.9 menunjukan susunan kaki dari AT89S51.
Beberapa fasilitas yang dimiliki oleh mikrokontroler AT889S51 adalah sebagai berikut [9]:
• Flash memori 4 Kbyte.
• RAM internal 128 x 8 bit.
• Sebuah Central Processing Unit 8 bit.
• Osilator internal dan rangkaian pewaktu.
• Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi
• Empat bauh programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O.
• Sebuah serial port dengan kontrol serial full dúplex UART.
• Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika.
• Kecepatan untuk melaksanakan interupsi per siklus 1,1 mikrodetik pada frekuensi
11,0592 MHz.
Gambar 2.9. Konfigurasi Pin AT89S51
Penjelasnan beberapa pin mikrokontroler adalah sebagai berikut :
Port 0 merupakan port paralel 8 bit dua arah (bi-directional) yang dapat digunakan untuk berbagai keperluan. Port 0 juga memultipleks alamat dan data jika digunakan
untuk mengakses memori eksternal.
Port 1 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 1 juga digunakan dalam proses pemrograman (In System Programming), dimana :
P1.5 MOSI
P1.6 MISO
P1.7 SCK
Port 2 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 2 akan mengirim byte alamat jika digunakan untuk mengakses memori eksternal.
Port 3 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 3 mempunyai bebarapa fungsi khusus yang ditunjukan pada tabel 2.5.
Pada perancangan ini, register kontrolyang digunakan antara lain :
Register IE digunakan untuk mengaktifkan dan mengnonaktifkan 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 kerja timer 0 dan timer 1. Timer digunakan untuk menentukan besarnya baudrate yang digunakan dalam komunikasi serial.
TCON (Timer Control)
Register TCON digunakan untuk memulai atau menghetikan proses
pencacah timer, mengatur sinyal interupsi dari INT0 atau INT1, serta memantau apakah ada sinyal yang masuk ke INT0 dan INT1.
Tabel. 2.5. Funsi Pin pada Port 3
Pin-pin pada Port 3 Fungsi Penganti
P3.0 RxD (Port input serial)
P3.1 TxD (Port output serial)
P3.2 INT0 (Interupt eksternal 0 )
P3.3 INT1 (Interupt eksternal 1)
P3.4 T0 (Input Eksternal Timer 0)
P3.5 T1 (Input Eksternal Timer 1)
P3.6 WR (Perintah write pada memori eskternal)
P3.7 RD (Perintah read pada memori eksternal)
2.8.1. Osilator Mikrokontroler
Rangkaian osilator adalah rangkaian pembangkit frekuensi untuk menentukan
besarnaya waktu unuk tiap siklus pada mikrokontroler. Waktu yang dibutuhkan tiap satu
siklus dapat dicari dengan persamaan :
2.9. Komunikasi Port Serial
Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data
dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada
port printer yang mampu mengirim 8 bit sekaligus dalam sekali pengiriman. Ada dua
macam cara pegiriman (transmisi) data secara serial berdasarkan sinyal detak yang dipakai
dalam pengiriman datanya. Bila sinyal detak dikirimkan besama-sama dengan data serial
disebut sebagai transmisi data serial secara sinkron. Sedangkan dalam transmisi data seial secara asinkron detak tidak dikirim bersama data serial, rangkaian penerima data harus membangkitkan sendiri detak pengiriman data serialnya.
Devais pada komunikasi serial port dibagi menjadi dua kelompok yaitu Data Communication Equipment (DCE) dan Data Terminal Equipment (DTE). Contoh dari
DCE ialah modem, plotter, scanner dan lain lain sedangkan contoh dari DTE ialah terminal di komputer. Spesifikasi elektronik dari serial port merujuk pada Electronic Industry Association (EIA) :
1. “Space” (logika 0) ialah tegangan antara + 3 hingga +25 V. 2. “Mark” (logika 1) ialah tegangan antara –3 hingga –25 V.
3. Daerah antara + 3V hingga –3V tidak didefinisikan /tidak terpakai
4. Tegangan open circuit tidak boleh melebihi 25 V. 5. Arus hubungan singkat tidak boleh melebihi 500mA.
Peralatan yang kita gunakan menggunakan logika TTL maka sinyal serial port harus kita
konversikan dahulu ke pulsa TTL sebelum kita gunakan, dan sebaliknya sinyal dari peralatan kita
harus dikonversikan ke logika RS-232 sebelum di-inputkan ke serial port. Konverter yang paling
mudah digunakan adalah MAX-232. Di dalam IC ini terdapat Charge Pump yang akan
membangkitkan +10 Volt dan -10 Volt dari sumber +5 Volt tunggal.
Mengenai isyarat secara garis besar dijelaskan tentang fungsi pin-pin bagi
antaramuka RS-232 :
• Signal Ground Pin 5 (DB9), SG digunakan sebagai isyarat ground bersama (common signal ground), dan perlu disambungkan pada setiap masa.
• Transmit Data Pin 3 (DB9), TX digunakan sebagai pengirim data dari komputer ke
• Receive Data Pin 2 (DB9), RX digunakan sebagai penghantar data dari serial
device ke komputer.
• Data Terminal Ready Pin Pin 4 (DB9), DTR digunakan oleh komputer memberi isyarat kepada serial device bahwa ia telah bersedia. DTR perlu disetkan pada paras tinggi pada waktu berkomunikasi dengan modem/piranti lain.
• Data Set Ready Pin 6 (DB9), DSR digunakan oleh serial device untuk memberi isyarat kepada komputer bahwa ia telah bersedia untuk berkomunikasi.
• Request to Send Pin 7 (DB9), RTS dikeluarkan oleh komputer untuk memohon kebenaran mengirim data. RTS dikawal oleh komputer dan dibaca oleh
modem/piranti lain.
• Dupleks penuh - isyarat ini dikeluarkan secara terus. Dupleks separuh - isyarat
dikeluarkan hanya apabila ada data untuk mengirim.
• Clear to Send Pin 8 (DB9), CTS digunakan untuk mengeluarkan jawaban kepada isyarat RTS bila modem/piranti lain sedia untuk menerima data. CTS dikawal oleh
modem/piranti lain dan dibaca oleh komputer.
• Data Carrier Detect Pin 1 (DB9), DCD digunakan oleh modem/piranti lain untuk memberitahu komputer supaya bersedia untuk menerima data pada bila-bila masa.
• Ring Indicator Pin 9 (DB9), Modem mengeluarkan isyarat kepada RI (ring indicator) untuk memberitahu komputer bahwa ada pihak luar yang hendak berkomunikasi.
Sedangkan untuk konfigurasi daripin-pin dari RS232 (DB9) dapat dilihat pada
gambar 2.10.
18
RENCANGAN PENELITIAN
3.1. Diagram Blok Pembaca
Bacode
pada Mesin Presensi NirKabel
Diagram keseluruhan dari mesin presensi nirkabel dapat dilihat pada gambar 3.1. Pembacaan barcode pada mesin presensi nirkabel dapat dilihat pada gambar 3.2. Sensor pendeteksi kartu akan mendeteksi ada tidak kartu indentitas karyawan. Sensor pendeteksi kartu menggunakan limit switch tengah (2), limit switch tengah (2) akan aktif ketika tertekan kartu. Saat ada kartu, maka motor stepper akan menggerakkan kartu indentitas karyawan melewati sensor pembaca barcode. Sensor akan membaca data identitas karyawan dari kode barcode yang ada pada kartu identitas karyawan. Bila sensor pembaca
barcode tidak mendapatkan start karakter pada saat kartu identitas karyawan melewati sensor pembaca barcode maka dinyatakan posisi kartu tidak benar dan motor stepper akan bergerak mengeluarkan kartu indentitas karyawan untuk dimasukkan lagi. Saat sensor pembaca barcode mendapatkan start karakter maka motor stepper akan terus bergerak sampai limit switch belakang(3) akan aktif maka motor stepper akan barbalik arah putaran sampai limit switch depan(1) aktif. Ketika limit switch depan(1) aktif dan limit switch
tengah(1) masih aktif maka posisi kartu masih terjepit. Saat kartu masih terjepit ketika pembacaan selesai maka akan ada indikator buzzer yang akan berbunyi sampai kartu diambil maka buzzer baru akan mati dan proses pembacaan kartu slanjutnya bisa dilakukan lagi. Mekanisme pembacaan barcode pada mesin presensi nirkabel dapat dilihat pada gambar 3.3. Data yang telah didapat oleh pembaca barcode akan diproses oleh mikrokontroler AT89S51. Karena mikrokontroler tidak dapat membaca data secara langsung dari sensor pembaca barcode sehingga digunakan pengkondisi sinyal agar data yang masuk ke mikrokontroler berupa data dalam bentuk digital. Data yang telah diproses oleh mokrokontroler kemudian ditampilkan ke LCD atau dikirmkan secara nirkabel menggunakan transceiver 2,4Ghz.
Pembaca Barcode
Mikrokontroler TRF-2.4GHz TX
TRF-2.4GHz
RX Mikrokontroler RS 232
Komputer
Gambar 3.1. Blok Diagram Mesin Presensi NirKabel
menggunakan komunikasi serial port. Pengiriman dan penerimaan data diatur oleh mikrokontroler.
Penggerak motor stepper dikontrol dan digerakkan oleh mikrokontroler. Mekanisme pembacaan barcode dapat dilihat pada gambar 3.3. motor stepper akan bergerak saat sensor pendeteksi kartu mendeteksi adanya kartu. Kartu kemudian dijepit agar tidak lepas atau tergeser saat bergerak melewati sensor pembaca barcode.
Sensor Pembaca
Barcode
Mikrokontroler ATMega8535
Penampil LCD
Motor Stepper (Pngerak Kartu)
Serial Port RS 232
Gambar 3.2. Blok Diagram Pembacaan Barcode
Motor Stepper
Penjepit
Limit Switch Depan
Sensor Pembaca
Barcode Pegas
Limit Switch Tengah
Kartu
Limit Switch Belakang
1
2
3
Gambar 3.3. Mekanisme Pembacaan Barcode
Sensor pembaca barcode terdiri dari LED super bright dan photo dioda, LED super bright berfungsi sebagai sumber cahaya yang akan menyinari kartu identitas karyawan. Sedangkan photo dioda berfungsi untuk menerima cahaya yang terpantul dari kartu identitas karyawan tersebut. Peletakan LED super bright dan photo dioda dapat dilihat pada gambar 3.4.
Pada penjepit kartu terdapat limit switch tengah(2), dua elemen penjepit dan pegas. Pegas berfungsi untuk memberikan tekanan pada kartu identitas karyawan agar saat bergerak melewati sensor pembaca barcode tidak mengalami perubahan posisi. Sedangkan
limit switch tengah(2) berfungsi untuk masukan mikrokontroler sebagai pendeteksi adanya kartu. Saat limit switch tengah(2) aktif maka mekrokontroler akan menggerakkan kartu untuk melewati sensor pembaca barcode. Bentuk Penjepit kartu dapat dilihat pada gambar 3.5.
Pegas
Limit Switch Tengah
Kartu
Gambar 3.5. Penjepit Kartu
3.2. Kartu Identitas
Kartu identitas dibuat sendiri menggunakan CorelDraw dengan font 3 of 9 yang ditempelkan pada bekas simcart kartu perdana. Data identitas terdiri dari Sembilan data numerik (123456789). Untuk mendapatkan hasil dan pemantulan cahaya yang baik maka data karyawan dicetak menggunakan kertas stiker. Gambar 3.6 merupakan kartu karyawan. Kartu identitas karyawan berukuran ;
Gambar 3.6. Kartu Identitas Karyawan
Lebar : 5 cm
Panjang : 10 cm
3.3. Cara Pembacaan Kartu Identitas (Pembacaan Barcode)
Pembacaan data identitas karyawan (barcode kode 39) menggunakan sistem pemantulan cahaya (sistem pena). Sebagai sumber cahaya (pena) adalah LED super bright
dan sebagai penerima cahaya mengguakan photo dioda yang langsung terhubung ke
operasional amplifier yang difungsikan sebagai komparator sebagai pengkondisi sinyalnya. LED super bright memancarkan cahaya sehingga mengenai permukaan kartu identitas karyawan (barcode) dan akan terjadi pemantulan cahaya. Jika sensor terkena cahaya adalah permukaan hitam maka photo dioda akan menerima sedikit sekali cahaya pantulan. Tetapi jika sensor berada di atas garis putih maka photo dioda akan menerima banyak cahaya pantulan. Sifat dari photo dioda adalah jika semakin banyak cahaya yang diterima, maka nilai resistansi diodanya semakin kecil. Memanfaatkan sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna gelap. Besaran resistansi tersebut dapat diubah menjadi tegangan. Sehingga jika sensor berada di atas permukaan hitam, maka tegangan keluaran sensor akan kecil, demikian pula sebaliknya. Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0–1 volt untuk logika 0 dan 3– 5 volt untuk logika 1. Hal ini bisa dilakukan dengan memasang operational amplifier ( Op-Amp) yang difungsikan sebagai komparator. Output dari photo dioda yang masuk ke input inverting operational amplifier akan dibandingkan dengan tegangan tertentu dari resistor variabel VR. Tegangan dari VR inilah yang kita atur agar sensor dapat menyesuaikan
dengan kondisi cahaya ruangan.
Mekanisme pembacaan barcode pada mesin presensi nirkabel dilakukan dengan membandingkan hasil dari perbandingan data hasil pembacaan sensor dengan data karakteristik barcode kode 39. Pertama kali sensor akan menbaca adanya start karakter pada data identitas karyawan. Jika sensor tidak mendeteksi adanya start karakter maka mikrokontroler akan mengerakkan motor stepper untuk menggeluarkan kartu karena letak kartu dianggap posisinya salah. Ketika sensor mendeteksi start karakter maka sensor akan mengambil data barcode berikutnya sampai semua karakter selesai terbaca. Sensor akan mengambil data untuk setiap karakter dan kemudian data setiap karakter disimpan di memori internal. Setelah pembacaan satu karakter telah selesai kemudian membaca karakter sampai semua karakter pada data identitas karyawan semua selesai dibaca dan menyimpan setiap karakter di memori internal.
Setelah pembacaan data identitas karyawan selesai dibaca oleh sensor maka motor akan mengeluarkan kartu identitas karyawan dan siap untuk membaca kartu identitas karyawan yang lainya.
3.4. Sensor Pembaca
Barcode
3.4.1. LED
Super Bright
Sensor pembaca barcode pada mesin presensi nirkabel terdiri dari LED super bright dan photo dioda. Karakteristik dari LED super bright mirip dengan LED biasa, hanya saja arus maju maksimum (ID) LED super bright lebih besar dari LED biasa dan
intensitas cahaya yang dihasilkan lebih kuat. Arus maju (ID) LED super bright bekisar
antara 10-20 mA, dan tegangan majunya 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 = 10 mA dan VD = 1,7 Volt sedangkan VCC = 5 Volt. Untuk
membatasi besarnya arus maju (ID) maka digunakan sebuah hambatan (R).
Dimana besarnya hambatan yang akan digunakan dapat ditentukan dengan menggunakan persamaan (2.1), didapat :
Gambar 3.7. Rangkaian LED Super Bright
R = D
D CC
I V V −
R =
3
10 10
7 , 1 5
−
× −
R = 330 Ω
3.4.2. Photo Dioda
berdasarkan hasil pengukuran dengan kapsitas cahaya pada siang hari di dalam ruangan. Perubahan resistansi menyebabkan perubahan tegangan yang nilainya dapat dihitung dengan persamaan (2.2). Pada perancangan menggunakan R2 = 10 kΩ, sehingga ;
• Nilai tegangan output saat cahaya memantul
CC Photodioda Out V R R R V × + = 2 2 5 30000 10000 10000 × + = Out V
VOut= 1,25 Volt
• Nilai tegangan output saat cahaya tidak memantul
CC Photodioda Out V R R R V × + = 2 2 5 50000 10000 10000 × + = Out V
VOut= 0,83 Volt
Gambar 3.8. Rangkaian Photo Dioda
Keluaran tegangan dari photo dioda difungsikan sebagai masukan non-inverting Op-Amp, sedangkan masukan inverting menjadi tegangan acuan yang besarnya diatur oleh pembagi tegangan sehingga berada antara selisih tegangan dari keluaran photo dioda.
3.4.3. Pengkondisi Sinyal
Pengkondisi sinyal menggunakan rangkaian Op-Amp sebagai pembanding tegangan seperti yang terlihat pada gambar 3.10, dengan tegangan acuan seperti pada gambar 3.9 sebagai pembandingnya. Tegangan acuan menggunakan rangkaian pembagi tegangan, agar sensitivitas sensor sesuai dengan kondisi ruangan maka tegangan acuan dibuat variabel dengan cara menggunakan resistor variabel seperti terlihat pada gambar 3.9. dengan nilai R3 = 50 kΩ (resistor variabel) dan R4 = 10 kΩ sedangkan sumber tegangan menggunakan 5
Volt. Maka dengan persamaan pembagi tegangan dapat dicari nilai tegangan maksimum dan minimumnya sebagai berikut :
• Tegangan acuan maksimum CC R V R R R V × + = 4 3 4 max 5 10000 0 10000
max = + ×
R
V
VOut= 5 Volt
Gambar 3.9. Rangkaian Pembagi Tegangan
• Tegangan acuan minimum
CC R V R R R V × + = 4 3 4 min 5 10000 50000 10000
min = + ×
R
V
VOut= 0,83 Volt
Op-Amp yang dipakai adalah Op-Amp jenis single suplay dengan VCC = 5 Volt dan
VEE dihubungkan ke ground. Keluaran dari komparator menjadi masukan untuk
mikrokontroler AT89S51.
Gambar 3.10. Rangkaian Pembanding
3.5. Sensor Pendeteksi Kartu
Sensor pendeteksi kartu menggunakan limit switch. Limit switch langsung terhubung ketegangan sumber 5 volt yang terhubung seri dengan resistor untuk membatasi
R3 1 3 2 Vref VCC R4
Tegangan Referensi Input mikrokontroler
VCC
Output Sensor +
arus yang masuk ke mikrokontroler. Rangkaian sensor pendeteksi kartu dapat dilihat pada gambar 3.11 ;
Gambar 3.11. Sensor Pendeteksi Kartu
3.6. Motor stepper
Motor stepper yang digunakan adalah jenis unipolar 4 kabel, dengan sudut 1,80 per
step. Motor stepper digunakan untuk mengerakan kartu identitas karyawan melewati sensor pembaca barcode untuk proses pembacaan barcode. Untuk mendapatkan tingkat ketelitian yang tinggi, pergerakan motor stepper dalam satu step hanya melewati satu bar
atau space sempit saja.
Karena ukuran bar atau space sempit adalah 0.578 mm, dengan mengacu pada persamaan 2.5 maka diameter roda yang digunakan adalah :
d = 36,82 mm
Sehingga agar pergerakan kartu identitas karyawan dalam satu kali step hanya melewati satu bar atau space sempit saja maka menggunakan roda dengan diameter sebesar 36,82 mm.
Dalam satu step pergerakan motor stepper melewati bar atau space sempit saja, maka waktu yang yang dibutuhkan untuk melewati satu bar atau space sempit sama dengan waktu satu step pergerakan motor stepper. Dimana dalam perancangan dalam satu
step pergerakan motor stepper menggunakan waktu 2 m detik. Sehingga untuk melewati
bar atau space yang lebar dibutuhkan waktu selama ;
Karena dalam satu karakter terdiri dari 3 bar atau space lebar dan 6 bar atau space sempit maka waktu yang dibutuhkan untuk melewati satu karakter adalah ;
Waktu untuk satu karakter = 3 x 5,003 m detik + 6 x 2 m detik = 27,009 m detik
Sedangkan waktu yang dibutuhkan untuk melewati sembilan karakter dibutuhkan waktu selama ;
Waktu untuk sela antar karakter = = 2 m detik
Dalam sembilan karakter terdiri dari delapan sela antar karakter sehingga waktu yang dibutuhkan adalah 16 m detik. Sedangkan waktu total yang dibutuhkan untuk melewati sembilan karakter adalah 43,009 m detik.
3.7. Penggerak Motor stepper
Gambar 3.12. Rangkaian Penggerak Motor stepper
Motor stepper digerakkan mengunakan mokronkontroler melalui Port C.0 (PC0) sampai Port C.3 (PC3). Keluaran dari port mikrokontroler arusnya masih kecil sekitar 10 mA maka digunakan penguat arus agar motor stepper dapat bergerak secara optimal. Penguat arus yang digunakan adalah IC L293D yang merupakan push-pull four cannel driver with diodes. Pergerakan motor stepper untuk maju dan mundurnya tergantung dari sensor pendeteksi kartunya. Bila sensor pendeteksi kartu mendeteksi kartu maka motor stepper akan bergerak untuk menarik kartu tersebut melewati sensor pembaca barcode
untuk pembacaan data identitas pada kartu tersebut. Setelah pembacaan data identitas
U1 L293 2 7 10 15 1 9 3 6 11 14 1 6 8
4 5 13 12 1A 2A 3A 4A 1,2EN 3,4EN 1Y 2Y 3Y 4Y V CC1 V CC2 GN D GN D GN D GN D 12V 1 2 Input 1 2 3 4 VCC 1 2 P or
t 2.0 - P
or
t 2.3
LED 330
Stepper
1 2 3 4 5
GND
sudah selesai maka motor stepper akan bergerak mengeuarkan kartu terseut untuk melakukan pemabacaan kartu berikutnya. Keluaran dari mikrokontroler menggunakan logika rendah (0), sehingga motor stepper diberi teganggan sumber sendiri agar motor stepper dapat bergerak. Teganggan sumber motor stepper yang digunakan adalah teganggan 12 V. Gambar 3.12 menunjukan rangkaian penggerak motor stepper.
3.8. Penampil LCD
LCD (liquid cristal display) yang digunakan untuk menampilkan karakter barode
data karyawan yang terbaca oleh sensor pembaca barcode (barcode reader). LCD yang digunakan memiliki 2 baris dengan kemampuan menampilkan 16 karakter setiap barisnya.
Baris pertama menampilkan kode barcode yang dibaca, sedangkan baris kedua
menampilkan karakter barcode yang terbaca.
LCD dapat menampilkan semua karakter ASCII dan simbol, serta dapat menerima karakter ASCII langsung tanpa harus dikonversikan, sehingga data yang dikirimkan mikrokontroler adalah data berupa karakter ASCII. Data dikirimkan dari mikrokontroler secara paralel menggunakan 8 jalur data melalui port 2.0 s/d port 2.7. Gambar 3.13 memperlihatkan rangkaian penampil LCD.
Gambar 3.13 Rangkaian Penampil LCD
3.9. Mikrokontroler AT89S51
Mikrokontroler AT89S51 digunakan sebagai pengolah data dari barcode reader
seperti terlihat pada gambar 3.13. sedangkan untuk fungsi port-port yang digunakan dalam perancangan dapat dilihat pada tabel 3.1.
3.9.1. Oscillator Mikrokontroler AT89S51 dan Reset
Pada gambar 3.14, untuk rangkaian oscillator menggunakan kristal 12 MHz dan dua buah kapasitor 30 pF sehingga frekuensi clock pada CPU 12 MHz. Pin EA/VPP diberi logika tinggi (dihubungkan ke VCC) karena program hanya disimpan di dalam memory
internal saja dan tidak membutuhkan memory eksternal. Untuk rangkaian reset
menggunakan R1 = 100Ω dan R2 = 10 k Ω. Saat tombol ditekan maka tegangan pada pin
reset (Vrst) yaitu:
= 4.95 Volt
Tabel 3.1. Penggunaan port-port pada mikrokontroler AT89S51
NO Port Keterangan
1 Port 1.0 Masukan dari sensor barcode reader
2 Port 1.1 Masukan dari sensor pendeteksi kartu
3 Port 1.3 Pilihan penampilan ke LCD atau sumber data nirkabel
4 Port 2 Keluaran pada LCD
5 Port 3.6 – Port 3.7 RS dan E LCD
6 Port 3.0 – Port 3.1 Switching motor stepper
7 Port 0.0 Keluaran LED indikator pembacaan selesai
8 Port 0.1 Keluaran LED indikator pembacaan gagal
9 Port 0.3 Keluaran ke pengiriman data nirkabel
10 Port 0.4 Clock untuk pengiriman data nirkabel
11 Port 0.5 Pemodulasi LED super bright
12 Port 0.6 Pemodulasi motor stepper
TCycle =
Gambar 3.14. Rangkaian Oscillator dan Reset
3.9.2. Data Masukan Mikrokontroler AT89S51
Data masukan mokrokontroler terdiri dari masukan dari sensor barcode reader dan sensor pendeteksi kartu. Data masukan dari sensor barcode reader berupa pulsa dari Op-Amp yang berasala dari logika barcode dimasukkan melalui port 1.0 dengan logika 1 untuk
bar atau space yang lebar sedangkan logika 0 untuk bar atau space yang sempit. Sedangkan sensor pendeteksi kartu menggunakan limit switch yang terhubung seri dengan resistror. Gambar 3.15. menunjukan rangkaian input mikrokontroler AT89S51.
3.9.3. Pensaklaran (
Switching
)
Motor stepper
oleh Mikrokontroler
Untuk menggendalikan putaran motor stepper (berhenti, CCW, dan CW) mikrokontroler mumbutuhkan 2 port, yaitu port 3.0 dan port 3.1. pensklaran ini
mengunakan logika tinggi. Dimana motor stepper akan bergerak saat salah port 3.0 atau port 3.1 bernilai tinggi. Jika port 3.0 benilai 1 dan port 3.1 nernilai 0, maka motor stepper
akan bergerak berlawanan arah jarum jam (CCW). Saat port 3.0 bernilai 0 dan port 3.1
bernilai 1, maka motor stepper akan bergerak searah jarum jam (CW). Motor akan berhenti bila port 3.0 dan port 3.1 bernilain sama
Gambar 3.15. Rangkaian Masukan Mikrokontroler AT89S51
.
3.10. Perancangan Perangkat Lunak
3.10.1. Diagram Alir dan Algoritma Keseluruhan Sistem Kerja
Pada garis besar, keseluruhan dari sistem kerja pada pembaca barcode pada mesin presensi nirkabel adalah membedakan lebar sempitnya dari bar atau space barcode. Bar
atau space lebar akan dibaca logika 1, sedangkan bar atau space sempit akan dibaca sebagai logika 0. Kartu barcode digerakkan oleh motor stepper melewati sensor pembaca
barcode. Motor stepper memiliki rangkaian penggerak tersendiri, sehingga mikrokontroler hanya menggendalikan kapan motor stepper bergerak serta menentukan arah putaran motor stepper. Berikut adalah algoritma dari sistem kerja pembaca barcode pada mesin presensi nirkabel :
1. Start
2. Inisialisasi memori, timer serta port yang akan digunakan 3. Menampilkan pesan pembuka pada LCD
7805
1 2 3
v cc/gnd 1 2 47u 1K ON-OFF
1 2 3
Sensor Pendeteksi Kartu
12Meg rst 30pF 10uF 100n AT89C51 9 18 19 2 0 29 30 31 4 0 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 GN D PSEN ALE/PROG EA/VPP VC C P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 Sensor Pembaca Barcode
4. Menunggu adanya kartu identitas karyawan dimasukkan (sensor pendeteksi kartu
aktif)
• Tidak ada kartu menampilkan pesan pada LCD “masukkan kartu”
Start
Menampilkan pesan pembuka
pada LCD
Aktifkan pengerak motor stepper (kartu melewati sensor
pembaca barcode) Tidak Mengeluarkan kartu A B A
Pengembalian data hasil pembacaan sensor
Konversi data dalam bentuk ASCI
Menampilkan ke LCD Deteksi kartu? Ada Tidak C Inisialisasi Timer Port Alamat memori B C Menampilkan pesan pada LCD
“Masukkan kartu”
Pengecekan start Karakter?
Menampilkan pesan pada LCD “Posisi salah”
Ada
Gambar 3.16. Flow chart sistem kerja pembaca barcode pada mesin presensi nirkabel
5. Mengaktifkan motor stepper untuk menarik kartu identitas karyawan melewati sensor pembaca kode barcode
6. Pengecekan adanya start karakter
• Menampilkan pesan pada LCD “posisi salah”
• Mengeluarkan kartu bila tidak menemukan start karakter
• Kembali ke penampilan pesan pembuka
7. Mengambil data dari sensor pembaca barcode
8. Mongkonversi data hasil pembacaan menjadi data dalam bentuk ASCII
10. Mengeluarkan kartu identitas karyawan
11. Kembali ke program awal (start)
Sedankan untuk diagram alir (flow chart) dari keseluruhan sistem kerja pembaca
barcode pada mesin presensi nirkabel dapat dilihat pada gambar 3.16.
3.10.2. Diagram Alir dan Algoritma
Subroutin
Pengambilan Data
Proses pengambilan data dilakukan secara scanning. Dalam hal ini kartu identitas karyawan akan bergerak melewati sensor pembaca barcode, sensor akan membaca perbedaan warna (hitam dan putih) serta ketebalan bar atau space. Penggecekan ketebalan dari bar atau space dilakukan dengan cara membandingkan waktu yang dibutuhkan untuk melewati bar atau space. Setiap satu karakter data hasil pembacaan satu karakter (5 bar
dan 4 space) disimpan terlebih dahulu sebelum dikonversikan ke dalam kode ASCII. Setelah pengecekan satu karakter selesai kemudian memeriksa apakah ada karakter
berikutnya serta melakukan pengambilan data seperti pada karakter yang pertama. Bila
semua karakter sudah selesai atau tidak ada lagi karakter berikutnya, maka programa akan
keluar dari subroutin pengambilan data dan kembali ke program utama. Algoritma penggambilan data :
1. Pemeriksaan warna hitam atau putih
2. Apakah satu karakter selesai diperiksa (5 bar dan 4 space)
o Bila belum, program memeriksa bar atau space berikutnya sampai satu karakter selesai diperiksa.
3. Pemeriksaan ketebalan (bar atau space)
o Bar atau space sempit dikonversikan ke dalam logika 0. o Bar atau space lebar dikonversikan ke dalam logika 1. 4. Simpan data kedalam memori internal untuk setiap karakternya
5. Apakah semua karakter sudah selesai diperiksa
o Bila belum, melanjutkan karakter berikutnya sampai semua karakter selesai
diperiksa semua.
6. Simpan data untuk setiap karakternya ke dalam memori internal
7. Kembali ke program utama
Sedankan untuk diagram alir dari subroutin penggambilan data pembaca barcode
Start
Periksa Warna Hitam Atau Putih
Sudah Satu Karakter ?
Periksa Bar Atau Space Berikutnya
Periksa Ketebalan ?
Bar atau Space Tebal Dijadikan
Logika 1
Bar Atau Space Sempit Dijadikan
Logika 0
Simpan Data Ke Memori Internal
Semua Karakter Sudah
Selesai ?
Simpan Setiap Karakter Ke Memori Internal
Kembali Keprogram Utama
Belum
Sudah
Sempit
Tebal
Sudah Belum
Gambar 3.17. Flow Char Penggambilan Data
3.10.3. Diagram Alir dan Algoritma
Subroutin
Konversi Data
Proses konversi data merupakan proses penggubahan data dari bentuk hexadesimal
menjadi data dalam bentuk ASCII. Data hexadesimal merupakan data hasil pembacaan
oleh pembaca barcode yang telah disimpan pada memori internal. Konversi ke dalam data ASCII dilakukan untuk mepermudah pengiriman data ke LCD. Konversi data dilakukan
barcode kode 3of 9 seperti pada tabel 2.1. Data dikonversi ke dalam data ASCII dilakukan karena LCD sudah dapat menerima data dalam bentuk ASCII.
Algoritma dari proses konversi data adalah :
1. Pengambilan data hexadesimal yang sudah disimpan pada memori internal
2. Pengambilan data yang dijadikan standar barcode kode 39
3. Membandingkan apakah data hexadesimal sama dengan data standar barcode kode 39
o Bila tidak ada, programa akan menyimpan karakter ASCII untuk
menampilkan ‘X’ untuk dikirimkan ke LCD.
Start
Pengambilan Data Hexadesimal
Pengambilan Data Standar Konversi
Apakah Data Ada yang Sama ?
Simpan karakter ASCII untuk menampilkan ‘X’ ke dalam
memori internal 8 bit
Apakah Data Sudah Semua Diperiksa ?
Keprogram Utama Tampilkan Ke LCD Simpan karakter ASCIInya ke dalam
memori 8 bit Ada
Tidak
Sudah Belum Ke alamat memori
untuk karakter berikutnya
Gambar 3.18. Flow Chart Proses Konversi Data Ke dalam Karakter ASCII 4. Simpan karakter ASCII yang sudah dibandingkan ke dalam memori internal 8 bit.
5. Periksa apakah semua data telah dikonversi ke dalam data dalam bentuk ASCII
o Bila belum, mengambil data karakter berikutnya dan membandingkan
seperti pada data sebelumnya
7. Kembali ke program utama
Sedangkan untuk diagram alir (flow chart) proses konversi data ke dalam karakter ASCII dapat dilihat pada gambar 3.18.
Start
Pengambilan Data Hexadesimal
Pengambilan Data Standar Konversi
Apakah Data Ada yang Sama ?
Simpan karakter ASCII untuk menampilkan ‘X’ ke dalam
memori internal 8 bit
Ada Tidak Apakah Data Sudah Semua Diperiksa ? Keprogram Utama Tampilkan Ke LCD Simpan karakter ASCIInya ke dalam
memori 8 bit
Sudah Belum
Ke alamat memori untuk karakter berikutnya A A B B C C
Gambar 3.18. Flow Chart Proses Konversi Data Ke dalam Karakter ASCII
3.10.4. Diagram Alir dan Algoritma Penampilan Data Ke LCD
Pengiriman data ke LCD dilakukan secara paralel dengan menggunakan 8 jalur
data yaitu menggunakan port 2.0 – port 2.7. Data yang dikirim ke LCD sudah berupa data
berupa karakter ASCII. Karena menggunakan 8 jalur data maka dalam satu kali
pengiriman data dapat menampilkan satu karakter. Pengiriman data dilakukan secara
berurutan untuk setiap karakternya, karena terdiri dari 8 karakter maka penggambilan data
dari memori internal dibuat looping sebanyak 8 kali.
Algoritma pengiriman data ke LCD :
1. Penunjukan alamat penyimpanan data karakter ASCII untuk karakter pertama
2. Pengiriman data karakter ASCII ke LCD
3. Penunjukan alamat penyimpanan data karakter ASCII untuk karakter selanjutnya
5. Penggecekan apakah data sudah semua dikirim
o Bila data belum selesai dikirim, menunjukkan alamat untuk karakter
berikutnya dan menampilkan ke LCD sampai semua karakter selesai
dikirim ke LCD.
6. Kembali ke program utama
Sedangkan untuk diagram alir (flow chart) proses pengiriman data ke LCD dapat dilihat pada gambar 3.19 dibawah ini :
Start
Inisialisasi Alamat Penyimpanan Karakter
ASCII
Kirimkan Data Karakter Selanjutnya
ke LCD
Apakah Semua Karakter Selesai
Dikirim ?
Kembali Keprogram Utama
Sudah Belum
Kirim Data ASCII yang sudah tersimpan di memori internal Ke LCD
Penunjukan alamat memori untuk karakter
pertama
Penunjukan alamat memori untuk karakter
berikutnya
A
A
B
B
37
HASIL DAN PEMBAHASAN
4.1. Hasil saat Menggunakan Sensor LED
Super bright
dan
Photo dioda
Pada pembuatan pembaca barcode kode 3 of 9 dengan mengunakan sensor LED
super bright sebagai pemancar cahaya dan photo dioda sebagai penerima pemantulan cahaya tidak dapat berkerja seperti yang diinginkan. adapun penyebab kegagalan
pembuatan pembaca barcode 3 of 9 ini disebabkan oleh beberapa hal :
4.1.1. Sensor Pembaca
Barcode
Rangkaian sensor pembaca barcode terdiri dari LED super bright sebagai pemancar cahaya yang disinarkan ke kartu dan photo dioda sebagai penerima cahaya yang dipantulkan dari kartu. Bentuk fisik dari sensor pembaca barcode dapat dilihat pada gambar4.1.
Sensor pembaca barcode dengan menggunakan LED super bright dan photo dioda
tidak dapat berkerja dengan baik. Sensor pembaca barcode yang diharapkan dapat membedakan bar atau space sempit ternyata tidak bisa. Bar dan space yang terlalu sempit sehingga pemancaran cahaya akan susah untuk bisa membedakan garis hitam dan
putihnya. Cahaya dari LED super bright dibuat sesempit mungkin sehingga cahaya hanya menyinari bar atau space sempit saja, dengan begitu photo dioda akan mendeteksi hitam atau putih yang disinari dengan melihat ada tidaknya pemantulan cahaya dari kartu
barcode tersebut. Saat kartu digerakkan sensor tidak dapat mendeteksi masing-masing bar
atau space sempit semua karakter. Sehinga akan mengalami kesusahan dari hasil pembacaan sensor yang akan dibandingkan data karakteristik barcode kode 3 of 9 yang akan menentukan berapa nilai data identitas yang ada pada kartu identitas yang sedang
dibaca. Sensor pembaca barcode merupakan hal terpenting dalam mesin pembaca barcode
kode 3 of 9 ini, ketika sensor tidak dapat membaca bar dan space kode barcode pada kode identitas maka pada pengolahan data dan konversi data tidak dapat dilakukan. Dengan
kata lain data yang dibaca mikrokontroler hanya berupa data logika tinggi saja (bernilai
satu) dan dalam pengkonversian datanya tidak memiliki data yang sama dengan data
karakteristik barcode kode 3 of 9.
Dari hasil pengukuran sensor photo dioda dengan LED super bright, sensor hanya mampu berkerja ketika posisi LED super bright dan photo dioda diletakkan secara sejajar. Penempatan LED super bright dan photo dioda yang dipasankan secara sejajar dapat dilihat pada gambar 4.2. Pada kondisi ini sensor dapat berkerja degan baik dan data output
dari pengambilan data dapat dilihat pada gambar 4.3. Pada posisi sejajar sensor dapat
berkerja sampai jarak 5 cm. sedangkan untuk hasil penggukuran menggunakan multimeter
didapatkan data seperti pada tabel 4.1:
Gambar 4.3. Output Sensor Posisi LED Super Bright dan Photo Dioda Sejajar Tabel 4.1. Tabel Pengambilan Data Sensor pada kondisi sejajar
VCC Vref Vin Vout Kondisi
4.5 V 2.1 V 4 V 2.7 V LED OFF
4.5 V 2.1 V 2 V 0 V LED ON
Sedangkan saat kondisi cahaya dipantulkan pada kertas sensor tidak dapat
membedakan hitam dan putih. Posisi pemas