Gelişen mikrokontrol teknolojileri ve artan bilgi birikimi sayesinde geliştirici düzeyinde daha yaygın kullanımına olanak tanımıştır. Burada elimden geldiği kadar bazı örnekler sunmaya çalışacağım... Görüleceği gibi ilk örneklerimizde çoğunlukla ASM üzerinde iken daha sonraları C üzerinde örnekler yer almaktadır. Hatta ilerleyen zamanlarda Arduino örneklerinin yer alması kaçınılmaz olacaktır.

22 Kasım 2008 Cumartesi

AVR Seri LCD Çevirici


Devrenin Temeleri

Devremizi basitçe inceleyecek olursak
Besleme; devrenin çalışması için olmazsa olmazı..
RS232; bilgisayar ile işlemci haberleşmesi için seviye uygunlaştırıcı
İşlemci; bilgisayar ile LCD modül arasındaki köprü AT90S2313
LCD; bilgisayardan gelen bilgilerin görüntülendiği yer
Devre ilk açılışında işlemci LCD modülü sıfırlar ve veri yazmak için hazırlar. Bilgisayardan gelen veri durumuna göre bu ilk gönderildiğinde satır seçimi ve sonrakiler ekrana yazılaması gereken veridir. Ve son olarak satır sonu verisini alır ve işlemci bunlara uygun olarak LCD modülü kontrol eder. Seri port için söylenecek fazla bir şey yok. Bu bölüm sadece bilgisayar seri portu ile ve işlemcinin seri portu arasında bir lojik seviye çevirmesinden başka bir şey yapmaz. LCD modüller hakkında daha ayrıntılı bilgi için internet sayfaları ve LCD modül üretici sayfalara oldukça bilgi sunacaktır.

LCD ler

LCD temelde sıvı kristalleri üzerine kurulu yapıdır. Yani basitçe iki elektrot yüzeyi arasına bir sıvı doldurulur. Bu sıvıyı oluşturan bileşenler normalde düzensiz bir yapıda yerleşir. Ama bu elektrotlar üzerine bir gerilim uygulandığında bu sıvıyı oluşturan bileşenleri belli bir düzende yerleşime zorlar. Bu tek başına görüntü oluşumuna yeterli değildir. Önemli bir yapı olarak özel ışık filtreleri bu noktada devreye girer. Işığı kutuplama olarak tanımlanan işlemi gerçekleştiren bu elemanlar ışığın belli bir düzende geçmesini sağlar. Eğer ele edebilirseniz bu iki elemanın belirli açılarda birbiri üzerine yerleştirildiği zaman ışığı geçirdiği başka açılarda geçermediğini görebilirsiniz. Hatta bunu LCD kullanan hesap makinelerinde de görebilirsiniz.

Aslında bu elemanlar oldukça kullanışlı ve düşük güç harcayan yapıları vardır. İmalatı göreceli olarak daha basit ve hızlıdır. Şu anda günümüzdü kol saatleri, hesap makineleri, masa saatleri gibi bir çok kullanım alanı bulanbilen bu ürün düşük güç harcaması sayesinde küçücük bir pil sayesinden uzunca zaman çalışabilmektedir.

Bu noktaya kadar her şey güzelde bu elemanların sürülmesi yani çalıştırılabilmesi biraz karmaşık yöntemleri gerektirir. Bu da gelişen elektronik sayesinde kendiliğinden ortadan kalktı. Hatta artık LCD devrelerini kendiniz sürmeniz bile gerekmeyen modüller mevcut. Burada bu modüllerin bir mikrokontroller (AT90S2313)üzerinden kontrol ve bir seri port ile birlikte bilgisayardan veri aktarılması, yani bilgisayardan LCD üzerine yazı yazıdıracak bir devre oluşturacağız. Kullanacağımız LCD karakter tipi bir yapıdır. Yani sadece karakter göstermek üzere tasarlanmış ve yapılmış. Karakterler önceden belirlenmiş ve LCD rom'una kaydedilmiş. Bizim yapacağımız sadece yazdırmak istediğimiz karakteri ve yerini berlirleyip, bununla ilgili bilgiyi LCD modüle göndermektir.


Şekil-1 :2x20 LCD modülün önden ve arkadan görünümü.


Şekil-2 :4x20 LCD modülün önden ve arkadan görünümü.


