1,5" 132*132 TFT LCD ile Projeler

Başlatan aYe, 08 Şubat 2006, 01:46:09

picusta

PIC ile 3 boyutlu animasyon yaptirmak isteyenler asagidaki videoyu izlesin:
3B animasyon

Bu arada bu baslik altindaki linklerin yenilenme zamani gelmis.

babali

usta bunu nasıl yaptınız harika olmuş

mp3dragon

Aşağıda LPC2138 ile yaptığım mmc + epson lcd + mp3 player + bmp viewer'ın kodları var.

şema ve video+resim şimdilik koyamıyorum.

kodlar çok optimum değil farkındayım bir ara toparlamam lazım.

MCU=LPC2138
Derleyici = Keil (Carm ve Realview ikisi içinde derlenebilir)
mp3 decoder = VS1002
LCD=Epson
Media = SD/MMC

Bmp resimler maksimum 130 * 130 piksel boyutunda ve 24 bit olmalı
MMC FAT32, FAT16, ve FAT12 olabilir.


http://rapidshare.com/files/14981533/LPCMP3EPSON.zip.html
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ground

http://www.youtube.com/watch?v=-W8cvSNXozk

Buda renklisi picusta ;)

mp3dragon hocam çok zevkli işlerle uğraşıyorsunuz..

Bu lcdlerle uğraşalım..

Edit: http://www.pyrofersprojects.com/3dcube.php
⌒╮'╭⌒╮⌒╮.
╱◥██◣                  
| 田︱田田|              
╬╬╬╬╬╬╬╬╬

Picproje - Sözde değil özde paylaşım..

picusta

Alıntı yapılan: "babali"usta bunu nasıl yaptınız harika olmuş
Yok canim, ben değil http://www.pyrofersprojects.com/ yapmis.
C ögrendigimin birinci senesinde Doom tarzi bir oyun nasil yazarim diye düsünmüstüm.
Sonra basit 3boyuttaki noktalari nasil ekranda gösterebilirim diye kafa patlatim. Ve sonunda cos sin kullanarak ekranda iskelet bir yapi çizip döndürdüm. Ayni burdaki küp gibi.
Fakat arkadasi bunu PIC'te yaptigi için tebrik etmek isterim.

Ayrica mp3dragon'a tesekür ederim. GLCD, MMC+dosya sistemi, MP3 (VS1002) hepsi bir arada.
data'yi SPI'den gönderirken kesme yönetmini kullansak daha çabuk animasyonlar saglayamazmiyiz? SPI kesmesi islenmis verileri hafizadan okuyup SPI donanimina gönderecek. Daha yüksek hizlar için DMA'si olan bir mikrodüsünülebilir belki (AT91SAM7, M16C, DSPIC33) .

mp3dragon

codlarını verdiğim mp3 player + bmp viewer'ın,
aşağıda ekran görüntüsü;



burada da videosu var;

http://www.youtube.com/watch?v=myvqAMdtSgg

şemasını bir ara vakit bulursam hazırlıyacağım.

edit: jpeg-->bmp veya rgb dönüşümü hakkında bilgisi olan var mı?
algoritma veya C kodu olabilir. Malum jpeg daha popüler. Birde resimde satır/sütun sıkıştırması nasıl yapılabilir. (büyük resimleri 130*130 pixele sığdırmak için) benim aklıma bir algoritma geliyor ama daha hızlı ve verimli olan olabilir.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

picusta

Alıntı Yapjpeg-->bmp veya rgb dönüşümü hakkında bilgisi olan var mı?
algoritma veya C kodu olabilir. Malum jpeg daha popüler. Birde resimde satır/sütun sıkıştırması nasıl yapılabilir. (büyük resimleri 130*130 pixele sığdırmak için) benim aklıma bir algoritma geliyor ama daha hızlı ve verimli olan olabilir.

