Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: Firzen - 09 Eylül 2013, 03:59:33

Başlık: Bunu yapan adama helal olsun gerçekten
Gönderen: Firzen - 09 Eylül 2013, 03:59:33
internette gezinirken bir video izledim gerçekten çok şaşırttı beni ama keşke bunun win7 desteği de olsa sadece XP desteği varmış :(
Videoyu izleyin ne demek istediğimi anlarsınız :)


ChibiMo: Arduino + KS0108 graphics LCD = USB Monitor (http://www.youtube.com/watch?v=B0uevXj1ARM#)
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: camby - 09 Eylül 2013, 09:00:27
Çılgın Arduino'cılar : )
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Tanrın Oğlu - 09 Eylül 2013, 11:00:41
hemen sorarım.

soru1- windowsta 3. screen nasıl tanımlanıyor?
soru2- 3. screen in bilgileri usb ile nasıl transfer ediliyor?
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Okan AKÇA - 09 Eylül 2013, 11:05:50
biz halen arm  microchip kavgası edelim microchip ile yada arm ile bunu yapıyorsanız ozaman  arm microchip  tattışması yapalım
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Mucit23 - 09 Eylül 2013, 11:26:08
Bence pek zor değil.
Burada bana kalırsa işin çoğunu bilgisayar programı hallediyor.  Arduino sadece paket paket gelen görüntüleri grafik  ekrana basıyor.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Tanrın Oğlu - 09 Eylül 2013, 11:30:02
bu konunun iki kilit noktasını yukarıda sordum. halen yanık beklemekteyim.

Alıntı yapılan: Mucit23 - 09 Eylül 2013, 11:26:08
Bence pek zor değil.
Burada bana kalırsa işin çoğunu bilgisayar programı hallediyor.  Arduino sadece paket paket gelen görüntüleri grafik  ekrana basıyor.

usb hid ten bahsediyorsan eğer, o hızlara hid ile ulaşılmaz. iki sorumu cevaplayabilen kişi bu işi yapabilecek kişidir.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: volkii - 09 Eylül 2013, 11:38:35
buna benzer bişey STM32 ile yapmıştım (72Mhz), ben renkli ekrana basıyordum ve frame geçişi daha yavaştı HID ile ama  isochron transferle sorunsuz çalışır.
3. ekran tanımlamana gerek yok, C#ta hazırlayacağın bir programla, desktop (belli bir alanının) fotosunu çekip pixel pixel okuyup USB'den gönderiyorsun.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: diot - 09 Eylül 2013, 11:43:59
Alıntı yapılan: Tanrın Oğlu - 09 Eylül 2013, 11:30:02
o hızlara hid ile ulaşılmaz. iki sorumu cevaplayabilen kişi bu işi yapabilecek kişidir.
niye ulaşılmasın Ubs hdd lerden full hd filim izlemiyormusun. birde kullanılan ekran  zaten düşük çözünürlükte ve siyah beyaz.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Tanrın Oğlu - 09 Eylül 2013, 11:48:04
Alıntı yapılan: volkii - 09 Eylül 2013, 11:38:35
buna benzer bişey STM32 ile yapmıştım (72Mhz), ben renkli ekrana basıyordum ve frame geçişi daha yavaştı HID ile ama  isochron transferle sorunsuz çalışır.
3. ekran tanımlamana gerek yok, C#ta hazırlayacağın bir programla, desktop (belli bir alanının) fotosunu çekip pixel pixel okuyup USB'den gönderiyorsun.

projenizden birazcıcık daha bahsedebilirmisiniz?

Alıntı yapılan: diot - 09 Eylül 2013, 11:43:59
niye ulaşılmasın Ubs hdd lerden full hd filim izlemiyormusun. birde kullanılan ekran  zaten düşük çözünürlükte ve siyah beyaz.

eğer adamın sitesine girerseniz, bunun renkli tft versiyonunu da yaptığını göreceksiniz. Hid transferin bir hız sınırı var diye biliyorum. atıyorum 20 mips bir işlemci ve hid ile 480mb/sn hızlara ulaşılamaz öyle değil mi?
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Mucit23 - 09 Eylül 2013, 12:33:18
Alıntı yapılan: Tanrın Oğlu - 09 Eylül 2013, 11:48:04
eğer adamın sitesine girerseniz, bunun renkli tft versiyonunu da yaptığını göreceksiniz. Hid transferin bir hız sınırı var diye biliyorum. atıyorum 20 mips bir işlemci ve hid ile 480mb/sn hızlara ulaşılamaz öyle değil mi?
Evet usb hid'in hız sınırı var.Az önce 64kb/sn olarak okudum. 128x64 ekranın tümü 1 kb olduguna göre  1 saniyede 64 defa ekran güncellenebilir. Video için yeterli değilmi?
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: diot - 09 Eylül 2013, 12:45:22
                           USB HIZLARI
    USB 1.0 ve 1.1 : Hız 12 Mbit/sn (1.5 MByte/sn) (fullspeed)
    USB 2.0 : Hız 480 Mbit/sn (60 MByte/sn) (highspeed)
    USB 3.0 : Hız 4,80 Gbit/sn (600 MByte/sn) (superspeed)[1]
    USB 3.1 : Hız 10 Gbit/sn (1,22 GByte/sn) (superspeed 10 Gbps)
Sanırım usb 2.0 ile rahat rahat  bit bit transfer metodu ile DVD formaunda 24bit renk düzeninde transfer yapılabilir. Eğer transfer için sıkıştırma metodlarından biri kullanılırsa daha da yüksek görüntü çözünürlükleri iletilebilir.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Tanrın Oğlu - 09 Eylül 2013, 12:55:18
Alıntı yapılan: diot - 09 Eylül 2013, 12:45:22
                           USB HIZLARI
    USB 1.0 ve 1.1 : Hız 12 Mbit/sn (1.5 MByte/sn) (fullspeed)
    USB 2.0 : Hız 480 Mbit/sn (60 MByte/sn) (highspeed)
    USB 3.0 : Hız 4,80 Gbit/sn (600 MByte/sn) (superspeed)[1]
    USB 3.1 : Hız 10 Gbit/sn (1,22 GByte/sn) (superspeed 10 Gbps)
Sanırım usb 2.0 ile rahat rahat  bit bit transfer metodu ile DVD formaunda 24bit renk düzeninde transfer yapılabilir. Eğer transfer için sıkıştırma metodlarından biri kullanılırsa daha da yüksek görüntü çözünürlükleri iletilebilir.

diot bey ya yazdıklarımı okumuyorsunuz, yada okuduklarınızı anlamıyorsunuz. dedimki hid bağlantı ile renkli tft ekrana bu görünürdeki şeyi yapmak zordur. youtube linkinde adamın sitesi var. girerseniz eğer göreceksiniz. site japonca olduğundan renkli lcd ekranın çözünürlüğünü anlayamıyorum. 128x128 olsa bir frame 16.384 kb eder. videodan anlaşılacağı üzere adam ekranı çok hızlı taramakta. ekranda donmalar vs olmamakta.

bakın mucit araştırmış bulmuş. 64kb/sn diyor. yani bu kaba hesaba göre adam ya hid kullanmıyor, yada başka bir çözüm yolu var. bence bunları konuşacağımıza nasıl yapılmış onu konuşalım.
Alıntı yapılan: Mucit23 - 09 Eylül 2013, 12:33:18
Evet usb hid'in hız sınırı var.Az önce 64kb/sn olarak okudum. 128x64 ekranın tümü 1 kb olduguna göre  1 saniyede 64 defa ekran güncellenebilir. Video için yeterli değilmi?

mono chrome lcd için hesabınız doğru gibi ama ekranın fotosunu çekip, pixelleri ayrıştırıp, mono chrome hale dönültürüp, usb üzerine yazmak ta çok ağır iş..
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: gumush - 09 Eylül 2013, 13:13:10
Adam arm'da da renkli olarak yapis aynisini , ancak anladigim kadari ile bir vga driver'i yazmis windows altinda , bu nedenle monitor olarakta bu uniteyi gorebiliyor.

Kesinlikle guzel calisma :)
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Kabil ATICI - 09 Eylül 2013, 13:22:04
Yalnız adamların sadece tek renkli GLCD projesi tamam. Renklisi tamam değil daha geliştirme aşamasında olduğunu belirtiyor ve sadece resimleri var.

