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...

13 Ocak 2010 Çarşamba

FT232 ile USB-Seri LCD Sürülmesi


Bilgisayar ile birçok yöntemle çevre birimler iletişim kurabilir. Seri port, paralel port. USB, ethernet, kızıl altı, fiber optik günümüzde giderek yaygınlaşan kablosuz bağlantılar gibi bir çok iletişim yöntemi var. Bunları arasında günümüzde en yaygın olanı USB kullanıcılar açısından kullanımı en kolayıdır diyebilirim. Bu projede bir FT232 USB-seri dönüştürücü yardımı ile karakter LCD karakter modülünü süreceğiz.

Not:USB-seri dönüştürücü modu üzerinden (sanal seri port) iletişim için doğrudan "RS485 (Seri) LCD Çevirici" ve "AVR Seri LCD Çevirci" projelerinde verilmiş olan bilgisayar programı kullanılarak LCD ekrana bilgi gönderilebilir. (Türkçe karakterlere dikkat)

Şekil-1 :Ekrandaki görüntü.

FT232

"FT232BL USB-Seri Dönüştürücü" projesinde bir FTDI Chip firmasının ürettiği FT232BL tümdevresi ile bir USB-Seri dönüştürücü gerçekleştirdik. Normalde sürücüleri yüklendiği zaman kendisi doğrudan bilgisayara sanal bir seri port atamakta ve bu port üzerinden modülün seri çıkışına bilgi gönderilebilmekte. Ama bu işlemin aslında bilgisayarın seri portuna bilgi göndermekten farkı yok.

Burada doğrudan herhangi bir seri port işlemi uygulamadan doğrudan FT232 çipine USB üzerinden göndereceğiz. Sonuçta bu aletin bir USB portuna bağlı olduğunu göz önünde bulundurursak, ve üretim amacının USB-seri köprüsü olduğunu düşünecek olursak pek ala mümkün. Bunun için zaten aletin sürücüleri yüklenirken birlikte yüklenen" D2XXUnit.dll" kütüphanesinden faydalanacağız. Bu kütüphane üzerinde USB üzerinden FT232 entegresi ile nasıl iletişim kurulacağı tanımlanmış durumda.

USB üzerinden İletişim

Her USB alet için bir isim, seri numarası tanımlanmıştır. Bizde USB modülümüzü yaparken bir seri numarası verdiğimizi ve bir isim atadığımızı varsayalım. USB modülü programlarken isim olarak "LCD USB Serial Converter" ve seri numarası olarak "FTSM7TG9"(bu programlayıcı program tarafından otomatik verildi) atandı. Bu bölüm önemli iki veya daha fazla USB alet taktığınız zaman (neyseki USB sürücüleri sadece FTDI firmasının ürettiği aletleri algılıyor) eğer düzgün seçemezseniz bilgisayar hangisi olduğunu ne yazık ki bilemeyecektir.

Bu noktada yapılacak tüm iletişimler öncelikle ya alet adı yada alet seri numarası üzerinden yapılması gerekiyor.

Şekil-2 :USB aletin seçilmesi.


Bu proje geliştirilirken hem Delphi hem de Visual Basic 6 üzerinde denendi. Öncelikle "D2XXUnit.dll" modülünü programınıza ekliyor ve bundan sonra kütüphanesindeki fonksiyonları kullanarak istenilen işlemleri yerine getiriyorsunuz.

İşlemci tarafında aslında temelde bir sorun oluşturmadan kod üzerinde fazla değişiklik yapılmadı (Türkçe karakterler ve eklenen LED hariç). Teorik olarak alete eklenecek RS232 köprüsü ile bilgisayar ile doğrudan iletişim kurabilir.

Yani alet için LCD modül ile USB modül bağlantısını sağla, LCD ekranın konnektörünü LCD modüle tak, USB modülü bir USB kablosu üzerinden bilgisayara bağla. Sonrası için bilgisayar USB modülü tanımladığında USB-seri LCD programını çalıştır. Eğer ilk defa takılıyorsa Seçenekler bölümünden USB aleti seç. Seçeneğini onayla ve metin giriş bölümünden göndermek istediğin metni gir ve gönder butonuna bas.

Şekil-3 :Kartlar ve bağlantıları.

Şema

Aslında şemayı iki bölüme ayırmak gerekiyor. USB bölümü "FT232BL USB-Seri Dönüştürücü" projesinde zaten anlatıldığı için o bölümü için ilgili bölüme bakılabilir. "FT232BL USB-Seri Dönüştürücü" projesinin yaplımşı olduğunu varsayayıyoruz. LCD modülü için aslında aman aman bir durum yok. Temel düzeyde (iletişim bölümleri hariç) "RS485 (Seri) LCD Çevirici" ve "AVR Seri LCD Çevirci" projelerinde anlatıldı. Dikkat edileceği üzere devre üzerinde besleme devresi yok. Yani devre beslemesini bilgisayar üzerinden alıyor. LCD ekranın arkaplan aydınlatılması kullanılmadığında bilgisayarın USB portu devreyi beslemeye yeterlidir. İsteyen kendi besleme kaynağını ekleyebilir.(USB modül üzerinden gerekli ayarları yaparak).