JPEG sıkıştırma genelde kayıplı bir sıkıştırma yöntemi. JPEG dönüsmü DCT, Discrete Cosinus Transform algoritmasi sayesinde gerçekleştirilir, dalgacık teorisi  ile alakası da var.
GONZALEZ'in kitabinda detayli anlatilmis:
h**p://rapidshare.de/files/16853997/DigitalImageProcessingUsingMatlab_muya.rar
(40MB, siyah beyaz scan :cry: )
Tahminimce algoritma ufak bir işlemcide uzun sürebilir, ayrıca ne kadar RAM hafıza gerektirir bilmiyorum. FPGA'lar için hazır DCT IPleri bedavaya bulunuyor, onlari co-processor olarak kullanarak rahatça olur.

En iyisi sizi su bölüme alalim:
GLCD kodlama
O kadar karmasik sıkıştırma yapmiyoruz, PIC yetisebilir yine de sıkıştırma oranimiz yüksek olabilir (1/10 en fazla).
Yaptigimiz sey çizgi kodlamasi.

Alıntı YapBirde resimde satır/sütun sıkıştırması nasıl yapılabilir. (büyük resimleri 130*130 pixele sığdırmak için) benim aklıma bir algoritma geliyor ama daha hızlı ve verimli olan olabilir.
En kaba decimation yapilabilir, daha iyisi ortalama almak.

mp3dragon

Evet,

v.0.9 çıktı;
http://rapidshare.com/files/17729048/LM3Ev0.9.rar.html

MCU: LPC2138
COMPILER: KEIL CARM & REALVIEW
LCD: EPSON (Nokia 6610)
MEDYA: SD/MMC
MP3-DECODER: VS1002
DOSYA SİSİTEMİ: FAT32/FAT16/FAT12

.bmp uzantılı dosyalar (max 130 * 130 pixel) ve .mp3 uzantılı dosyalar açılabiliyor.
ID3TAG v.2 okunabiliyor. (şimdilik sadece şarkı ismi)
Kart içerisindeki .bmp ve .mp3 dosyalar sırası ile gösterilebiliniyor/çalınabiliniyor,
Birde saat ve tarih gösterilebiliniyor. (LPC2138 içindeki RTC ile)
Ayrıca türkçe karakter desteği var (sadece arial8 font, ayrıca dosya isimleri değil ekran çıktısı)

v.1.0 da planlanan özellikler;

1. Dosya/Dizin listesi gösterimindeki bug giderilecek,
2. Dosya/Dizin içerisinden seçimdeki bug giderilecek,
3. Altklasör derinliği (altklasör içinde alt klasör okuma) arttırılacak,
4. 130 * 130 pixel'den büyük .bmp dosyaların açılması sağlanacak,
5. Menüler daha hareketli olacak,
6. ID3TAG şarkıcı ismi desteği olacak.

Daha sonraki versiyonlarda;
1. USB üzerinden PC<->Player bağlantısı ile dosya aktarımı ve firmware
  güncelleme,
2. LCD Nokia 7650 ile değiştirilecek, (208 * 176 pixel)
3. ID3TAG tüm fonksiyonlar aktif hale getirilecek,
4. Ethernet bağlantısı ve streaming desteği.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

mp3dragon

Biraz toparlama yaptım, yakında şema ve board çizimi olacak. board.c ve board.h dosyaları içinde mcu - çevre birimleri için gerekli bağlantıları görebilirsiniz veya değiştirebilirsiniz.

v.0.9.1: http://rapidshare.com/files/18344547/LM3E.v.0.9.1.rar.html


MCU: LPC2138
COMPILER: KEIL CARM | REALVIEW
LCD: EPSON (Nokia 6610)
MEDYA: SD/MMC
MP3-DECODER: VS1002
DOSYA SİSİTEMİ: FAT32/FAT16/FAT12 (EFSL)