Ayrıca tek renkli LCD üzerine saniyede sadece 8-12 kare arasında yenileme yapabilirsin fazlasında ekrandaki görüntüyü göremiyorsun (ekran yenilemesi yetersiz kalıyor)

Buradaki görüntüyü oluşturmak için illede ekran resmini çekmek gerekmiyor. Doğrudan görüntüyü işlemekte mümkün. Renkli görüntüyü tek renge indirmek için o kadar karmaşık bir matematikde gerekmiyor. Zaten o kısmı burada bilgisayar hallediyor.

Bir olayı doğrudan belirli bir mikrokontroller sınırlarında düşünmeyin  kaldı iki eğer doğrudan atmega328 kullanmışlarsa 32K flash ve 2K ram var. Ve doğrudan USB bağlantısı yok. O sitede ye alan örneklerde adam bunu FT232 serisi USB-seri dönüştürücü entegresi ile yapmış.

Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: gumush - 09 Eylül 2013, 13:26:18
ATmega32u4 'da dahili USB'de var. Bilgisayarda HID olarak kullanabiliyorsunuz.

Her zaman gormedigimiz bir uygulama oldugu icin bence cok basarili.

Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: diot - 09 Eylül 2013, 13:51:16
Bu işler usb ile yapılamıyacak bir şey değil.  Bunu açıklamamda fayda var sanırım :
Vga için çeşitli iletişim protokolleri var. Kiminde vga çip varken kiminde yazılımla desteklenen çeşitli mcu lar olabiliyor. Örnek olarak http://www.pclabs.com.tr/2010/02/16/dark-usb-ekran-karti-incelemesi/ (http://www.pclabs.com.tr/2010/02/16/dark-usb-ekran-karti-incelemesi/)   
Bunlar zaten yapılmış ve piyasada kullanılan çihazlar.  İletişimi sadece bit bit yollamak olarak düşünürseniz çok geniş band genişlikleri çıkar. USB 3.0 bile bu hızlara yetişemez. Haberleşmede kullanılan çeşitli görüntü sıkıştırma protokolleri var örnek H.264 gibi. Bu tür kodlamalarla veri iletişimi çok düşmektedir. pc de video driveri görüntüyü sıkıştırık yollamakta alan sistem yeniden açıp ekrana yansıtmakta.  Sanırım iletişim için bir sıkıştırma yöntemi kullanmıştır. Fakat hangi yöntemi kullandı  ve açan codec i nasıl o çipe sığdırdı bu önemli.

