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.

17 Temmuz 2013 Çarşamba

Atmega32 işlemcisi ile T6963C kontrolcü içeren 240x128 grafik LCD modülünü sürme

Giriş

Grafik LCD ürünlerinin yapısal karakterlerini belirleyen öğelerden biri de kontrol çipleridir. Kontrol çipleri ekrandaki görüntünün nasıl oluşturulacağı yanında, bizim GLCD ile nasıl iletişim kuracağımızı da belirler.Piyasada bulunan kontrol çiplerinden biri de T6963C grafik kontrol çipidir.
Bu projede Atmega32 işlemcisi ile T6963C kontrolcü içeren 240x128 grafik LCD modülünü sürme üzerinde çalışacağız.

Not:Grafik LCD'nin markası şu diyebilmeyi isterdim. Satın alınan yerde büyük ihtimalle markanın bulunduğu etiket söküldüğü için bir marka belirtememekteyim. Marka farklı bile olsa LCD'nin bacak bağlantıları bulunduğu takdirde aynı kontrol çipini kullanan grafik LCD üzerinde de proje uygulanabilecektir

T6963C Grafik işlemcisi

Şekil-1 :240x128 Grafik LCD'nin önden görünümü.

Şekil-2 :240x128 Grafik LCD'nin arkadan görünümü. Kırmızı çerçeve içinndeki soldaki entegre T6963C'dir ve hemen sağındaki entegre RAM'dir. Diğer kare şeklindekiler LCD sürücüler.

Toshiba tarafından üretilen T6963C Grafik işlemcisi kendine özgü bazı özellikler taşımaktadır. T6963C grafik işlemcisi piyasada yaygın olarak kullanılan S6B0108 veya eşdeğer grafik işlemcilerinden biraz farklı özellikler içermekte. En azından bu prjede kullanılan 240x128 grafik LCD için tek sayfa olarak düzenlenmiş. Yani ekrana yazılan her bilgi sayfa seçmeden doğrudan ekrana gönderilebiliyor.

Şekil-3 :240x128 Grafik LCD'nin üzerindeki dünya haritası varken pikselleri.Grafik ve yazı birlikte(XOR modunda)

LCD üzerinde karakter ve grafik verileri birleştirilmiştir. Yani ekrana hem yazı hem de grafik verileri gönderilmesini sağlayan bir kontrol sistemine sahip.


240x128 nokta matris gösterge alanı, 8 bit paralel arayüzü, 128 karakter iç CG-ROM, metni ve grafikleri birleştirebilme yeteneği, ayrı adresleme alanları olan metin, grafik ve Karakter üreteci RAM (CGRAM) gibi özellikleri sayılabilir.
Şekil-4 :240x128 Grafik LCD'nin karakter yazıldığında ekran modeli. Sol taraftaki hex sayılar o satırların başlangıç adreslerini göstermektedir.

Grafik açısından satırlar bir bitlik bir yapıdadır. Ama sütunlar 8 bit veri içerecek şekilde gönderilmekte. Dolayısı ile ekrana gönderilecek veri bir satıra 30 bayt ve 128 tane de satırı olduğu sonucu çıkarılır. Ekrana grafik verinin tümün gönderdiğimizi düşünürsek bu 3840 bayt edecektir. Grafik verisi için ayrılan RAM başlangıç adresi 0x0200 olmaktadır.
Şekil-5 :240x128 Grafik LCD'nin grafik ekran modeli. Sol üst köşedeki ilk sıranın adresi 0x0200'dür. İkinci sıra ise 0x0222 ve diğerleri 0x22 eklenerek devam eder.

Şekil-6 :Grafik ekran modunda herhangi bir satırda yer alan herhangi bir baytın bit yerleşimi. Görüntünün piksellerinin durumunu bu bayt üzerindeki bitler belirler. 0=beyaz ,1= mavi(negatif görüntü)

