Merhaba Değerli Arkadaşlar bu yazımda sizlere Barkod okumayı anlatacağım.Son iki yazımda bildiğiniz üzere barkod hakkında bilgiler vermeye çalıştım.Bu yazımda artık sizlerle bir barkodun nasıl çözümleneceğini anlatacağım.

Şunu hatırlatıp yazıma öyle geçeceğim.Ben bu yazımda veya önceki yazılarımda Teknik olarak anlattığım Barkod;Türkiye standartlarında kullanılan EAN-13 barkodlarıdır. Aşağıda Programımın çıktısından da Görebilirsiniz örnek EAN-13 standartındaki barkodu…

EAN-13 barkod standartlarında önceki yazılarımda da belirttiğim üzere siyah ve beyaz çubuklar bulunmaktadır.Bu çubuklar kalınlık derecelerine göre ve renklerine göre bilgisayarda işleme alınır. Siyah renkte bulunan çubuklar 1 le ifade edilirken beyaz çubuklar ise 0 ile temsil edilir.

Bununla beraber en kalın siyah çubuk dört adet 1 (1111) ile temsil edilirken en ince siyah çubuk ise tek 1 ile temsil edilir.Bu 2 si arasında 2 tane daha geçiş vardır ki onlarda kalınlık derecelerine göre en inceden sonra geldiğinde 2 adet 1 ile ondan sonra gelen ise 3 adet 1 ile temsil edilmektedir.Bu durumun aynısını beyaz çubuklar içinde düşünebilirsiniz.Onda da en ince çubuk tek 0 a tekabül etmekte ve en kalın beyaz çubuk ise 4 adet 0 a tekabül etmektedir.Aradaki geçişler siyah çubukla aynıdır.

Öte yandan EAN-13 standartında ki barkodlar da başlangıç ve bitiş bitleri 101 olmak zorundadır.Bununla birlikte ortada 01010 bit dizisi bulunmaktadır.Bu bit dizisi  firma koduyla ürün kodunu ayırmak üzere bulunur.Her barkod da başlangıçta,ortada ve sonda olmak üzere bu 3 bit dizisi olmak zorundadır.

Barkod Çözümleme

Şimdi örnek olması açısından 869-4016-00001-1 referans kodlu Aşağıdaki Barcodu Ele alalım.

Şekil-1

Bu barkodu kalınlık incelik çizgisine göre bit dizisine çevirirsek aşağıdaki şekilde olacaktır.

Şekil-2

Bu bit dizisi içerisinde ilk başta ve sonda bulunan 101 bitlerini kaldıralım.Ardından da ortada bulunan 01010 bit dizisini kaldırdıktan sonra geriye kalan bit dizisi içerisinde her 7 bit bir rakama denk gelmektedir.Örneğin  verdiğimiz örnekte ki ilk 101 dizisini çıkardığımızda geriye kalan 0101111 dizisinin karşılığı 6 sayısı olmaktadır.Bu bit dizilerine karşılık gelen Tablo aşağıda verilmiştir.

Şekil-3

Yukarıdaki tabloda her bir değer için tek ve çift özelliği belirtilmiştir.Sayılara göre ve konumlarına göre bu belirtimin kuralıda aşağıda verilmiştir.

Şekil -4

Son olarak bu bit dizilerinin karşılıklarını tablodan bulduktan sonra karşımıza gelen 10 luk tabanında ki sayılar üzerinde hata kontrol testi yaparız bunun sonucunda bir sorun yoksa o zaman barkodumuz doğru okunmuştur demek.Aşağıda programımızın son çıktısı verilmiştir.

 

Şekil-5

 

Böylece Bir yazımın daha sonuna gelmiş bulunmaktayım.Bir sonraki yazımda görüşmek dileğiyle şimdilik esen kalın…!!

Mehmet Salih Deveci

Bilgisayar Mühendisi

 

