Türkiye'de ucuz ve minik Grafik gösterge

Başlatan z, 21 Ocak 2016, 16:11:13

ferit06

#45
Bu displayi kullanmadım ama start line ayarlandıktan sonra page işlemi başlangıç satırına göre değişiyormu? Bu şekilde deneyebirmisiniz? ( yeni başlangıç sayfasını  0 olarak verrerek)

z

Bu displayı kullanan arkadaşların yorumu olmayacakmı?

Mesela AxB boyutlarında bir font kullanıyorsunuz.

İki satır arasındaki bosluk sayısını kolayca değiştirebiliyormusunuz?

Uzun uzun kod yazmaya başlamadan önce display'ın hardware kolaylığı varsa bilmek isterim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Elektroemre

Hocam bunun için bence en temiz yol, MCU'da 1KB'lık buffer oluşturun (Frame buffer).
Orada istediğiniz tüm işlmeleri yapıp, Bank'ları set edip, buffer'ı DMA ile basın.
Ekran tazelenmesi gerektiğinde tüm ekranı doldurun. HUnharca kaynak harcanıyormuş gibi gözüksede çok temiz oluyor.
Tüm data tek seferde hızlı basılınca kırpışma efektide çok çok azalıyor.

HeCToR

#48
Alıntı YapMesela AxB boyutlarında bir font kullanıyorsunuz.

İki satır arasındaki bosluk sayısını kolayca değiştirebiliyormusunuz?

Glcd_SetFont(Font_6x8, 6, 8, 32, 127); // öncelikle kullanacağınız font değerlerini tanımlıyorsunuz.
Glcd_ConstText(8, 4, "A");

İstediğiniz gibi boşluk bırakmak için grafik lcd üzerinden örnek veriyim Glcd_ConstText(8, 4, "A"); Sekizinci sütun dördüncü satıra A'yı yazdır diyorum.Oled çalışma mantığıda aynı olması lazım hocam bu şekilde istediğiniz yere basabilirsiniz fontu.

Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

Karamel

Alıntı yapılan: CORTEX - 29 Ocak 2016, 23:40:39
Glcd_SetFont(Font_6x8, 6, 8, 32, 127); // öncelikle kullanacağınız font değerlerini tanımlıyorsunuz.
Glcd_ConstText(8, 4, "A");

İstediğiniz gibi boşluk bırakmak için grafik lcd üzerinden örnek veriyim Glcd_ConstText(8, 4, "A"); Sekizinci sütun dördüncü satıra A'yı yazdır diyorum.Oled çalışma mantığıda aynı olması lazım hocam bu şekilde istediğiniz yere basabilirsiniz fontu.

Hocam. Hocada zaten diyor ki. Line line yapmak kolay. 1. Line a yaz. 2. Line yaz sorun yok. 1.5 uncu line yaz dersem sorun olur diyor(yani ikisinin arasina)

Z hocam. Elektroemre hocamin cozumu benim aklima yatti. Makul gorunuyor?

z

1K video buffer kullanıyorum. Neyse incelediğim örneklerde font yükseliği hep 8'in katları seçilmiş. Bu değere, alt alta duran karakterler arası bosluk ta dahil.

Böyle yapılınca bahsettiğim sorundan da kaçınılmış oluyor. Aksi takdirde font verilerini pagelere parçalamak gerekiyor.

Fakat şu 0x40...0x7F komutlarını anlamadım gitti. Displayde herhangi bir etkisini göremiyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

M_B

@z hocam;
Elimdeki kutuphanede 0x40 adresi
#define SSD1306_SETSTARTLINE 0x40

İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

128x64 Bitmap dosyasını Displaye doğrudan yükleyebilmek için küçük bir uygulama programı hazırladım.

OLED displayi Horizontal Adresleme moduna getirip dataları doğrudan bastığınızda en yüksek hızda resim oluşturulmuş oluyor.

Bu uygulama programı, 128x64 modunda oluşturduğunuz resmi  doğrudan C yada asm syntaxında datalara çeviriyor.
C formatında ürettiği dosyada dizinin en sonundaki virgülü kaldırmaya üşendim. Onu elle silmeniz gerekiyor.

http://www.cncdesigner.com/wordpress/wp-content/uploads/Bmp_Data.zip

https://youtu.be/2kEYIKwi_Ww

Bana e^st de diyebilirsiniz.   www.cncdesigner.com