Xedi.Xermawan's Blog

personal-technical blog

Interface barcode ke mikrokontroler AVR atmega.

with 17 comments

Barcode Scanner banyak digunakan di toko-toko retail untuk men-scan barang barang yang akan dibayar pembeli di kasir atau digunakan di perpustakaan untuk mempercepat petugas mendaftar buku-buku yang akan dipinjam. Dengan adanya alat ini semuanya menjadi cepat dan mudah, karena setiap jenis barang memiliki kode barcode sendiri yang unik sehingga bisa dikelompokkan dengan mudah. Seperti halnya keyboard dan mouse , terdapat banyak macam tipe barcode scanner berdasarkan jenis komunikasinya, misalnya barcode scanner serial, PS/2, dan USB. Pada proyek kali ini barcode scanner PS/2 yang akan digunakan, sehingga penanganannya sama dengan keyboard PS/2. Komunikasi PS/2 adalah komunikasi serial asinkronous yang menggunakan 2 kabel yaitu data
dan clock.
Namun jangan salah sangka, serial sinkronous disini bukanlah protokol I2C(eis to see atau twi, atau apalah). konektor yang digunakan yaitu mini Din female. barcode scanner disini akan digunakan sebagai validator apakah seseorang berhak menggunakan peralatan tersebut atau tidak, jadi siapa orang yang memiliki kartu dengan nomor barcode yang sesuai berhak menggunakannya. Dan untuk mengetahui apakah ada orang yang menggunakan scan barcode tersebut, data hasil scanning dikirim melalui SMS ke nomor tertentu. Ide awal proyek ini bukan dari saya sendiri, namun dari orang lain , sehingga seberapa efektif alat akan berguna, saya sendiri meragukannya πŸ™‚ . mikrokontroler yang digunakan yaitu avr Atmega32(sebenarnya terlalu berlebihan, dapat digunakan tipe lain) dari Atmel. PORTD.2 digunakan untuk clock, dan data di PORTD.7. PORTD.2 difungsikan sebagai pin untuk interupt eksternal, sedangkan PORTD.7 sebagai input biasa. berikut koneksinya :

offground1

Resistor pull-up yang digunakan sebesar 10 kOhm. Timing diagram dari data yang akan ditangkap adalah sebagai berikut :

offground21(seperti halnya untuk keyboard PS/2)

Fungsi utama pengambilan data ada di rutin interupt eksternal :

interrupt [EXT_INT0] void ext_int0_isr(void)

{

static unsigned char data;

if (!edge)

{

if(bitcount < 11 && bitcount > 2) // 1=start,8 bit //data,1=parity =1 stop bit //,Bit 3 to 10 is data. Parity bit,

{ // start and stop bits tidak masuk

data = (data >> 1);

if(PIND & 8)

data = data | 0x80; // ‘1’

}

if(bitcount==11)

{

mycount++;

}

MCUCR = 3;

edge = 1;

}

else {

MCUCR = 2;

edge = 0;

if(–bitcount == 0) // All bits received

{

decode(data);

bitcount = 11;

}

}

}

rutin rutin yang lain adalah untuk men-decode byte-byte yang masuk menjadi karakter ASCII, melalui sebuah look-up tabel. Untuk keperluan pengiriman SMS, digunakan handphone Siemes M45, dengan koneksi serial RS232. PDU yang dikirim disini tidak berubah-ubah(static) sehingga tidak perlu membuat generator PDU sendiri, cukup copy paste dari PDU generator yang sudah ada, misalnya http://www.rednaxela.net/pdu.php . Gambar alat :

offground3

file proyek ini sebenarnya sudah lama bercokol di HD ku (kira-kira sejak 2007, August), saya posting semoga berguna. (listing dengan bahasa C, IDE Code VisionAVR).

Download Code

Referensi : Atmel Application Notes

Written by XediXermawan

November 21, 2008 at 12:00 pm

Posted in elektronics design

17 Responses