LCD modüllerde değişik haberleşme yöntemleri mevcuttur. Burada paralel bağlantıyı kullanacağız. Yani 8 bit veri hattı, 1 seçme hattı, 1 yaz/oku hattı ve 1 yazıcı seçme hattını kullanacağız. Buna ek olarak kullandığımız LCD modülde 1 tanede kontras ayarlama hattı mevcuttur. Bu modüller üzerinde arka aydınlatma için besleme hatları var ama kullanmadık. Çünkü çok fazla akım çekiyor. Daha fazla ayrıntı için internet üzerinde ayrıntılı bilgi bulabilirsiniz.


Şekil-3 :Devre çalışırken görünümü. Devrenin çalışması hakkında bir fikir verecektir.

Sistemin kalbi olan IC1 (AT90S2313) entegresi tüm saat seri haberleşme ve LCD kontrol işlemlerini yürütür. Bu entegreye bağlı olan C2,C3 ve XTL1 işlemci için gereken saat sinyallerini oluşturur.

Şema

Devre şeması aslında açık ve kendini anlatmaya yinede yeterli. U2 devrenin kalbini AT90S2313 oluşturuyor. U1 bilgisayar ve işlemci arasındaki RS232 arabirimdir. R1 LCD ekranın kontrast ayarı içindir. İstenilen kontrast için ayarlanabilir. U3 zaten çok tanınan ve bilinen 7805 olarak 5 voltluk regülatördür. Fazla güç çekilmediği için soğutucuya ihtiyaç duyulmamıştır. Aslında seri port bölümünü bir yana bırakacak olursak işlemci ve LCD ekran birlikte pille beslenebilecek kadar küçük akım çekmekte.


Seri LCD dönüştürücü blok şeması



Şekil-4:Devrenin şeması


Devre Yapımı

Devre yapımında kritik bir eleman yok. Baskı devre kartı üzerinde geçekleştirildiğinde standart eleman yerleşimi göz önüne alınarak devre kurulabilir. Bu noktada diğer devre teknikleri kullanıldığında bacakların doğru bağlanması önemlidir. Tabii ki kristal topraklanmalıdır. Sistem 9V besleme ile çok az akım çeker (LCD üzerindeki aydınlatma kullanmadığında) Bu nedenle 7805 üzerinde ek bir soğutucuya ihtiyaç duyulmamaktadır.
Tüm dirençler çeyrek wattır.
Besleme konusunda bir sorun oluşturmayacağınızı düşünüyorsanız girişteki köprüyü devre dışı bırakabilir veya tek bir diyotla değiştiribilirsiniz. (Kendi besleme kaynağınız varsa ve devreyi kendiniz kullanacaksanız) Devre üzerinde P3 konnektörü bu devre üzerine monte edilmesi gerekmez. Çünkü P3 aynı devre kartı AVR işlemciler ile kullanıldığında AVR programlama girişi olarak kullanılmak üzere devreye eklendi.


Şekil-6:Devrenin yerleşim planı



Şekil-7:Devrenin baskı devresi şekli(üstten görünüm)



Şekil-8:Kartın eleman ve yollarla birlikte yerleşim planı

Devre Elemanları

10K TrimpotR1
10µF/25VC1,C3,C4,C5,C10,C12
27pFC8,C9
100nFC2,C7,C11,C13
1000µF/25VC6
B125C1500D1
Max232U1
AT90S2313 (Attiny2313)U2
7805U3
4Mhz kristalXTL1
DB9 dişi konnektörP1
14P konnektörP2
10P konnektörP3
adaptör priziDC1


Malzeme listesi. Burada işlemci için soket ve 9V adaptör verilmemiştir. Kaliteli 20 bacaklı bir soket oluşabilecek problemlerin önüne geçecektir.
Not: Atmel firması AT90S2313 yerine artık Attiny2313 üretmektedir.


Devrenin toplanmış ve çalışmaya hazır.



Devrenin yandan görünümü.



Devre ilk çalıştığında bilgisayara bağlı olmasa bile LCD ekranda görülen metin(test sayfası diyelim).



(4x20)Devrenin çalıştığını göstermek için oluşturulmuş bir örnek:

Peki 2x20 veya 4x20'den başka LCD ekranları kullanırsak ne olur. İşte 2x16 olarak bir örnek:


2x16 LCD ekran



Bunu yazmasaydım içim rahat etmeyecekti.


