ana sayfa > Microchip, Projelerim > I2C Eeprom kullanarak 128X64 GLCD’ye Resim Basma

I2C Eeprom kullanarak 128X64 GLCD’ye Resim Basma

Salı, 28 Ağu 2012 yorum ekle yorumlara git
I2C Eeprom kullanarak 128X64 GLCD’ye Resim Basma

Merhaba Arkadaşlar.

Bu aralar Uğraştığım I2C eepromlarlar Resim Basma uygulamamı toparlayıp sizlere sunmak istiyorum.

Aslında I2C eepromlar (24C16, 24C32, 24C64, 24C128) bu işte biraz yavaş kalıyorlar. Gerçekte görüntünün tamamının ekrana basılması tahminimce 300-400 ms Sürüyor. Resim Basılmasını göz görebiliyor. (Yani Birden Ekranda Belirmiyor).

Kullandığım İşlemci PIC18F452, 20Mhz de çalıştırıyorum. İşlemci Frekansını Yükseltmem bi sonuç Vermedi. 32 Ve 40 Mhz de denedim böyle olunca eepromdan okunan Resim Dataları bozulmaya başlıyor. Kısacası Sapıtıyor 😀

Eğer PC yazılım dillerinden birini bilseydim Resimleri Bin dosyası olarak kaydedip Direk Pickit2 İle eeproma yükleyebilirdim. Fakat Böyle bir imkanım olmadığı İçin FxDev ‘in de Tavsiyesi ile Bu işi De Pice yaptırdım. 😀

Toplamda 28 Tane Resim gösterdim GLCD de Resimleri 3 adet 24C64 ve 1 adette 24C32 ye yazdım. Eeprom Sayısı arttırılarak veya Daha yüksek Hafızalı eepromlar kullanılarak Dahada Fazla resim gösterilebilir. Fakat Eepromları Resim datalarıyla doldurmak için Resimleri 18F452 nin program hafızasına yüklemek gerekiyor. 18F452 ‘nin içine 28 Tane Resim sığdırabildim. Zaten işlemcinin Hafızasının doluluk oranı %99,16 😀 Ağzına kadar dolu..

Daha çok Resim istiyorsanız İlk Önce Eepromları programlamak için Daha yüksek Hafızalı Bir pic seçilebilir. Okumak için ise 16F877 bile yeter.

Ben ilk Başta 18F452 ye Eeproma yükleme yazılımını yükleyip, eepromları programlıyordum. Yükleme işlemi bitince 18452 ye okuma yazılımını yükleyip, eepromdan dataları okuyup GLCD ye postalıyordum 😀

Yükleme işlemi epeyce sürüyor. Kronometreyle ölçtüğümde yaklaşık 10dk da tüm resimleri yazmış oldu.

Devre şeması aşağıdaki gibidir
Devre Şeması

Resime bakarsanız 3 adet 24C64 ve 1 adette 24C32 kullanmışım. Eepromaların A0, A1, A2 Bacaklarını kullanarak Farklı farklı adresledim. Bu sayede tekbir Hattan tüm eepromalara veri yükleyip okuyabildim. Yine Resimlere Bakarsanız Eepromlara ait Yazma ve okuma adreslerini görebilirsiniz.

Yazma işlemi bu şekilde
Devre Şeması
Buda yazma işleminin bitmiş hali
Devre Şeması
Bunları Gerçekte çekmek isterdim ama fotoğraf makinamın makro özelliği berbat. Yazılar iç içe giriyor.

Resimleri Düzenlemek İçin FastLCD Programını kullandım. Bu program ile resimleri düzenleyip Bitmap olarak kaydediyorum. Sonra Pixelv1.2 programı ile Bu resim dosyalarını .inc dosyası haline getiriyorum. Yazılımda ise bu .inc dosyalarını programa dahil edip yazma sırsı geldiğinde sırasıyla dataları okuyup eeproma yazıyorum.

Bu iki programı internette rahatlıkla bulabilirsiniz.

Eepromları programlamak için hazırladığım yazılım;

Eepromaları okuma işlemi ise benzer bir şekilde oluyor. Her bir eeprom için her bir resmin bir başlangıç adresi vardır. Bir resim 1023 byten tan oluştuğu için okumalar Başlangıc adresi + resim data adresi şeklinde oluyor.

Eeprom okuma programı ise budur.

Aslında menü uygulamaları için eeprom un yavaş çalışması sorun olabilir ama ben burada bu sorundan faydalandım biraz. Resimleri birkaç efektlerle basıyorum. (Sağdan sola, Soldan sağa, Yukarıdan aşağı gibi). Resim geçişleri bu şekilde oluyor.

Uygulamaya ait test videosu;

Video pekde iyi değil malesef. Artık idare edin 😀

Devreyi denediği kit ise Expkits in EX8B2 Deney setidir. Bu deney seti üzerinde deniyorum.

Seri birkaç tane eeprom olduğu için eeprom devresini board üzerine kurup deney seti ile header kablosu üzerinden bağlantıyı yaptım.

Şimdilik diyeceklerim bu kadar. İleride ihtiyacım olursa daha hızlı epromlarla denemelerime devam edeceğim.

Devreye ait dosyalara Buradan ulaşabilirsiniz.

iyi günler dilerim..

Categories: Microchip, Projelerim Tags:
  1. şimdilik yorum yok.
  1. şimdilik geri bağlantı yok