Subscribe to comments with RSS.

  1. mas mau tanya gimana kalau IC nya di ganti dengan IC AVR atmega 8535 .bisa tak mas .matur suwun

    agus whd

    November 23, 2008 at 4:59 am

  2. bisa saja, namun ngepress. program diatas membutuhkan 1/4 dari program memori atmega32==>8kb, pdhal atmega8535 memiliki program memori 8kb.

    oth3rside

    November 24, 2008 at 6:04 am

  3. gmn klo ICnya diganti 7805 saja mas?bisa tak?

    kikikikkk….
    piss,prop πŸ˜€

    mif_rakyat_jelata

    December 1, 2008 at 4:21 am

  4. diganti Resistor ae Mip murah……
    hahahaha πŸ˜€

    oth3rside

    December 4, 2008 at 12:00 pm

  5. Mas, mohon bantuannya dong…
    Saya lagi ngerjain tugas akhir, dan yang saya kerjain berhubungan dengan barcode scanner sama uC ATmega. Bisa pilihin program mana aja yang digunain intuk interfacing BS dng uC ga, punya Mas kan ada pake SMS nya jga? Saya dah download program Mas, tapi ga ngerti, mana yang dipake buat interfacing BS dng uC aja. Maklum pemula di uC AVR. Tolong dikirimin ke email saya y Mas. Makasih banget Mas.

    mailto:fireboltattack@yahoo.com

    project file terdiri dari.c dan .h simpan dalam 1 folder lallu buka projectnya di CodeVision avr
    kb.c ->main program
    lut.c->tabel look-up untuk karakter barcode/keyboard
    pstu.c-> yang handle pengambilan karakter dari barcode/keyboard
    smoga mmbantu…

    lynch

    April 21, 2009 at 11:44 am

  6. mas klo bs diposting sekalian skematik rangkaiannya..atau boleh dikirim ke email saya: njlaboet@gmail.com.

    trus nanyajuga.. scanner barcode di sini tu menscan berapa bit dari kode warna gelap terang yg biasa discan..
    Mohon juga dijelaskan prinsip pembacaan kode sampai pengolahan di mikro nya dlm tampilan LCD.

    Thanks.

    CJ DW

    September 16, 2009 at 4:11 pm

  7. @cj dw
    rangkaian nya cuma sperti yang diatas(line clock-data,di pull-up)
    data yang dikeluarkan barcode project ini 8-bit yang dikirim secara serial sinkron
    penulisan LCD nya menggunakan library codevision
    pembacaan,dll->bisa di pelajari di source code yang bisa di donlot diats πŸ™‚

    oth3rside

    September 17, 2009 at 5:14 am

  8. Mas, tolong bantuannya. saya lagi ngerjain tugas akhir yang berhubungan dengan barcode reader. saya mau download source code-nya. tapi link diatas sudah tidak ada. mohon dikirimkan soure code-nya ke toby_christal@yahoo.com.

    kemudian, program buat baca keyboard sama barcode apakah sama??
    terima kasih sebelumnya

    Khudjatul Khaq

    February 27, 2010 at 1:51 pm

    • Asslmlkum Khudjatul Khaq,

      setelah saya cek, memang benar link download di posting saya sudah hilang, karena sudah terlalu lama tidak diakes. Dan sangat sayang sekali saya tidak menemukan backup file tersebut. tanya: program buat baca keyboard sama barcode apakah sama?? jawab: sama, jika barcode dan keyboard tersebut memiliki interface komunikasi yang sama.misalnya PS/2 (aplikasi yg pernah saya buat memakai PS/2).

      kamu bisa melihat dokumentasi interface pS/2 dengan micro di situs ATMEL.

      thank, semoga membantu. edie.

      oth3rside

      March 5, 2010 at 2:51 am

  9. mas,,mw minta bntuannya,,q lg bwt tgs akr tntg barcode reader..tp bwt pengaman kendaraan..trus jg pake sms gt..pake mikro IC atmega8535 ,,,bisa gk?konektorny PS2,,bisa minta pin code barcode ma PS2 gk????n ju2r gk taw sm skali progrm ny barcode..cara connectnya ke mikro gmn??muakasih buanget…n tlg dikirim k emailq…==> vian.ecy@gmail.com

    ecy..

    March 23, 2010 at 3:39 am

  10. mas aku mau bikin pengaman kendaraan yang bisa kirim sms dan membunyikan bel dan memakai timer supaya motor bisa mati sendiri,boleh minta skripnya/pin codenya kirim ke emailq (arif_satriafu@yahoo.co.id)

    arif

    April 8, 2010 at 7:42 am

  11. mas mw minta tolong bantuannya mas,saya sedang membuat tugas akhir nih,saya tertarik untuk membuat barcode dengan keluarannya mikro,klo pke atmega 16 bisa kn mas??saya minta tolong kirimin cara kerjanya mas,saya bener-bener gak tahu tentang barcode…makasihhh y mas

    email saya sidik_four@yahoo.com

    sidik

    April 8, 2010 at 10:35 pm

  12. mas,..saya membuat sebuah alarm mengunakan modul k125-r atmega8, dimana settingan untuk waktu alarm tersebut saya setting melalui PC (program visual basic), tetapi stlah jln beberapa bulan ini ada bebrapa settingan waktunya tidak berfungsi & hrus direset untuk menormalkan settingan wktu sbelumnya,.
    bagaimana caranya supaya modul tersebut tidak perlu direset,
    apakah perlu ditambah RTC ..?
    apakah Driver relay juga ikut mempengaruhi resetnya .? terimakasih sblumnya

    Deddy Saputra

    December 4, 2012 at 6:03 pm

  13. mas mw minta tolong bantuannya mas,saya sedang membuat proyek akhir,ssaya memakai atmega32 tolong bisa kirimi saya skematik adn source code nya, karena source codenya tidak bisa di download, email saya ilmanarzak@yahoo.com

    ilman

    May 14, 2013 at 3:04 pm

  14. assalamualaikum.
    mas saya boleh minta source code sma skematiknya tentang barcode itu..
    mohon bantuannnya ya mas ini email saya.
    yudawimsalam@gmail.com

    yudawim

    April 29, 2014 at 11:39 am

  15. Mas saya lagi buat tugas akhir menggunakan barcode. mas saya boleh minta source code sma skematiknya tentang barcode itu..
    mohon bantuannnya ya mas ini email saya.
    ponco_xl@yahoo.com

    ponco

    May 17, 2014 at 1:35 pm

  16. Mas ….bisa buatin interfacing keyboard PS2 ke avr atmeg8…?
    sigmaonebatam@gmail.com

    -

    May 27, 2016 at 1:59 pm


Leave a comment