Kullandığı codec'i merak ettim doğrusu bu kadar küçük bir alana nasıl sığdırdı onu merak ediyorum. Bu işler usb ile yapılamıyacak bir şey değil.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: muuzoo - 09 Eylül 2013, 14:37:50
Bir diğer güzellikte tek renkli ekranda gray scale imge göstermiş. Bunuda pikselleri hızlıca aç-kapa yaparak sağlamışlar.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Burak B - 09 Eylül 2013, 15:46:27
Codec değil. Milisaniye başına 1023 byte 128x64 için gayet yeterli.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: matador - 09 Eylül 2013, 16:16:44
PC programı için:

Adım 1: Ekranın ortasından 128*64'lük kısmı al tek renge çevir. ( matlab ile yapılabilir diye düşünüyorum. )

Adım 2: Grafik lcdler için kullandığımız hex dönüştürücüler var. Benzeri bir programa ekrandan alınan görüntüyü aktar.

Adım 3: Hazırlanan hex kodu ister usbden ister paralel porttan ister seri porttan gönder.

Bilgisayarın işi bitti.

Atmel kısmında:

Adım 1: Gelen veriyi direk ekrana ver.


Benim projede gördüğüm bu. Ben mi yanlış düşünüyorum yoksa bu iş çok mu abartıldı?
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: volkii - 09 Eylül 2013, 16:18:31
sorun işlemcinin ekran tarama hızı falan değil arkadaşlar, zaten işlemci içerisinde Memory control birimi var donanımsal. bununla ekranı sürüyorsun. sadece pixelin renk bilgisini veriyorsun donanım hallediyor bunu. asıl sorun USB HID'de. işlemci kesmeler hariç %0 iş gücü ile çalışıyor bütün işi donanım yaptığından. benim denemediğim yol kalmamıştı 320x240 ekranda, en hızlı modda çalıştırdım hid'yi olmadı, 64x64'te ancak işe yarar bişeyler çıkartabilmiştim. o yüzden handshake yapmadan çalışan hızlı bir transfer yöntemi lazım (isochron gibi) bununla olur. zaten usb web cameralar bunu kullanıyor. Arkadaşların dediği sıkıştırma yöntemi hakkında bişey diyemeyeceğim detayını bilmediğim için. HID hızı bellidir zaten 1ms'de kesmelerde 64Mbyte veri yollayabilirsin. o yazdığınız hızlar HID değildir.   
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: muhittin_kaplan - 09 Eylül 2013, 17:25:53
@matador
Birde Nasıl 3. ekran olarak tanıttı onuda yazarsak tam olur.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Burak B - 09 Eylül 2013, 17:42:55
@matador o kadar da basit değil bence.
@muhittin_kaplan üstad ekran sürücüsü yazmak gerekir.

