Bu çok sevimli mini termal yazıcı ile herhangi bir mikrodenetleyici projesine yazıcı ekleyebilirsiniz. Bir diğer değişle makbuz yazıcıları olarak da bilinirler, ATM veya bakkalda gördüğünüz yazıcı tipidir. Bu yazıcı bir mikrodenetleyici ile arabirim yapmak için idealdir. Metin, barkod, bitmap grafikleri, hatta bir QR kodu yazdırabilirsiniz. 3.3V ile 5V TTL seri çıktı üzerinden mikrodenetleyici ile haberleşir.
Güç:
Bu yazıcılar, özel makbuz kağıdını ısıtmak ve resim ve metin çekmek için bir termal kafa kullanmaktadır. Hareket eden mürekkep kafası yoktur. Bu nedenle bu kadar küçük boyutlarda üretebiliyor. Ancak termal baskı yapması çok fazla güç gerektirdiği anlamına gelir. Yazıcıyı 5 ile 9 Volt ve 1,5 Amper akımla beslenmesi gerekir! Yani harici bir adaptör gereklidir! Fakat ürün sayfasında 5v 2A kullanılması tavsiye edilmiştir.
Yazıcı Kağıdı:
Yazıcı termal baskı yaptığı için kağıdı da ısıya dayanıklı olmalıdır. Onun için bu yazıcıya uygun kağıttan almalısınız. Robotistan da bulabilirsiniz. Yazıcı bölmesine 2.25 inç genişliğinde 15 metreye kadar termal kağıt yerleştirebilirsiniz.
Yazıcının Çalıştırılması ( İlk Test ) :
Önce yazıcının kağıt bölmesine yukarıdaki şekildeki gibi termal rulo kağıdını yerleştirin. Ardından yazıcıya enerji vereceğiz. Adaptörü fişe takarken yazıcı üzerindeki düğmeye basılı tutun. Aşağıdaki gibi yazı tipi tablosunu ve bazı teşhisleri gösteren bir makbuz çıktısını görmelisiniz.
Bir çıktı almazsanız, kağıdın ve elektrik kablosunun doğru şekilde takılıp takılmadığını kontrol edin. Tekrar aynı şekilde çalıştırın. Yazıcı kağıda iletişim hızını yazacaktır onu not edin. Bu değer 19200 veya 9600 olabilir. Daha sonra bu numaraya ihtiyacımız olacak.
Arduino ile Yazıcının Kullanımı ve Örnek Uygulama:
Yazıcı seri iletişim üzerinden haberleşmektedir. Aşağıdaki şekilde giriş pinleri gösterilmiştir.
,
Pinlerin Açıklamaları:
VH = 5-9VDC güç girişi (güç fişinin topraklarını yukarıdaki verilerle aynı gnd ye bağlayın)
GND = Gnd ( Arduino ve adaptör)
RX = Yazıcı giriş verisi
TX = Yazıcının çıkış verisi
DTR = Bu uygulama için kullanılmıyor, boş bırakın.
Arduino Bağlantı Pinleri :
Örnek koddaki pin numaralarına göre bağlantıları şöyle. Yazıcının tx pinin arduinonun 5.dijital pinine, rx pinini ise 6.dijital pinine takınız. Gnd pinini de arduinonun herhangi bir gnd pinine takınız. Yani yazıcıdan arduinoya toplamda 3 kablo gitmiş olacak.
Arduino kütüphanesini indiriniz : Termal Yazıcı Kütüphanesi
Kütüphaneyi indirip zipten çıkartın ve klasörün ismini Adafruit_Thermal olarak değiştirip arduino kütüphanesine ekleyin. Arduino programı açık ise tekrar yeniden başlatın. Örnekler kısmından yazıcı kütüphanesindeki “A_printertest ” ismindeki kodu açın. Kütüphanenin baudrate değeri 19200 ‘dür. Yukarıda yazıcıyı ilk çalıştırdığımızda baudrate değerini yazmıştı.
Eğer sizdeki yazıcının baudrate değeri 9600 ise kaynak kodunda şöyle bir değişiklik yapmanız gerekecek. Adafruit_Thermal.cpp dosyasını herhangi bir metin düzenleyici ( not defteri olabilir) açın.
Şu satırı bulun :
#define BAUDRATE 19200
Bu satırdaki 19200 değerini 9600 olarak değiştirin ve kaydedin.Şimdi örnek kodu arduinoya yükleyin. Bu kod ile yazıcı aşağıdaki gibi bir çıktı verecektir.
Yazı Yazdırma:
Kütüphane Fonksiyonlarının Görevleri:
inverseOn() >> Bu fonksiyondan sonra yazdırılan karakterler beyaz, arka plan siyah olur. Yukarıdaki çıktının ilk satırında olduğu gibidir.
inverseOff() >> Bu fonksiyondan sonra yazdırılan karakterler siyah, arka plan ise beyaz olur.
doubleHeightOn()>> Yazının yüksekliğini iki kat büyütür.
doubleHeightOff()>> Yazının yüksekliğini iki kat küçültür.
justify(‘R’) >> Yazıyı kağıdın sağına hizalar.
justify(‘C’) >> Yazıyı kağıdın ortasına hizalar.
justify(‘L’) >> Yazıyı kağıdın soluna hizalar.
boldOn() >> Yazıyı kalın yazar.
boldOff()>> boldOn() sitilinde yazdıktan sonra normal sitile dönmek için kullanılır.
underlineOn()>> Yazının altını çizer.
underlineOff()>> underlineOn() sitilinde yazdıktan sonra normal sitile dönmek için kullanılır.
setSize(‘L’)>> Büyük boyutta yazar.
setSize(‘M’)>> Orta boyutta yazar.
setSize(‘S’)>> Küçük boyutta yazar.
setLineHeight()>> Bu fonksiyon satır aralığını değiştirebilirsiniz. parantezin içerisine boşluk piksel değerini giriniz. 24 den büyük değer giriniz. Varsayılan satır aralığı 32 ‘dir.
Logo ve Barkod Baskısı Yapımı:
Buradaki linkten lcd programını indirin >> http://en.radzio.dxp.pl/bitmap_converter/LCDAssistant.zip
Bu program sadece BMP fotmatındaki dosyalarda çalışmaktadır.
Yukarıdaki resimde örnek dosya açılmış. Şekildeki gibi Horizontal olarak seçin. Burada dikkat etmeniz gereken yer widht değeridir. Bu yazılım 8 bitlik yatay görüntü olarak işlediğinden, widht değeri de 8 in katı bir değer olmalıdır. Eğer 8 in katı olmaz ise bu değere en yakın katı olan yerde yani 72 değerine kadar şekli işler ondan sonraki kısmı keser. Bu nedenle şeklin tamamını yazdırmamış oluruz Widht değeri 75 ise en yakın 80 yapabilirsiniz. Yüksekliği ayarlamaya gerek yoktur. Programın sol alt kısmında tablo adı yazan yeri doldurun. Ardından kaydedin.
Bu programı kullanmak yerine kütüphane dosyasındaki processing programı bitmapImageConvert.pde kodunu processing programında açın ve çalıştırın. Resim dosyası seçin ve onaylayın. Böylece h uzantılı dosya oluşacaktır. Bu yöntem daha iyidir. Diğerinde boyut ayarlamak gerekiyordu.
A_printertest örnek kodunu açın. Yukarıdaki şekildeki gibi yan sekmedeki adalogo.h dosyasını açın. Şimdi oluşturduğunuz dosyayı editör ile açın. Oradaki dataları kopyalayın ve adalogo.h dosyasındaki dataların yerine yapıştırın. Ana koddaki printBitmap(width, height, tablename) fonksiyonu ile logoyu veya resmi yazdırabilirsiniz.
Kaynak: Adafruit mini thermal printer
öncelikle arduino hangi modelinin almam lazım ve yazılım olarak ne kullancam bu yazıcıyı kullanmak için röleden kuru kontak alıp arduino girip bilgi var ise yazıcadan barkod çıkart dicem nasıl yapabilirim
İstediğiniz arduino modelini kullanabilirsiniz. yazıcıyı 5v 2amper dc adaptörle besleyiniz. yazılım olarak yukarıda kütüphaneleri yükleyip içindeki örnek kodları kullanabilirsiniz. Proje içinde adım adım bahsettim.
Bu model Yazıcının kablo bağlantıları şu şekilde:
Siyah kablo = gnd (arduino ve adaptör eksi ucu)
mavi kablo = rx ( arduino)
yeşil kablo = tx(arduino)
Kırmızı kablo = adaptörün artı ucu
yeşil kablo boşta bırakın.
Merhaba , termal yazıcı marka ve modeli fark eder mi? yazıcının haberleşme pinlerine erişmek için kutuyu mu açıyoruz? USB ile bağlanan bir model için de yukarıdaki anlatım geçerli midir? Teşekkürler
merhabalar kolay gelsin lx-300ii yazıcıya hc-05 modül takıp fatura yazdırmak istiyorum bağlantıları yapıyorum AT komutlarıyla ayarlarıda ayapıyorum ama pc den yazı gönderdiğimde ya hiç harteket yok yada saçma karakterler yazıyor yanlış yaptığım ne acaba yardımcı olursanız sevinirim (not: başka hc-05 modülle çalışan cihazdan söktüğüm modülü bağlayınca yazı alabiliyorum)