|
Aylar sonra tekrar merhaba herkese.
Nisan 2005 ‘de yayınlanan termal yazıcı
uygulamam ne yazık ki yarım kalmıştı. Aylar sonra, nihayet tekrar yolları
sıvayıp projeyi tamamladım ve tıkır tıkır işler hale getirdim. Sistem Nisan
2005’de anlatılanla aynı fakat ufak tefek değişiklikler yaparak yazıcının
hızlanmasını sağladım.
Sistem kabaca şöyle çalışıyor:
1-
Bilgisayarda yazdıracağımız resmi hazırlıyoruz.
2-
Resmi
seri belleğimiz olan ve resmin boyutlarına göre kapasitesi değişen 24LCxx ya da
24LCxxx’e yüklüyoruz.
3-
Seri
belleğimizi devrede yerine yerleştirip devrenin cereyanını veriyoruz.
4-
PIC
başlıyor resmi okuyup yazdırmaya. Bitince de bir LED yanıp işlemin bittiğini
bildiriyor.
Devremizin blok diagramı aşağıda
görülmektedir.


Birazda seri belleğe yükleceğimiz
resmin özelliklerinden bahsedelim.
Resmimiz;
.bmp uzantılı, 1bit renk derinlikli,
yani sadece siyah ve beyazdan oluşmuş, boyutları da 384 pixele, x uzunlukta
olmalıdır. (Resmin boyu önemli değil. Önemli olan işlevi)
Kısaca .bmp dosyası nedir onu da
anlatalım. Resmi oluşturan her bir noktayı bozmadan, sıkıştırmadan ve
değiştirmeden yani olduğu gibi pixel pixel saklayan dosyalara bitmap dosyaları
diyoruz. Bu dosyalarda data aşağıdaki resimde anlatıldığı gibi saklanır.
Dosyanın başında “header” ve sonrasında da resmi oluşturan “data” bilgisi yer
alır. Burada bilinmesi gereken ise şudur. Bitmap formatında saklanan resimlerin
başaşağı kaydedildiğidir.

1- Herhangi bir resim dosyasını
kullanmasını bildiğiniz bir photoshop programı ile açınız.

2- Resmin genişlik boyutunu 384 pixel’e
ve resmin çözünürlüğünü 72dots/inc’e ayarlayınız.
Resmin yüksekliği yeniden boyutlandırma
sırasında otomatik olarak ayarlanacaktır.

3- Yeniden boyutlandırdığınız resmin
renk derinliğini 1bit (siyah-beyaz) olarak ayarlayınız.
Burada dikkat edilecek nokta, resmi
siyah-beyaz’a dönüştürürken daha kaliteli görünmesi için “Error Diffusion”
kullanılması gerekmektedir. Bu sayede siyah ve beyaz olmasını istediğimiz
resimde toplu halde siyah ve beyaz bölgeleri yok etmiş olup, resmi oluşturacak
siyah ve beyaz noktaların dağılımını sağladığımız için de gri tonlamalar
varmışçasına bir resim elde etmiş oluruz.


4- Resmin termal yazıcıdan bize göre
ekranda göründüğü gibi çıkması için de resmi tepetaklak yani flip ederek son
işlemi de gerçekleştirmiş oluyoruz.

5- Resmi devremizde bulunan 24LCxxx
entegresine yükleme işlemine geçiyoruz. Bunun için Bu entegreyi programlayabilen
bir programlayıcıya ve bilgisayar programına ihtiyacımız olarak. Ekran
görüntüsünde de görüldüğü gibi IC-Prog programı kullanılmıştır.

6- Programda entegremizi
programlayabilmek için gerekli değişiklikleri yaptıktan sonra resmimizi bu
program ile açıyoruz.

7- 24LCxxx entegremizi programlayıcıya
takıp yükleme işlemine geçiyoruz.

8- Programlama işlemi yaklaşık 1-2 dk
sürebilir. İşlem bittikten sonra 24LCxxx entegremizi termal yazıcımızın
bulunduğu devrede yerine takıyoruz ve devremize enerji veriyoruz. Yazma işlemi
bittikten sonra devrede bulunan LED yanarak yazım işleminin sona erdiğini
bildiriyor.
Termal yazıcıdan çıktısını aldığımız
resmin orjinali.
Yazılmasını istediğimiz ve 24LCxxx
entegresine yüklediğimiz resim.

Yazıcıdan çıkan resim. Devre minimum
2-3 Amper arası güç istemektedir. Resimde de görüldüğü üzere bazı bölgeler koyu
bazıları aydınlık çıkmış. Bunun sebebi devreye yeterli miktarda enerji
verilmemesidir.

Projenin çalışan videosunu izlemek
isteyenler için DivX formatındaki video’da burada
termal_printer.avi
Projenin kaynak kodlarını
yayınlamıyorum. Bunun yerine proje ile ilgilenen arkadaşlar lütfen benimle
irtibata geçsinler. Herkese iyi çalışmalar dilerim.
Muhabbetle..
azmi-nalbantoglu.jpg
zidged@ttnet.net.tr
|