Protonda glcd de fontlu yazılar oluşturma

Başlatan Mucit23, 29 Mayıs 2011, 23:11:11

Mucit23

Arkadaşlar Protonda Glcd ile bir proje geliştirmeye çalışıyorum. GLCD de fontlu yazılar oluşturmak için nasıl bir yol izlemeliyim. Birde glrafik lcdde print komutunu kullanırken satır ve sütün belirlerken diyelim satır ve sütünları 0 olarak belirledik. Böyle yaparsak eğer yazdıracağımız yazıyı grafik lcd de sol üst köşeye dayalı olarakmı yazdırıyor.

Mucit23

arkadaşlar mikroelektronikada font creator diye bir program indirip kurdum. Daha önce bu programın adı forumda anılmış ama kimse nasıl kullanıldığını anlatmamış. Bu programı kullananlar varmı nasıl kullanılıyor. Her font için ayrı inc dosyası oluşturmam lazım. Bir türlü yapamadım..

Mucit23

#2
Arkadaşlar grafik lcd kullanımında biraz ilerleme kaydettim. Bende fast lcd programı ile resim basma uygulaması yaptım. Başlangıç için iyi sayılırım. Programı yazıp hemen deney kitimde denedim. görüntü pürüzsüz şekilde çıktı.
Kullandığım işlemci 18F452, 20MHz deçalıştırıyorum. Yanlızilginç anlamadığım bir nokta var. 18F452 nin fuse configurator ile config ayarlarını yaptığımda lcd de görüntü sabit kalmıyor 1 sn de bir ekran tazeleniyor. Görüntü gidip yeniden basılıyor. Ama osc ayarlarıyla ilgili kısmı kaldırınca sorun düzeldi

Device 18F452

Xtal 20
TRISA=%00111111
TRISB=%00000000
TRISC=%00000000
TRISD=%00000000
TRISE=%00000000

PORTA=0:PORTB=0
PORTC=0:PORTD=0
    PORTE=0
    
All_Digital= TRUE                  'ADC PORTLARININ TAMAMI DİJİTAL GİRİŞ VEYA ÇIKIŞ
LCD_DTPort = PORTD                 
LCD_RSPin = PORTB.0                
LCD_ENPin = PORTB.2                
LCD_RWPin = PORTB.1               
LCD_CS1Pin = PORTB.4              
LCD_CS2Pin = PORTB.3               
LCD_Type =  Samsung               
Internal_Font = On                 
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 500
PORTB.5=1
 
Dim  Xpos    As Byte
Dim  Ypos    As Byte
Dim  Addr    As Word
Dim  char    As Byte
 
START:
 
     For Ypos = 0 To 7
         For Xpos = 0 To 127
 
             Addr = (Ypos*128)+Xpos
             char = CRead ENSN+Addr
             LCDWrite Ypos,Xpos,[char]
         Next
     Next
 
     DelayMS 3000
Cls
     End
 
 
Include  "ENSN.inc"


18F452 de ne işe yaradığını bilmediğim bir sürü sigorta var....

Birde şu font oluşturma işini çözersem eğer benden iyisiyok. Halaşu programları kullanamadım

pcb

GLCD font creator diye bir program var, bu programı indir, kullanımı çok basit, windows daki fontları import eebiliyorsun veya kendin yeni yazı fontları oluşturabiliyorsun.
hazırlaığın fontları bas uzantılı dosyaları kaydettiğin yere kaydet.
diğer uygulamadan eklediğin Include  "ENSN.inc" gibi font dosyasını da en alta ismini yazarak ekle.
programda font kullanmak istediğinde ise mesela font ismin ARIAL6 olarak kaydettin ve include dosyası Include "ARIAL6.FNT" olarak en alta ekle
programda yazı bastırmadan öncede
Print Font ARIAL6
Print   At  0,80, "osman" şeklinde yazmalısın.
programın baş kısmına ise ;

    Dim PP7HH As Byte System
    Dim PP7HHH As Byte System
    GLCD_EXTERNAL_PRINT = PPRINT

eklemeyi unutma , karmaşık yazdım belki çıkmak zorundayım , yardımcı olurum , kolay gelsin   


Mucit23