Ekran Sürücüsü nasıl yazılır? Bakınız (http://www.codeproject.com/Articles/12878/Driver-Development-Part-6-Introduction-to-Display)

Ayrıca bu ekranların 1 bit olduğunu unutmayın. Orada özel bir grafik filitresi kullanarak grinin tonları ifade ediliyor. Grafik filitreleri her zaman yorucu fonksiyonlar olmuştur. Gelen verinin bu LCD için transpose edilmesi gerektiğinide göz önüne almalıyız. Yani @matadorun çok basitmiş gibi yazdığı
Alıntı YapAdım 2: Grafik lcdler için kullandığımız hex dönüştürücüler var. Benzeri bir programa ekrandan alınan görüntüyü aktar.
dönüşümü aslında bu tip KS0108 uyumlu LCD' ler söz konusu olunca yine yorucu bir fonksiyon ortaya çıkıyor.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: Kabil ATICI - 09 Eylül 2013, 17:51:32
filmin sonundaki adresten
http://q61.org/en/chibimo/build/ (http://q61.org/en/chibimo/build/)
ile olayın nasıl gerçekleştirildiği anlatılıyor.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: matador - 09 Eylül 2013, 19:15:43
Alıntı yapılan: muhittin_kaplan - 09 Eylül 2013, 17:25:53
@matador
Birde Nasıl 3. ekran olarak tanıttı onuda yazarsak tam olur.

Buna aklım ermedi. Sanırım gerçekten driver benzeri bir şey yazdı veya buldu.
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: metaltrrocker - 09 Eylül 2013, 19:56:36
Alıntı yapılan: volkii - 09 Eylül 2013, 11:38:35
buna benzer bişey STM32 ile yapmıştım (72Mhz), ben renkli ekrana basıyordum ve frame geçişi daha yavaştı HID ile ama  isochron transferle sorunsuz çalışır.
3. ekran tanımlamana gerek yok, C#ta hazırlayacağın bir programla, desktop (belli bir alanının) fotosunu çekip pixel pixel okuyup USB'den gönderiyorsun.
C#' da ekranın belirli bir kısmını fotosunu çekme olayı nasıl oluyor?Örnek anlatım yada kod varsa paylaşabilirmisin?
Başlık: Ynt: Bunu yapan adama helal olsun gerçekten
Gönderen: leblebitozu - 09 Eylül 2013, 20:22:55
@metaltrrocker

http://www.codeproject.com/Articles/21913/TeboScreen-Basic-C-Screen-Capture-Application (http://www.codeproject.com/Articles/21913/TeboScreen-Basic-C-Screen-Capture-Application)