Devrede IC1 (ATtiny2313) işlemci seri port üzerinden gelen bilgiyi LCD ekran üzerine gönderiyor. Buna bağlı XTL1, C3 ve C4 işlemci için saat sinyalini üretiyor. R1 LCD ekranın kontrast ayarını sağlar. geri kalan kondarsatörler filtre için. ISP konnektörü işlemcinin programlanması için. R2 LED akım sınırlama direnci olmak üzere ve D1 LED için kullanılan sistem.

Şekil-4:Blok şeması


Şekil-5:Devrenin şeması

Devre Yapımı

Devre yapımı sadece LCD modülü için anlatılacak. USB modülü için "FT232BL USB-Seri Dönüştürücü " projesine bakılması gerekiyor. Öncelikle köprüleri ve dirençleri lehimle, sonra kondansatörleri. Konnektörleri tak,(entegre için dahil),sonra kristal ve LED tak. Kart üzerinde besleme için bölüm bulunsa da, besleme kullanılmamıştır..
Tüm dirençler çeyrek wattır.

Şekil-6:Devrenin baskı devre planı(eleman tarafından göründüğü şekilde)


Şekil-7:Devrenin yerleşim şekli


Şekil-8:Eleman ve yolların birlikte görünümü


Şekil-9:LCD Modülünün alttan görünümü


Şekil-10:USB-Seri Modülünün alttan görünümü

LCD Modülünün Devre Elemanları

10K TrimpotR1
1KR2
27pFC3,C4
100nFC2,C6,C8*
10µFC1,C5,C7*
Attiny2313IC1
7805IC2*
B125C1500D2*
3mm kırmızı LEDD1
3,6864Mhz kristalXTL1
10P erkek konnektörP2
14P erkek konnektörP1
6 bacak konnektörisp

Not:
1.* işaretli elemanlar LCD modül üzerine takılmamıştır.
2. Kartlar arası bağlantı kabloları eleman listesinde verilmemiştir.
3. LCD ekran ve bağlantı kabloları malzeme listesinde verilmemiştir.
4. P3 9V bağlantı konnektörü malzeme listesinde verilmemiştir.

Şekil-11:USB-Seri Modülünün bir görünümü


Şekil-12:USB-Seri Modülünde kullanılan LCD ekranlar

Bilgisayar USB kontrol programı

Bu bölüm aslında sadece yapılan programı tanıtmak amaçlı olsada yüzeysel olarak USB için bilgi verecek olursak,burada her satır için 20 karakter, 1 satır kodu, 1 satır sonu kodu olmak üzere 22 karakter gönderiliyor. Bu bilgi işin güzel tarafı bir defada gönderiliyor. Her karakter tek tek gönderilmiyor. USB üzerine blok olarak gönderiliyor.
    USB alet için, program adımları
  • aleti açıyor veya tanımlıyor,(alet seri numarası veya alet adı ile);
  • aletin seri port ayarlarını atıyor;
  • alete gönderilecek veri USB porta aktarılıyor;
  • USB kapatılıyor.

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şi yapılmaz ama değişiklik için satır 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 satır seçenekleri vardır.
  2. Bağlı olan USB aletlerin listesi. Seçmek için tıkla.
  3. Seçili aletin Seri Numarası
  4. Seçili aletin Adı
  5. Bağlı aletlerin listesini yeniler.
  6. Metnin ekrana gönderim şeklini belirler. Satır satır kaydırarak veya Satırları grup olarak.
  7. LCD ekrana gönderilecek bilgi kaynağı. Girdi veya metin
  8. Metin halinde LCD ekrana gönderildiğinde LCD ekran bilgisinin yenilenme süresi
  9. Seçenekleri onaylar ve pencereyi kapatır


Bu bölümde LCD ekran ile ilgili ayarlar var. USB alet adı , USB alet seri numarası, LCD ekran satır sayısı gibi seçenekler seçilebilir.

Dikkat ilk defa çalıştırıldığında bu bölümde USB aletin seçilmesi gerekir. Seçilen alet programın ini dosyasında saklanır. Sonraki açılışlarda bu seçimin yapılması gerekmez.

Küçük Türkçe karaklerin denetimi ve doğru şekilde gösterimi yapılırken, ne yazık ki büyük harfler için aynı şeyi söylemek zor. Çünkü 7x5 matris alanı büyük harflerin oluşturulması için yetersiz kalıyor.


Film üzerinde; LCD modül LED sürekli yanar, USB-seri modül üzerindeki LEDler bağlantı durumunu gösterir.(iletişim durumunda yanar). Besleme bilgisayarın USB portu. Görüldüğü gibi saat satırı sürekli yenilenmektedir. (kaydın yapıldığı saatte). Bu her ekran bilgisi yenilendiğinde LED yanıp sönmektedir.
Ekler:
Attiny 2313 hakkında bilgi için

FT232 ile USB-Seri LCD Sürülmesi için dosyalar- birleşik

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


Etiketler

İzleyiciler