PCB Yardımın için teşekkür ederim
Programı indirip kurdum. Fakat bir türlü istediğim dosyaları oluşturamadım. Dediklerini program üzerinde nasıl yapmam gerekiyor..


Mucit23

Hocam verdiğiniz linki inceledim ve yolun sonu yine font converter programına çıktı. :) dünden beri epeyce uğraştım font dosyaları almak için ama yapamadım. İşlemleri hangi sıra ile yapmam gerekiyor. Hep kırmızı hata aldım

pcb

#7
fontları mı oluşturamıyorsun ?

sitesinde videlu anlatım olması lazım
http://www.high-logic.com/

Mucit23

evet
şu ArialK____12.txt, ARIAL8.txt gibi dosyaları

Mucit23

Arkadaşlar font converter programı ile yapmaya çalışıyorum. Hep resimdeki hatayı alıyorum. Bu programı kullanan hiç kimse yokmu.


Mucit23

Alıntı yapılan: pcb - 30 Mayıs 2011, 23:06:14
fontları mı oluşturamıyorsun ?

sitesinde videlu anlatım olması lazım
http://www.high-logic.com/

Hocam videolu anlatımı bulamadım ben.

pcb

resim büyük daha küçük resim kullanın diyor hata mesajında
ayrıca bahsettiğim program bu değil. yardımcı olmuyor kimse çünkü sitede örnekler çok var, sende araştırma hiç yok

öncelikle farklı büyüklükte ekrana yazı yazmak istiyorsan GLCD Font Creator programını kurmalısın. Bu program ile farklı boyutlarda harfler-rakamlar oluşturarak programda genelde en alt satıra eklenen include "font.inc" programın sabit fontu gibi kullanabilirsin. bunun için GLCD Font creator programını kur, sırası ile
File
New Font
import an existing System font

tıkla
windows dan farklı boyutta karakterler oluştur bunu bas doyasını kaydettiğin aynı klasör içine kaydet.
Kayıt edilen karakter içeren dosya verdiginisim.lcd olarak kayıt edilir. Bundan sonra ise Export butonu var orayı ve export for Proton basic yazan yeri tıklayarak yine bas uzantılı dosyanı kaydettiğin yere bu dosyayı da kaydet. dosya uzantısı verdiginisim.FNT sonra FNT uzantılı olarak kayıt edilen ismi programın en altındaki include satırının altına ekle.
include "font.inc"
include "verdiginisim.fnt"


daha öncede bahsettiğim programın üst kısmına eklemen gereken satırları ekle, örnek olarak PPrint için gereken ayar aşağıda

    Dim PP7HH As Byte System
    Dim PP7HHH As Byte System
    GLCD_EXTERNAL_PRINT = PPRINT


    Print Font verdiginisim
    Print   At  45,30 "GLCD creator"

    include "font.inc"
    include "verdiginisim.fnt"


   PPrint kullandığında print komutu için yazı konumunu satır değil pixel olarak vermelisin.

pcb


pcb

ekrana bir resim basmak istersek Fastlcd ve pixelv[1].2exe programını kullanıyoruz.
Fastlcd de hazır resmi ayarla veya kendin çiz sonra pixelv programında Resmi yükle - include dosyası oluştur. Bas uzantılı dosya içine kaydet inc uzantılı resim dosyasını

program içinde istediğin bir yere ise aşağıdaki programı ekle ama ismini kaydettiğin isme göre değiştir.

                    For ypos = 0 To 7
                    For Xpos = 0 To 127
                    Addr = (Ypos*128)+Xpos
                    char = CRead verdiginisim+Addr
                    LCDWrite ypos,Xpos,[char]
                    Next
                    Next

yine include "verdiginisim.inc" olarak en alta ekle

Mucit23

Hocam cevaplarınız için teşekkür ederim. Fast lcd programını kullanabiliyorum. Orada bir sorunum yok şükür. Font Creator programına gelince valla ne deseniz haklısınız. Ama gerçekten forumda birçok yere baktım. Dediğiniz gibi birçok konu var ama kimse sizin gibi ayrıntılı olarak anlatmamıştı(En azından ben göremedim.)
Yarın mutlaka bu dediklerinizi deneyeceğim. Tekrardan teşekkür ederim.