Karakter açısından 8 tane satırdan oluşmaktadır ki, bir satıra sığacak karakter sayısı seçilen font'a bağlı olmaktadır. Font seçme işlemi de LCD'nin FS (font seçme) 1 veya 0 yapılması ile sağlanmaktadır. 6x8 font için FS=1 ve 8x8 font için FS=0 yapılması yeterlidir.(Bu bölüm programla incelenmesi gerekiyor) Buradaki proje FS=0 olacak şekilde şekillendirilmiştir.(FS=0'a göre düzenlenmiş bir ekran verisi FS=1 olacak şekilde gönderildiği zaman ekranda görüntüde bozulma olmaktadır ki bu dikkate alınması gereken bir durumdur.). Ekrana sadece karakter yazılacaksa daha fazla karakter sığdırılabilmesi açısından FS=1 seçilerek yazılması daha iyi sonuç verecektir.
Şekil-7 :240x128 Grafik LCD'nin font modunun ekran üzerindeki görünümü. Resimdeki metin aslında resim değil. Bloktaki bir metin,doğrudan GLCD'nin ROM'undaki karakterleri kullanılarak ekrana yazıldı. Programa (Latin-5) Türkçe karakter eklenmediği için metin içindeki diğer dillerde olmayan karakterler Latin-1'e göre değiştirmek gerekti.

Gerek yazı, gerekse grafik için her satır 34 baytlık bir RAM alanı ayrılacak şekilde biçimlendirilmiştir. Dolayısı ile bir sonraki satır her zaman için bir önceki satırın başlangıç adresine 34 (hex biçiminde 0x22) eklenmesi ile hesaplanabilir.
Önemli bacak bağlantılarını inceleyecek olursak;

CD: Register seçme ; CD=1 komut registeri, CD=0 için veri registeri seçilmektedir.
RD:Okuma (RD=0 okuma) T6963C'den okuma
WR: Yazma (WR=0 yazma) T6963C'ye yazma
CE: Çip seçme (CE=0 çip seçme) LCD ile iletişimi ile ilgili tüm işlemlerde bu bacağın kullanımı şarttır.
DB: İki yönlü veri hatları. T6963C ile işlemci arasındaki tüm veri ve kontrol bilgisi okuma ve yazma bu hatlar üzerinden gerçekleştirilir.
RES:Sıfırlama (RES=0 T6963C sıfırlama)
FS: Font seçme FS=1 6x8 , FS=0 8x8 font.
Şekil-8 :Atmega32 kartının tasarlanırken mümkün olduğu kadar bu grafik LCD bacak bağlantısı göz önüne alınarak tasarlardı. (küçük bir kaç hata hariç) Bu nedenle 40 yollu yassı kablo ile kullanılabilmektedir. Sadece işlemci kartı ve GLCD üzerindeki bağlantılar 20'li sıra pin yassı kablonun icindaki konnektör 2x20 IDC dişi konnektördür.

LCD ekranın bacak bağlantıları
Bacak No Sembolü Açıklaması
1 FG Modül Çerçeve Şasesi
2 Vss 0V
3 Vdd +5V
4 Vo Kontrast Ayarı
5 WR Veri Yaz
6 RD Veri Oku
7 CE Çip İzni
8 CD Komut/Veri Seçme
9 RST Reset Sinyali
10 DB0 Veri Biti 0
11 DB1 Veri Biti 1
12 DB2 Veri Biti 2
13 DB3 Veri Biti 3
14 DB4 Veri Biti 4
15 DB5 Veri Biti 5
16 DB6 Veri Biti 6
17 DB7 Veri Biti 7
18 FS Font Seç
19 LED+ LED'in Anot uçu (+5V)
20 VEE -16.5V çıkış

Mikrokontroller barındıran sistemlerde ilk açıldığında hangi değerler alacağı belirlenemez, dolayısı ile sistemin kararlı bir başlangıç değerleri alabilmesi için sıfırlanması gerekir. Bu işlem RES bacağını 6 saat çevrimi süresince RES=0 yapılması gerekir. RES bacağı modül üzerindeki kontrollerin içinden 1'e çekilmiştir. Yani bacak boşta kalsa bile lojik-1 seviyesinde kalır. Dolayısı ile RESET işlemi için RES bacağının toprağa çekilmesi yeterlidir.

LCD modül üzerinde T6963C kontroller sistemi gerekli bellek fonksiyonlarını sağlamak üzere 8KBayt veya 32Kbayt bir bellek ile desteklenmektedir. Ayrıca modül üzerinde LCD ekranı sürmek için sürücü çipleride vardır.

LCD modül üzerinde kullanılan bellek adresleri olarak
  • Metin adresi:0x0000
  • Grafik adresi:0x0200
  • CGRAM adresi:0x1400
şeklinde düzenlenmiştir. Belirtilen adresler ilgili verilerin yüklenmesi için başlangıç adreslerine denk düşmektedir.

Yani bir yazı yazdırmak istersek öncelikle 0x0000 adresini tanımlayıp bunu LCD ekrana göndermemiz gerekiyor. Aynı şekilde Bir Grafik şeklini ekrana göndermek için önce 0x0200 adresini tanımlayıp LCD ekrana göndermemiz gerekiyor.

Bir veriyi bir satıra yazmak için;
  1. LCD ekran veriyi 8 bit olarak kabul ettiğiniden iki tane 8 bit adres oluyor ve adres bilgisi LCD ekrana gönderiliyor
  2. LCD ekrana (0b00100100) adres işaretçisini ata komutu gönderiliyor
  3. LCD ekrana (0b10110000) otomatik yazma komutu gönderiliyor
  4. Kaç tane isteniyorsa ekrana veriler gönderiliyor
  5. LCD ekrana (0b10110010) otomati yazma komutu gönderiliyor.
Yukarıdaki işlemlerde LCD'ye veri ve komutlar gönderilmeden önceki LCD meşgul olma durumunu kontrol eden satırları atlanmıştır
Şekil-9 :240x128 Grafik LCD ve Atmega32 kartı ile oluşturulmuş bir görüntü. GLCD üzerinde işlemci kartının PCB 1:1 görüntüsü.

Şekil-10 :240x128 Grafik LCD ve Atmega32 kartı ile oluşturulmuş bir görüntü. Resimin sol tarafındaki yazılar metin modundadır,arka plan harita ise resimdir.

İki tane farklı mod olursa her iki modda ekrana bir şeyler yazılmak istendiğinde, ekrandaki verilerin yerleşimini düzenleyen bazı ekran modları olması gerekir.Yani ekranda bir resim var ve bunun üzerine bir yazı yazılırsa ekran modu seçilerek birbiri ile karıştırma seçenekleri ile ekran düzgün bir şekilde yerleşmeleri sağlanır
Şekil-11 :Seçilebilecek ekran modları. (bit 7 - bit 4) 4 biti sabit olmak üzere diğer 4 bit üzerinde yapılan değişiklikler ile ekran modları seçilebilir. 0b10010000 veya 0x90 şeklinde girilirse ekran kapalı konumda olur.

Ekranda gösterilecek birden fazla görüntünün birbirine göre uygulanacak modlar için ekrana gönderilecek komutlar:
  • 0b10000000 ; iç CG ROM OR
  • 0b10000011 ; iç CG ROM AND
  • 0b10000001 ; iç CG ROM XOR
  • 0b10000100 ; iç CG ROM metin özellik modu
OR, AND, XOR bilinen Lojik işlemlere denk düşmektedir, metin özellik modu incelenmemiştir. XOR durumu Şekil-3, Şekil-7 ve Şekil-10 üzerinde grafik üzerine uygulanmış yazı ile görülebilir. OR durumu uygulanmış olsaydı siyah zemin üzerindeki yazu görünmeyecekti, AND uygulanmış olsaydı sadece yazının siyah alanlara gelen bölümleri görülecekti.

Metin gösterim modunda kullanılan önemli konuda: imleçtir. 0b1010000 komutu kullanılarak 1 satır imleç seçilmektedir.

  • 0b1010000: 1 satır
  • 0b1010001: 2 satır
  • 0b1010010: 3 satır
  • 0b1010011: 4 satır
  • 0b1010100: 5 satır
  • 0b1010101: 6 satır
  • 0b1010110: 7 satır
  • 0b1010111: 8 satır

 Şekil-12 :İmleç modlarının görünümleri (imleç açık mavi ile belirtilmiştir)

imleç seçimine olarak tanımaktadır. Tabii ki imleç görünmesi için ekran modunda imleç görülecek şekilde seçim yapılması gerekmektedir.Tabii ki imlecin yanıp sönmesi için yine ekran modundan gerekli bitin seçinmiş olması gerekmektedir.

Not:GLD hakkında ayrıntılı bilgi için ürün veri kağıtlarına bakılması yerinde olacaktır. Bulabilirseniz

Devre

Devrede basitçe iki ana bölümü ayrılabilir. İşlemci kartıve grafik LCD . İşlemci kartı haricindekilerin fazla bir ayrıntısı yok.İşlemci kartı üzerinde besleme, işlemciyi süren Atmega32 var. Ekran ile işlemcinin bağlanması konnektör üzerinden yapılması planlansa da kartın yapılında bazı aceleye getirme sorunları nedeniyle kablo ile yapılması gerekti.(Kart farklı bir işlemci için tasarlandığında bacak bağlantıları farklı o yüzden kablo bağlantılarının T6963C için olan bağlantılar için dikkatli yapılması gerekmektedir.)
Şekil-13 :240x128 GLCD önden görünümü.

Şekil-14 :İşlemci kartınını ön ve arkadan görüntüsü (Kartın arkadan görüntüsündeki beyaz kablo -16.5V VEE ucunun 10K trimpota bağlantı için kullanılmaktadır. Verilen PCB üzerinde bu bağlantı düzenlenmiştir.)

Şekil-15 :Yassı kablo

Şema

Sistemin kalbini IC1 ile Atmega32 oluşturuyor. Aslında kristale gerek olmasada kesin zamanlama ihtiyacını karşılamak için XT1(3.6864MHz) kristal ile C6 ve C7 (27pF) kondansatörler ile birlikte işlemci için gereken zamanlama frekansını üretirler. R1 (1K) ve LED1 (LED) ile devrenin çalışmasını izlemek üzere kullanılsada bu bölümde ihtiyaç olmadığından devre dışı bırakılmıştır. R2 (150Ohm) ekran arkaplan aydınlatması akım sınırlama direnci olarak kullanılıyor. Kendi isteiğinize göre değerini ayarlayabilirsiriz. R3 (10K) trimpot GLCD kontrast ayarı için kullanılmaktadır. Grafik LCD ekran şemada gösterilmese de M1 konnektör bağlatısı üzerinden kablo ile bağlanmaktadır.

Devrenin beslemesi P1 konnnektörü üzerinden D1 (W10M) köprü diyodu üzerinden IC2(7805)regüle edilerek devrelinin ihtiyacı olan beslemeyi oluşturur.

Belirtilmeyen geri kalan kondansatörler filtre amaçlıdır.
Şekil-16:Blok şeması

Şekil-17:Devre şeması (isp ve P1 haricindeki konnektörler gösterilmemiştir)

Devre Yapımı

Devre montajı açısından kritik bir durum yoktur. Görüldüğü gibi devre son derece sadedir. Sadece elemanları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.
Şekil-17:Grafik LCD sürücü kartı ve buton kartı yollar

Şekil-18:Grafik LCD sürücü kartı ve buton kartı eleman yerleşimi

Şekil-19:Grafik LCD sürücü kartı ve buton kartı yolları birlikte eleman yerleşimi

Devre Elemanları

1K R1
150R R2
10K yatık trimpot R3
27pF C6,C7
100nF C1,C2,C3,C5
10µF/25V C4
3mm yeşil LED LED1
ATMEGA32 (DIL) IC1
7805 IC2
W10M veya benzeri D1
3,6864 Mhz kristal XT1
2x3 Header (ISP6) isp
2'li klemens P1
40 bacaklı entegre soketi (DIL) -
240x128 GLCD M1
20'li sıra pin (2adet) -
40 yollu şerit kablo -
40 bacaklı şerit kablo için konnektör (2adet) -
Besleme için 9V'luk adaptör, buton kartı ile işlemci kartı arasındaki kablo ve konnektörü ve LCD ekran ile işlemci kartı arasındaki kablolar unutulmamalıdır.

Ekran Görünümleri

Şekil-20:Dünya haritası.

Şekil-21:Portre.

Şekil-22:Yunuslar.

Şekil-23:Penguen. Resmi kodlarken ekranın negatif gösterdiğini unutunca resim haliyle biraz negatif çıkmış durumda.

Şekil-24:GLCD üzerindeki görüntü bu resim kullanılarak üretilmiştir.

Şekil-25:Kış manzarası. Manzara resminden görüntü oluşturup basmak için biraz yetersiz kalıyor.

Bilgisayar Programı

Bu projede kullanılan resimler doğrudan bitmap olarak tanımlanan siyah beyaz resimden kodlarak üretilmiştir. Bu elle yapılabilir tabi bunun için 240x128 matris alanını elle taramak anlamına gelir ki hata yapmaya son derece elverişlidir. Çözümü bilgisayar programı kullanmak. Bu amaç için C# üzerinde bu amaç için bir program yazılmıştır.

"240x128_GLCD.exe" programı sadece T6963C kontroller içeren 240x128 GLCD için 240x128 bitmap (siyah-beyaz) görüntüden işlemci programında kullanmak üzere gerekli kodları üretmektedir. Tek yapmanız gereken üretilen kodları kaydetmek ve işlemci programına eklemek.
Şekil-26:İşlemci programı içine yeni resmi eklenmesi.

Not:Burada oluşturulan resimlerin 3840 bayt gibi bir bir alan kaplaması nedeniyle, işlemci daha fazla resim için hafıza alanı barındırsa bile, sadece tek resim kullanılmaktadır. Daha fazla resim eklemek için program üzerinde düzenleme yapmak ve daha özel işlere girişmek o daha sonra işlerden.


Şekil-27:Resim kodlama programı pencesi. (Yunus Balığı pencere ilk açıldığında gösterilen resimdir. Her açılan resim bir sonraki açılana kadar resim alanında kalır)

Bu program penceresinde yer alan öğeleri kısaca değinirsek
  1. Resmin gösterildiği alan 240x128 boyutlarında siyah-beyaz;
  2. Resim alanında gösterilen resim negatifini alır.
  3. Resim açmak için bir diyalog penceresi açar ve bmp formatındaki resmi 1 nolu resim alanına yerleştirir.
  4. Resim alanındaki resmi tarar ve TC6963C için bir veri tabanı kodu üretir. Kodu Atmel AVR asm koduna uygun olarak 6 nolu yazı alanına ekler.
  5. Bir diyalog penceresi açarak, 6 nolu alandaki kodu bir.asm uzantılı belge içine kaydeder. (sizin verdiğiniz isimle).
  6. Resimden üretilen veritabanı kodlarının yazıldığı, saklandığı ve görüntülendiği alan.
Ekler:
Atmega32 hakkında bilgi için

"Atmega32 işlemcisi ile 240x128 grafik LCD modülünü sürme" projesi için gereken dosyalar

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



Atmega8 ve LM75 ile LED Ekranlı Termometre

Elektronik termometreler elektroniği bilenler için sıradan hatta neredeyse ilk başladıklarında yaptıkları ilk devreler arasındadır. Çeşitli haberleşme yöntemlerini kullanan sıcaklık algılayıcılar amaca uygun olarak rahatlıkla seçilip kullanılabilmektedir. Ölçülen sıcaklığın insanların anlayabileceği bir biçimde görüntülenebilmesi için de bir çok ara yüz birimi vardır.

Bu projede "Atmega8 ve LM75 ile LED Ekranlı Termometre" üzerinde duracağız

LM75

Şekil-1 :Küçük bir kart üzerindeki LM75. i2c pull-up dirençleri görülmektedir. Üstteki kondansatörler 100nF ve 10µF'dır

Sıcaklığı ölçen sayısal sistem üzerinde 9 bitlik sıcaklık bilgisini işlemci tarafından okunabilmesi için i2c bağlantısını kullanılır. Her ne kadar., LM75'in sıcaklık alarmı gibi başka işlevleri var ise de, bu projede üzerinde durulmayacaktır. LM75 sıcaklık algılayıcı -55 ile +125 derece arasında ölçüm yapabilmektedir.

LM75 için alet adresi 1001,A2,A1,A0 ve oku/yaz biti ile oluşturulur. Bu projede A2,A1 ve A0 bacakları toprağa bağlandığından 0 olur ve dolayısı ile alet slave adresi 1001000+oku/yaz şeklinde düzenlenir. Buna göre LM75 yaz tanım kodu 10010000(0x90) ve oku tanım kodu 10010001 (0x91) şeklinde olmaktadır.

Şekil-2 :i2c üzerinden işlemci ve LM75 arasındaki iletişim..

Bir sıcaklık verisinin okunmasında;
  • LM75'e başlama durumu gönder 
  • LM75'e tanıma kodunu (çip kodu+adres+ yaz biti) gönder ---LM75'den kabul durumu bekle 
  • LM75'e okunacak bayt adresini (0x00) gönder --- LM75'den kabul durumu bekle 
  • LM75'e başlama durumu gönder --- LM75'den kabul durumu bekle 
  • LM75'e tanıma kodunu (çip kodu+adres+ oku biti) gönder ---LM75'den kabul durumu bekle 
  • LM75'den sıcaklık yüksek anlamlı baytı oku --- LM75'e kabul durumunu gönder 
  • LM75'den sıcaklık düşük anlamlı baytı oku --- LM75'e kabul değil durumunu gönder 
  • LM75'e durdur durumu gönder...


kabul durumu :Lojik-0
kabul değil durumu: Lojik-1


Artık bu noktadan sonra okunan verinin değerlendirilerek sıcaklık değeri ile eşleştirilmesine kalmıştır.

Düşük anlamlı baytı sadece bit7 değerlendirilmektedir. bit.7'de sıcaklık değerinin ondalık hanesine denk düşmektedir ki sadece 0 ve 5 değerini almaktadır.
Şekil-3 :LM75'den alınan sıcaklık verisi.

Yüksek anlamlı baytın bit-7 ise sıcaklığın negatif veya pozitif değerini ayırmak için kullanılmaktadır.

Yüksek anlamı bayt değeri onluk sistemde doğrudan sıcaklık değerine denk düşmektedir ki bu bir çevirme işlemine gerek olmayacağı anlamını taşır. Sadece sıcaklık değeri sıfırın altında ise o zaman elde edilen değerinden 255'nın çıkarılması gerekmektedir.(ikinin tümleyeni ve yüksek anlamlı baytın bit-7 dahil).Bu noktada göz önüne alınması gereken LSB değerininde hesaba katılması gerekliliğidir.

LED ekran

Şekil-4 :Devrede kullanılan LED ekranları birisinin üzerindeki 2 rakamı.

LED elektroniğin en bilinen elemanıdır. Burada kullanıcı arayüzünde rakamsal değer olarak verebilmek için 7 parçalı ortak anotlu LED ekranlar kullanılmaktadır.

Sadece işlemcinin bacak sayısı her LED ekranı tek tek sürmeye yeterli gelmediğinden dolayı çoğullama adı verilen bir teknik kullanılmaktadır. Yeni her LED ekran aynı anda sürülmemektedir. Sadece zamanın küçük bir kesrinde kendisine ait değeri göstermektedir. İnsan gözü saniyenin 1/20'deki değişimleri algılayamadığı için bütün değerleri bir anda gösteriliyormuş gibi algılıyoruz.

Bu işlemcinin bacak sayısında tasarruf sağlıyor ama işlemci programını biraz karıştırıyor..

Devre

Şekil-5 :Tam sistem. Tek yapılması gereken besleme bağlantısı

Devre işlemci kartından oluşmaktadır. Her ne kadar LM75 ayrı bir kart üzerinde ise de hepsini bir kart üzerine toplamak baskı devre çizebilenler için sorun olmayacaktır. İşlemci devresi ;işlemci, besleme LED ekran ve LED ekran sürücüleri tek bir alanda toplanarak küçük bir devre oluşturulmasını sağlamıştır.
Şekil-6 :İşlemci kartı. Bu kart daha önceki projelerde kullanılan bir devre olduğu için bazı eleman fazlalıkları vardır.(voltmetre ve termometre )
Şekil-7 :İşlemci kartı arkadan görünüm. Görünmeyen elemanlar kartın arkasında. Kart tasarlanırken harici kristal kullanılabileceği de öngörülmüştü. Bu nedenle PCB üzerinde kristal ile ilgili bacak bağlantıları da yer almaktadır.

Not: LM75'i başka devrelerde de kullanabilmek için küçük bir kart üzerinde kablo ile bağlama yolu seçilmiştir. (özellikle buzdolabının sıcaklığını gözlemlemek için).
Şekil-8 :LM75'in bulunduğu kart

Şema

İşlemci ile işlem yaptığımıza sistemin kalbini IC1 Atmega8 oluşturuyor. D2, D3, D4, D5 ortak anotlu gösterge LED'leri oluşturuyor. Gösterge ile işlemci arasındaki seri bağlı R5, R6, R7, R8, R9, R10, R11 ve R12 (220Ohm) LED göstergelerin akım sınırlama dirençleridir. LED ekranların ortak uçlarını süren Q1, Q2, Q3, Q3 (BC327) transistörleri, bazılarına bağlı R1, R2, R3 ve R4 (1K)dirençleri üzerinden işlemciye bağlanır. Böylelikle gösterge bölümü bitirilmiş olur.

IC3 (LM75) ayrı küçük bir kart üzerinden kablo ile taşınmıştır. IC3 için i2c bağlantısı desteği olan R13 ve R14 (10K) pull-up dirençleri eklenmiştir.

D1 (2W10M) köprü diyodu üzerinden bağlı olan IC2 (7805) gerilim regülatörü devre beslemesi için 5V gerilimini üretir.

ISP konnektörü işlemcinin programlanması için gereken bağlantı elemanını oluşturur.


Geriye kalan kondansatörler filtre amaçlı elemanları oluşturur.
Şekil-9:Blok şeması

Şekil-10:Devre şeması (P1,P4 ve P6 konnektörü gösterilmemiştir)

Devre Yapımı

Devre montajı açısından kritik bir durum yoktur. Görüldüğü gibi devre son derece sadedir. Sadece kabloları karta lehimlerken kısa devre olmamaları için dikkatli olmak yerinde olacaktır.

Şekil-11:Kartların yollar

Şekil-12:Kartların üstteki eleman yerleşimi Kart üzerindeki C5,C6,XTL1 elemanları kart üzerine takılması gerekli değildir, takılsa bile çalışmayacaktır.

Şekil-13:Kartların alttaki eleman yerleşimi

Şekil-14:Kartların yolları birlikte üstteki eleman yerleşimi

Şekil-15:Kartların yolları birlikte alttaki eleman yerleşimi

Şekil-16:Kartların bağlantıları. .

Şekil-17:Tüm sistemin bağlantı yapılmış hali. Parmak ucu sıcaklığı ölçerken

Devre Elemanları

220R R5,R6,R7,R8,R9,R10,R11,R12
1K R1,R2,R3,R4
10K (1206 smd) R13,R14
100nF C2,C3,C4
100nF (1206 smd) C7,C9
10µF C1
10µF (1206 SMD) C8
B125C1500 veya benzeri D1
LM75( SOIC8) IC3
FYS-3611BS (LED ekran) D2,D3,D4,D5
7805 IC2
Atmega8 IC1
LM75 IC3
6 Header (ISP6) ISP
2'li Klemens P1
Besleme için 9V'luk adaptör unutulmamalıdır.

Sonuç

Sonuç olarak devre küçük bir yapıda. (daha da küçültülmemesi için elbette bir sebep yok) İsteyen LM75'i de işlemci kartına dahil ederek bir ortam termometresi oluşturabilir. Sadece dikkat etmesi gereken kutu içine konulduğu zaman devrenin hava alması için yeterli sayıda delik açılması gerekliliğidir. Bu şekilde LM75 doğru bir şekilde ölçüm yapması sağlanır.
Şekil-18:Ortam sıcaklığı


Şekil-19:Buzdolabı. Suyun en yoğun olduğu sıcaklıkta

Şekil-20:Buzdolabı buzluk. Yazın bu sıcaklığı görebileceğiniz nadir yerlerden biri

Şekil-21:Buzdolabı buzluk. Biraz daha beklersek daha da soğuyacaktır.


 Not: Filmin sonuna doğru parmak ile LM75'e dokunulmuş ve sıcaklık artırılmıştır.

Ekler:
Atmega8 hakkında bilgi için

"Atmega8 ve LM75 ile LED Ekranlı Termometre" projesi için gereken dosyalar

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


Translate

Sayfalar

Etiketler

İzleyiciler