Reklamlar
yorum
  1. Göksel Güren dedi ki:

    Güzel yazı Mehmet Bey, teşekkürler.

  2. Aytaç dedi ki:

    Ben windows mobile 6.5 da barcode okutmaya çalışıyorum (c# dilini kullanarak) bu konuda yardımcı olabileceğiniz döküman ya da source code ya da “.dll” var mı? ben desktop uygulamalarında rahatça okutmama rağmen mobile uygulamada “system.drawing.dll” uyuşmazlığı çıkması sonucunda gerçekleştiremiyorum işlemi önerebileceğiniz her türlü fikre açığım şimdiden teşekkürler.

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Aytaç bey mobile konusunda problemler herkeste nedense meydana gelen bir sorundur… Bu konuda genelde ortaya çıkan problem ise emülatör de çalışan uygulamanın telefonda rahatça çalışmaması şeklindedir… Bu konuda gözlemlediğim sebeb ise genel olarak telefonun donanım yada gerekli yazılımlarının eksilkliği şeklindedir. Ben şuana kadar windows mobile için barkod okuma yapmadım… C# ta barkod okuma yaptım… bu yüzden böyle bir hataya rastlamadım ama dediğim gibi temel sorun telefonda genel olarak o uygulamanın çalışması için gerekli bir iki yan yazılımın eksikliğidir…!!

  3. dogus dedi ki:

    Mehmet bey verdiğiniz bilgiler için teşekkür ederiz. benimde bir sorum olcaktı acaba bu işlemi cep telefonuna android işletim sistemi olan cep telefonuna uygulamak istiyorum bunun için biraz bilgi verirseniz cok sevinirim….
    şimdiden teşekkür ediyorum…

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Doğuş bey eğer sıfırdan başlıyorsanız http://androidappdocs.appspot.com/index.html linkteki Android in developer ları için tutorial ve örnek kodlarının bulunduğu siteyi ziyaret edin…Ordan ilkin eclipse üzerinde Android sdk sını plugin olarak yükleyin ardından da o siteden yararlanın….O sitede iyi incelediğinizde bulamayacağınız bilgi yoktur…

  4. dogus dedi ki:

    teşekkür ederim Mehmet ben o siteyi ziyaret etmiştim ama örnek kod vb bir şey görememiştim acaba burada indirdiğim apk uzantılı bir programa tersine mühendislik yapma şansım var mı

  5. adem dedi ki:

    mrblr ben txt dosyasından barkotun yazdıgı (her bir veri alt alta olacak şekilde birbirlerinden ayrılıyor) verileri toplayıp excel e verilerin isimlerine karşılık gelecek şekılde txt de kaç adet veri varsa toplayıp excel deki isimlerin karsılarındakı sütünlara kaç adet olduklarını aktarmak istiyorum bunu nasıl yapabılırım yardıcı olabılırmısınız şimdiden tskler…
    ,

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Barkodun verisini okumak için barkod okuma yapmalısın bunun için bu makale ve devamını iyi okuyup uygulaman lazım….Ardından gelen kısım ADO.Net bilgine bağlı C# ile Excell e bağlantı yapıp verilerini yazdırman lazım….!!!

  6. adem dedi ki:

    site açılmıyor 😦

  7. adem dedi ki:

    ok tsklr cook sağolun…

  8. deniz dedi ki:

    merhabalar benım de barkod okuma programı yazmaya ihtiyacım var yardımcı olur musunuz lütfen ?
    bu yazı barkod okuma ile ilgili son yazı olmuş sanırım ama benım android ile barkod okumam lazım bu konu ile ilgili başka yazınız olmayacak mı ?

    • BİLGİSAYAR MÜHENDİSİ dedi ki:

      Şuan Askerde olduğum için İlgilenemiyorum kusura bakmayın….İyi Çalışmalar….

  9. deniz dedi ki:

    Anlıyorum sizi ama kaç gündür aramama rağmen bu konuda kaynak yok gibi bir şey önerebileceğiniz kaynak var mı acaba?

  10. Osman EKİZ dedi ki:

    Selamın Aleyküm.Ben Android üzerinde barkod okutma sistemi tasarlamayı düşünüyorum ancak androidde java dili kullanılmakta bu yüzden zorluk çekmekteyim benim bu konuda nasıl bir araştırma yapmam gerektiğini ve hangi kaynaklardan yararlanmam gerektiğini söyleyebilir misiniz? Selamlar.. Teşekkürler…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s