P10 Panel Kullanımı(Algooritma)

Başlatan Mucit23, 10 Temmuz 2013, 15:48:30

Mucit23

Arkadaşlar Merhaba

P10 Panellerle uğraşıyorum. Ekranın kullanımı konusunda sıkıntım yok. Ekran için kütüphane yazacağım ama ekranın yapısını nasıl en verimlik şekilde kullanarak ekranın istediğim noktasına ulaşabilirim? Bu soruya cevaben biraz algortima önerisine ihtiyacım var.

Ekranın 16X32 olduğunu düşünürsek Kısaca amacım X ve Y kordinatını verdiğim yerdeki ledi yakmasını sağlamak.

Excel de bir tablo oluşturdum.


screenshot windows

iki boyutlu bir ram bölgesi ayırıp 16x4 bu ram alanındaki dataları sürekli ekrana yansıtmayı planlıyorum. Buraya kadar sıkıntım yok. Sorunum burdan sonra başlıyor. Bu ram bölgesini ekrana nasıl yerleştirmem uygun olur. Örneğin resimde sağdaki tabloda kafama göre bir yerleşim yaptım. Bu konuda sizin önerilerinizi almak isterim.

Bunu uygun şekilde başarırsam ikinci aşama olarak dediğim gibi ekranın belirlene kordinatındaki ledi yakmaya çalışacağım.

İyi çalışmalar

Nedenler

//Değişken tanımlama
unsigned int32 satir[16];    //16x32
//İşlev tanımlama
void yx(int8 y, int8 x)
{
   bit_clear(satir[y],x);  //y satırının x bitini sıfırla.
}
//İşlevin çağırılması
yx(8,32);


Daha sonra da make8 kullanarak 32 bitlik satır bilgisini byte olarak ilgili adreslere göndermek ve datayı basmak. En iyi böyle mi yapılır bilemiyorum ama bir fikir.

hasankara

Display_Ram[] [] [] 3 boyutlu dizi belirler isen satır, sütun, renk şeklinde kullanımı daha kolay olabilir mi? yada 2 boyutlu olup sadece satır, sütun şeklinde de yapabilirsin.

Mucit23

Ekranda Renk yok.

Tabloyu farklı şekilde renklendirmemin amacı P10 panelin yapısından dolayı. A ve B ucları 00 iken kırmızı, 01 ise mavi,  10 ise yeşil 11 ise sarı satırlar aktif olur. Bunu belirtmek kafa karışıklığına sebeb olmamak için yaptım.

@Nedenler,
Hocam o ikinci aşamada yer alıyor.

Ekran tasarımı hakkında başka fikri olan var

hasankara

evet şimdi farkettim belirttiğin adreslemede ikinci vektör, A ile B nin konumunu ifade ediyor sanırsam. ilk vektör de sırayla gitmiş kullanımı daha kolaylaştırmak için ilk vektörü iki parça şeklinde yatay düşey şeklinde düşünsek daha kolay kullanabilir miyiz diye düşündüm. çokta önemli değil gerçi sadece bir fikir olsun diye .


kantirici


LukeSkywalker

Baya uğraşmışsınız ama güzel olmuş. Fontları da mı hazır kullandınız?

Mucit23

Hocam mikroe nin font creator programıyla dönüşüm yaptım.  Ama karakterleri teker teker elden gecirip düzenlemek gerekiyor. Çünkü diyelim karakter boyutu 12x16 ise bu boyutta font ayarlamak çok uğraştırıcı. Bu sebeble 2. Ve 3 fontlarla tam olarak ilgilenenedim.  Bi ara onlarda elden geçirecegim

mcn

P10 panelleri kullanması çok eğlenceli gerçekten. Özellikle düşen fiyatlarına bakılınca nerdeyse grafik lcd ile aynı fiyat. Bende bu paneller ile bir iki uygulama yapmıştım askerden önce, yaptığınız gibi bir program yapmayı planlamıştım ama vaktim olmadığından bu kadar kapsamlı yapamamıştım. Elinize sağlık hocam olmuş. Çok güzel olmuş  ;)
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Mucit23

#10
Teşekkürler hocam :)

Paneller kullanım açısından cok pratik. Fiyat açısından da cok uygunlar.

Şimdi 2 adet paneli Stm32f103 ile kullanacağım.Vakit Buldukça ona uğraşıyorum. Panelleri çalıştırdım fakat spi clock hızı çok yüksek.(17-18 mhz)

Ekranda birşeyler çıkardığım zaman ekranın rastgele noktalarında bazı ledler cok kisa aralıklarla yanıp sönüyor.
Kutuphanede bir degisiklik yok. Spi clock hızında kaynaklandığını düşünüyorum.

Spi baudrate degeri 4 şuanda. Ben bu degeri 8 veya daha farklı bir deger yapsam bu sefer 32 bit data gonderme formatında gönderim yapılıyor (1 Byte için 8 den fazla clock palsi görüyorum. ) Şimdi bunu çözmeye çalışıyorum


mcn

Benim şöyle bir sıkıntım vardı.Örneğin ekrana düz bir yazı yazdırdık diyelim. Yazının 2 piksel üstünde tek sıra halinde sanki yazının silüetiymiş gibi ledler yarı parlaklıkta kırpışıyorlardı. Dediğiniz gibi clock hızı ile oynayarak onları yok etmeye çalışıyordum. Parlaklıkla da değişiyordu bazen. tek yada 2 panel kullandığımda yan yana sıkıntı olmuyordu ama bi ara 6 panel kullanmıştım baya zorlamıştı. Ne yaptıysam bir türlü kararlı bir düzen oturtamamıştım. Sonra dan öğrendim,parlaklığın ayarlandığı OE pini var biliyorsunuz kart üzerinde tarama yapan entegrenin output enanle pini idi yanlış hatırlamıosam,o pinin ayarı + ya da - yapılıyordu kendi TF serisi kontrol kartlarında, elimdeki bazı led grafiklerin ki + bazılarının ki de - olarak ayarlanıyormış. Bizim teknik bilgisi olmayan ithalatçı arkadaşlar bunu bana söylemedikleri için baya uğraşmıştım.

Buna ek olarak aynı şekilde rastgele noktalarda yanıp sönme sorunum da vardı o da dediğiniz gibi iletişim hızından kaynaklanıyor büyük ihtimal onu nasıl çözdüm hatırlamıyorum askerlik girince araya unutmuşum  :(
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

Erol YILMAZ

17-18 mhz bence çok yüksek bir rakam bu panellere spi dan veri göndermek için...
bir kontrol kartında 3-4-5 mhz gibi opsiyonlar old. hatırlıyorum ama bu 6 mhz ve üstü değildi.

Mucit23

10mhz nin altında bir spi clock hızı kullanmak lazım.

Bazı parametreleri çözdüm.  Mesela tarama süresi display parlaklığını çok etkiliyor. Spi clock hızının da uygun olanını bulursam donanımda pek problem kalmaz gibi.

Yazılımsal olarakta bazı eksiklikler var.

mcn

LAboratuvarımı topluyorum yavaş yavaş, çalışmaya başlayınca sizi rahatsız ederim yine hocam takıldığım yerlerde. bir de p10 lara alternatif p6 lar getirmeye başladılar şimdi. onlarda 16x64 piksel ve 96 x 384 mm, iki tane p10 u yanyana koyup pikseller arası boşluğu minimuma indirmişler. Küçük uygulamalar için çok güzel ve fontlar resimler daha güzel görünüyor.
www.teknikyazi.com --üşenme,erteleme,vazgeçme...