Bu LCD ekran 2x16 olmasına doğruda, karekter rom olarak diğer gösterilen örneklerden biraz farklı. Nadir olarak karakter romu kiril alfabesini içerecek şekilde düzenlenmiş. Bu sayede bu alfabeyi kullanan dil yapısında ek bir işleme gerek duyulmadan kullanılabiliyor. Darısı Türkçe'nin başına... Çünkü burada yer alan Türkçe karakterler için LCD'nin RAM bölümüne bu karakterler ile ilgili verileri yüklemek gerekti. Yani her açılışta bu karakterler RAM bölümüne yüklenmesi gerekiyor.

Buraya kadar anlatılanlar devrenin donanım bölümünü içermekte. Ama devrenin bir de yazılım bölümü var, daha doğrusu bir bilgisayardaki programı. O olmazsa olmaz.

Bilgisayar Programı

Bu devredeki işlemcide bir yazılım mevcut ama bu sadece işin yarısı. Diğer yarısını ise bilgisayardaki yazılım oluşturuyor. Yani bilgisayardaki yazılım ekranda ne gösterileceğini denetliyor. Bilgisayardaki program Borland Delphi 7 ile yazıldı. (Neyse ki ücretsiz sürümü vardı)

Program birkaç ana bölümden oluşuyor.
  • Girdi-Yazı alanlarına girilen metni LCD ekrana yazar.
  • Metin-Metin bölümüne girilen veya kayıtlı bir metni LCD ekrana yazar.
  • Seçenekler-Program ve LCD ekranla ilgili ayarların yapıldığı bölüm.
  • Yardım-Temel düzeyde bilgilerin verildiği bölüm.

Girdi


Girdi penceresinin görünümü


Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Ekrandaki satırları temsil eden yazı alanları. Buraya girilen metin LCD ekranda gösterilir.
  2. Açılır menü şeklinde tanımlanan metin giriş türü vardır: Metin, saat, tarih, gün(haftanın günü) ve boş
  3. İşaretlendiğinde yazı alanlarına girilen metin LCD ekranda ortalanır.
  4. LCD ekrana yazı alanlarındaki bilgiyi tek seferlik gönderir.
  5. LCD ekrana yazı alanlarındaki bilgiyi sürekli gönderir. (saat ve tarih sürekli güncellenir)
  6. LCD ekranı siler
  7. Seçenekler bölümünü açar

Metin


Metin penceresinin görünümü


Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bu alandaki metin seçenekler bölümündeki ayarlara uygun olarak LCD ekrana gönderilir. Bu alana metin girişiyapılmaz ama değişiklik için satın seçilebilir.
  2. Seçilen satırda değişiklik veya yeni metin giriş alanı. Metin girişini onaylamak için enter'a bas.
  3. Kaydedilmiş metinler 1 nolu alana yükler.
  4. Metnin bulunduğu 1 nolu alanı kaydeder.
  5. Metin alanındaki bilgiler seçeneklere uygun olarak LCD ekrana gönderir ve durdurur.
  6. Metin alanını(1 nolu) siler.
  7. Girilmiş olan metni(2 nolu) metin alanındaki (1 nolu) metnin sonuna ekler.
  8. Metin giriş alanındaki karakter sayısını gösterir.
  9. LCD ekranı siler.
  10. Seçenekler bölümünü açar
Not: Bu bölüm tam bir metin düzenleme programı değildir. Sadece kısıtlı düzeyde metin girdi ve düzenleme işlevlerine izin verir.

Seçenekler


Seçenekler penceresinin görünümü


Resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. LCD ekran satır sayısı. Burada 2 ve 4 vardır.
  2. LCD ekran seri port bölümünün bağlı olduğu portu seçilir. (bağladığınız porta dikkat.)
  3. Metnin ekrana gönderim şeklini belirler. Satır satır kaydırarak veya Satırları grup olarak.
  4. LCD ekrana gönderilecek bilgi kaynağı. Girdi veya metin
  5. Metin halinde LCD ekrana gönderildiğinde LCD ekran bilgisinin yenilenme süresi
  6. Seçenekleri onaylar ve pencereyi kapatır

Ekler:



AVR Seri LCD Çevirici için dosyalar-birleşik

AT90S2313 hakkında ayrıntılı bilgi için

Bu devrenin yapım sorumluluğu size aittir. Devre yapıldı ve çalışıyor. K.A....

Hiç yorum yok:

Translate

Sayfalar

Etiketler

İzleyiciler