termal yazıcı kullanımı

Başlatan Recep_, 15 Eylül 2017, 20:58:32

Recep_

Arkadaşlar elimde iki adet termal yazıcı var biri usb arayüzlü diğeri ise seri haberleşme (TTL) ile kullanılıyor.
Seri haberleşme ile kullanılan yazıcıyı arduino ile Rx - Tx üzerinden kontrol edebiliyorum.
Elimdeki diğer termal yazıcıyı da pic yada arduino ile kontrol etmek istiyorum.
Cihaz usb arayüzlü bilgisayara bağlayıp C# ta yazdığım kod ile istediğimi yazdırabiliyorum.
Size sorum aynı şekilde arduino ile bu usb arayüzlü yazıcıyı kontrol etmek için ne yapabilirim yada daha doğrusu mümkün müdür arduino ile usb bir cihaza komut gönderip kontrol etmek ?

mehmet

Arduino usb host shield ile yapılabilir diye düşünüyorum.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ÜC

    Seri haberleşme ile kullanılan yazıcıyı arduino ile Rx - Tx üzerinden kontrol edebiliyorum.

   Tecrube sahibi olduğunuzu düşünerek size sormak istiyorum. Örneğin bu yazıcıdan sıramatik numarası basmak istedim. Kağıdın üstünde firma adı adresi v.s , altında reklam , saat , temenni v.s olacak. Ortada sıra nosu. Her numara yazmak istediğimde tüm formatımı gönderiyoruz yoksa format daha önceden hazırlanıyorda yalnızca sıranosunumu göndermemiz gerekiyor yazıcıya ?

kimlenbu

@umitco, bahsettiği termal yazıcılarda 2 mod var, karakter modu ve bitmap modu. Karakter modunda cihazın dahili fontları arasından seçip direkt yazdırabiliyorsun.

bitmap modunda da barkod, logo, özel font yazdırmak istersen, piksel piksel data gönderiyorsun. Sıramatik için söylediği ucuz yollu termal printerlar yavaş kalabilir, baskı hızı yüksek değil.

ÜC


Peki karakter modunda MERHABA DÜNYA için bu veya benzeri bir yapımı gönderiliyor ?

32,32,32,32,32,32,32,32,32,32,32,13,10
32,32,32,32,32,32,32,32,32,32,32,13,10
32,32,32,32,32,32,32,32,32,32,32,13,10
32,32,"MERHABA",32,32,13,10
32,32,"DÜNYA,32,32,32,32,13,10
32,32,32,32,32,32,32,32,32,32,32,13,10
32,32,32,32,32,32,32,32,32,32,32,13,10
32,32,32,32,32,32,32,32,32,32,32,13,10

32=Boşluk karakteri

kimlenbu

#5
Her satır sanırım fonta göre maksimum 24 karakter alıyordu
Kullandığım kodlardan örnek vereyim :

putchar(27);putchar(61);putchar(1);  // Printer Online
putchar(27);putchar(64);  // Initialize Printer
wait_msec(500);
putchar(27);putchar(33);putchar(48); //DOUBLE H/W
putchar(0X0A); //Alt satıra geç
putchar(0X0A);
putchar(0X0A);
PrintThermal("    MERHABA    ");putchar(0X0A); //0x0A : Yazdir ve satir besle
PrintThermal("    DUNYA        ");putchar(0X0A); //0x0A : Yazdir ve satir besle
putchar(0X0A);
putchar(0X0A);

void PrintThermal(unsigned char *TData)
{

	while (*TData)
	{
	putchar(*TData);
	TData++;
	}
}


ÜC

#6
        Bilgilendirme için teşekkürler kimlenbu hocam , tavsiye edebileceğiniz orta ölçekte karakter modunu ve seri iletişimi destekleyen bir yazıcı varmı ?

Recep_

Alıntı yapılan: umitco - 16 Eylül 2017, 01:23:13
    Seri haberleşme ile kullanılan yazıcıyı arduino ile Rx - Tx üzerinden kontrol edebiliyorum.

   Tecrube sahibi olduğunuzu düşünerek size sormak istiyorum. Örneğin bu yazıcıdan sıramatik numarası basmak istedim. Kağıdın üstünde firma adı adresi v.s , altında reklam , saat , temenni v.s olacak. Ortada sıra nosu. Her numara yazmak istediğimde tüm formatımı gönderiyoruz yoksa format daha önceden hazırlanıyorda yalnızca sıranosunumu göndermemiz gerekiyor yazıcıya ?

ben her tuşa basıldığında farklı birşey yazdıran bir proje yaptım . mesala 1. butona basıldığında ahmet 2. butona basıldığında mehmet yazıyor yani iflerin içerisine ne yazar iseniz onu yazdırır. Kalın yazdırma altı çizili yazdırma gibi komutlar var bunları her seferinde değiştirecek iseniz iflerin içine yazarsınız yok sabit olacaksa bu özellikler setup kısmına bir kez yazar bir daha değiştirmezsiniz.

Recep_

Alıntı yapılan: kimlenbu - 16 Eylül 2017, 10:07:46
@umitco, bahsettiği termal yazıcılarda 2 mod var, karakter modu ve bitmap modu. Karakter modunda cihazın dahili fontları arasından seçip direkt yazdırabiliyorsun.

bitmap modunda da barkod, logo, özel font yazdırmak istersen, piksel piksel data gönderiyorsun. Sıramatik için söylediği ucuz yollu termal printerlar yavaş kalabilir, baskı hızı yüksek değil.
evet doğru yavaş kalıyor . peki diğerini nasıl kullanabilirim usb host alsam kesin işe yarar mı hocam

kimlenbu

@Recep_, usb olanını kullanmadım ama tahminim ftdi vs gibi bir usb/seri çevirici ile sanal comport yaratıyordur. arduino vs ile usb üzerinden kontrol etmek sol kulağını sağ elinle tutmak gibi bir iş.

elimde olan yazıcıyı değerlendireyim diyorsan boşuna emek sarfedersin, microcontroller kullanacaksan seri haberleşme olanları kullanman yerinde olur. üzerinde linux çalıştıracağın raspberry vs gibi bir ortam olursa usb kullanmak anca o zaman mantıklı olur.

Recep_

Hem elimdekini kullanmak niyetim hemde usb ile olanlar hem daha verimli hem daha ucuz o sebeble tekrar aynı işten yapmam gerekirse diye öğrenmek istedim.
Sonuç olarak usb host almaya karar verdim yorumlarınız için teşekkürler iş bittiğinde sonucu buradan yazarım.