Selamlar,
Piyasada satılan ve led tabela yapımında kullanılan Pixel RGB ledler hakkında bilgisi olan varmı? Bunlar nasıl haberleşir? Herhangi bir haberleşme standardı varmıdır?
Bir proje için almak istiyorum muhtemelen sadece 20-30 adet bağlanacak bu yüzden hazır kartlar pahalı olacak, Kendim mikroişlemci ile kontrol etmeyi hedefliyorum.
Her satıra uzunluğu kadar seri data basıyorsunuz diye biliyorum, kabaca...
Ben şunlardan kullanmıştım,
şöyle bir program ve yazı yazmıştım:
D705 Pixel Şerit Led CcsC ile Kullanımı
(https://lh3.googleusercontent.com/-ncjDO7neiuA/V7S1bJyAlUI/AAAAAAAAAKo/T6cS9ZiRNaIGHxxAWjylXJ3_ZbMZCQqvQCL0B/w718-h504-no/D705_RaMu.PNG)
Bahsedeceğim şerit D705 entegresini kullanmakta.
Bu entegreye öncelikle data göndermeye başlayacağımızı bildiren strat frame bilgisi gönderiliyor, bu bilgi 32 bit 0 şeklindedir,
clock bacağından bir clock uygularken data bacağında
göndermek istediğimiz bilgiyi bulunduruyoruz,
yani clock bacağına 32 clock uygularken
beraberinde data bacağına 32 defa 0 uygulamış oluyoruz.
Start frame den sonra artık renk bilgisi gönderiyoruz,
renk bilgisi 16 bit olarak gönderiliyor,
bu bilginin öncelikle MSB si gönderiliyor ve
MSB (start bit) her zaman 1 olarak gönderiliyor,
kalan 15 bit in sırayla her 5 biti
kırmızı yeşil ve mavi bilgisi oluyor.
start_bit + 5bit R + 5bit G + 5bit B
S+RRRRR+GGGGG+BBBBB = 16 bit
Öncelikle D705 e sıralı data göndermeye başlayacağımızı
bildiren start frame (32 bit 0 gönderilir),
Örneğin şu şekilde bir altprogram ile gönderebiliriz;
//**********************************************
void D705_start ()
{
spi_write(0x00);
spi_write(0x00);
spi_write(0x00);
spi_write(0x00);
}
//**********************************************
Daha sonra D705 e 16 bitlik data bilgisini göndereceğiz
datanın MSB si "1" (start bit)
geri kalan MSB den LSB ye herbir 5 bit sırasıyla
RGB kırmızı yeşil mavi bilgisidir
start_bit + 5bit R + 5bit G + 5bit B
S+RRRRR+GGGGG+BBBBB = 16 bit
Şu şekilde bir altprogram ile data gönderebiliriz;
//***********************************************
void D705_color (unsigned int16 D705_colour)
{unsigned int8 color_msb,color_lsb;
color_msb=make8(D705_colour,1); //büyük byte ı color_msb ye al
color_lsb=make8(D705_colour,0); //küçük byte ı color_lsb ye al
spi_write(color_msb);
spi_write(color_lsb);
}
//***********************************************
Örnek uygulama linki;
https://www.dropbox.com/s/vmx9hjr7upft3pm/D705_1.rar?dl=0 (https://www.dropbox.com/s/vmx9hjr7upft3pm/D705_1.rar?dl=0)
WS2812 var bir de:
https://learn.sparkfun.com/tutorials/ws2812-breakout-hookup-guide (https://learn.sparkfun.com/tutorials/ws2812-breakout-hookup-guide)
Ali'de ucuza bulabilirsiniz:
http://www.aliexpress.com/item/1000x-DC5V-WS2812B-LED-With-Heatsink-10mm-3mm-5050-SMD-RGB-WS2811-IC-Built-in-fast/1645333357.html (http://www.aliexpress.com/item/1000x-DC5V-WS2812B-LED-With-Heatsink-10mm-3mm-5050-SMD-RGB-WS2811-IC-Built-in-fast/1645333357.html)
Cevaplar için teşekkür ederim,
@RaMu sana ayrıca teşekkür ederim. Anladığım kadarıyla basit bir haberleşme yapısı var.
Ben teşekkür ederim, senin paylaşımlarının yanında bu çerez programın lafımı olur :)
Kısaca, gördüğün gibi bu pixel ledler senin için çocuk oyuncağı.
WS28 lerdede bezner mantık vardı yanlış hatırlamıyorsam,
hatta bunlarla ekran yapanlarda var, nette videoları var.
Şu güzel görünmüştü gözüme:
Şu adamın "CNLohr" tüm projeleri şevk verici zaten,
https://www.youtube.com/watch?v=qE3zEM8qM00 (https://www.youtube.com/watch?v=qE3zEM8qM00)