P6(16x64) LED panel bağlantısı hakkında

Başlatan Mucit23, 15 Haziran 2016, 17:51:29

canbulut

merhaba arkadaşlar. araya giriyorum kusura bakmayın ama p6 ile p10 arasında ne fark var?

M_B

@mucit Hocam;
Panelin yapısını cözdüm.

Panel 8x32 olarak ikiye ayrılmış veri yapısı bakımından.
Taraması ABCD ile yapılıyor.
Satırlar 0 ( Low ) aktif oluyor.
D=1
C=1
B=1
A=0 da  1-5-9-13. Satırlar aktif

D=1
C=1
B=0 da  2-6-10-14. Satırlar aktif
A=1

D=1
C=0  da  3 -7-11-15. Satırlar aktif
B=1
A=1

D=0 da  4 -8-12-16. Satırlar aktif
C=1 
B=1
A=1

Veri sıralaması ise:
Ust 8x32 lik kısmın Tek rengi icin.
4 Adet TM1818 ( 16 cıkıslı ) bir birine seri baglı.
Birinci    TM1818 cıkısları 5. Satırın 1 ve 2 sutunlarına ait
ikinci      TM1818 cıkısları 1. Satırın 1 ve 2 sutunlarına ait
ücüncu   TM1818 cıkısları 5. satırın 3 ve 4 sutunlarına ait
dordunc TM1818 cıkısları 1. satırın 3 ve 4 sutunlarına ait

Bu verilere göre Adresleme yapısını henuz olusturamadım.
Sizin P6 nin veri yapısı bu şekildemi ?
Veri yapısını nasıl olusturmam lazım.






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

Mucit23

Yapı olarak bayağı karışık.  Adresleme için oturup bir algoritma kurmak gerekiyor.  P6R1 buna göre oldukça basit

RaMu

Fiziki olarak şöyle;
pX: X milimetrede bir led var.
p6: 6 milimetre aralıklarla ledler dizili,
p10: 10 milimetre aralıklarla ledler dizili.

pX(A*B)
A dikey  olarak (bir sütundaki) led sayısı,
B yatay olarak (bir satırdaki) led sayısı.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

canbulut


M_B

HUB08 soket baglantılı panelin calısır haldeki resmi.

Tarama kodları ise:
void Spi_Yaz(char sutun,char row_adr)
{
 unsigned char i,mask=0b10000000;
   for(i=0;i<8;i++)
   {
         if(DataR[sutun][row_adr] & mask) DR1=1; else DR1=0;    // R1
         if(DataG[sutun][row_adr] & mask) DG1=1; else DG1=0;    // G1
         if(DataR[sutun+8][row_adr] & mask) DR2=1; else DR2=0;  // R2
         if(DataG[sutun+8][row_adr] & mask) DG2=1; else DG2=0;  // G2
         CLK=1;
         CLK=0;
         mask>>=1;
   }
}

 void goster(char sat){
         OE=0;
         Spi_Yaz(4,sat);    // 4 - 12
         Spi_Yaz(5,sat);    // 5 - 13
         Spi_Yaz(0,sat);    // 0  - 8
         Spi_Yaz(1,sat);    // 1  - 9
         Spi_Yaz(6,sat);    // 6  - 14
         Spi_Yaz(7,sat);    // 7  - 15
         Spi_Yaz(2,sat);    // 2   - 10
         Spi_Yaz(3,sat);    // 3   - 11
         STT=1;
         STT=0;
 }


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