1-130 * 130 pixelden büyük resimler gösterilebiliyor.(teşekkürler picusta decimation ile yaptım)config.h dosyasında derlemeden önce resimlerin gösterim şekli "USE_ORGINAL_RATIO" define edilerek ayarlanabiliyor.
2-Kodları biraz toparladım.
3-ID3 Tag şarkıcı ismi eklendi.
4-15 karakterden fazla şarkı isimleri ekranda kaydırılıyor.
5- SD/MMC kart okuma hızı arttırıldı, ölçmedim ama 58.98 mips te ~900 kb/sn civarı.
6-File sistemde bug buldum 48 adet dosya açıldıktan sonra kilitleniyordu. config dosyasında IOMANBUFFER arttırılınca ( 16 yaptım bu durumda 16*512 bayt ramdan yedi, iyiki varsın ARM) 64 adet dosya açıldıktan sonra kilitlenmeye başladı.  Bir yerlerde temizlik yapmak lazım araştıracağım.

File sistemi ramdan oldukça fazla kullanıyor. Daha küçük işlemcilerde bazı özellikleri kısmak gerekecek.
Aşağıda Keil - Carm çıktısı var.

Program Size: data=11117 const=14268 code=26772
creating hex file from ".\CARMEXE\LPCMP3"...
".\CARMEXE\LPCMP3" - 0 Error(s), 1 Warning(s).
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

Analyzer

Selam,

Gerçekten güzel bir proje, tebrik ederim. Şeması var ise pcb sini Eagle'da çizebilirim.

Analyzer
Üşeniyorum, öyleyse yarın!

mp3dragon

@Analayzer,

Şemasını Eagle da çiziyorum. Yakında foruma koyacağım. Sizden ricam Eagle da 2 kat geçmeyecek şekilde board tasarlamak. Board hazırlama konusunda biraz zorlanıyorumda  :P Teşekkürler.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

ground

Hocam bu projeyi derginin yeni sayısında da görmek isteriz :)
⌒╮'╭⌒╮⌒╮.
╱◥██◣                  
| 田︱田田|              
╬╬╬╬╬╬╬╬╬

Picproje - Sözde değil özde paylaşım..

Analyzer

Selam,

Eğer isterseniz siz şemasını hazırlayın ona istinaden bir pcb çizmeye çalışayım. Aslında çift yüz dahi, amatör uygulama için problem olabilir. Eğer çok karmaşık değilse yolları inceltip, tek yüzlü çizmeyi deneyelim.

Analyzer
Üşeniyorum, öyleyse yarın!

mp3dragon

@Analayzer,

Aşağıda eagle 4.16r de çizdiğim şema var. lib dosyalarını da koydum.(LT1117-3.3 benim hazırladığım kütüphane)

Standart elemanların boyutları ve paketlerini boarda göre değiştirebilirsin.

tek yüzlü biraz zor gibi.

http://rapidshare.com/files/18857838/LM3E-Schematics.rar.html

@Ground,

İnşallah hocam.

EDIT: Şemada küçük bir ayrıntıyı değiştirip yeniden yükledim.
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.

mp3dragon

Şimdi sıkı durun.
Madem ARM kullanıyoruz, mp3 decoder chip'e ne gerek var?Software olarak mp3 decode edemezmiyiz? Elbette ederiz ve yapanlarda var. Üstelik fixed point. 320 kbit/sn ye ye kadar sorunsuz olarak.Tek ihtiyacımız cs4331 gibi bir audio dac. O da 2-3 usd civarı birşey.(Vs1002 nin yaklaşık 20 usd fiyatı yanında hiç bir şey) Hemde 8 pin soic. PCM olarak datayı direkt audio DAC'a gönderir. (I2S formatta) olayı hallederiz.Biraz araştırayım bakalım.
Aşağıdaki linkleri inceleyebilirsiniz.

http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player#The_DAC_-_First_Version:_CS4331

http://www.underbit.com/products/mad/#using
İyilik Yap, Denize At, Balık Bilmezse, Halik Bilir.