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.

led matris ekran etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
led matris ekran etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1 Haziran 2014 Pazar

Atmega328P ve DS1307 ile LED Matris Ekranlı Saat

Blog üzerinde çeşitli saat örnekleri gerçekleştirdik. Bu saat örneklerinde LED matris ekran kullanılanları da var.Hatta DS1307 ile birkaç proje oluşturduk ki kullanımının daha kolay anlaşılabilsin. Bu projede farklı bir işlemci ve DS1307'yi birleştirerek bir saat uygulaması daha oluşturmaya çalışacağız.

Bu projede Atmega328P ve DS1307 ile LED matris ekranlı saat uygulamaya çalışacağız.

Çoğullama
LED'lerin işlemci ile doğrudan sürülmesini zaten başlı başına bir sorun. O kadar LED'i sürecek bacağı sahip işlemci bir yana bağlantıların yapılması bile ciddi bir konu.

Aynı sistem seri giriş paralel çıkış entegreleri ile de oluşturulabiliyorsa da, entegrelerden ve LED'lere bağlanması gereken bacak sayısı bir yana her bir led'ini aynı anda yanmasından dolayı ciddi bir güç kaynağı gereksinimi de söz konusudur. (Piyasada bu yöntemi kullanan sistemler var). Sanırım programlanmasındaki kolaylıklardan dolayı tercih ediliyor.

Çoğullama konusu zaten bu işin temelini oluşturuyor. Yani bir anda tüm satır veya sütunların çalıştırılmayıp, zamanın bir anında sadece bir (uygulamamızda)sütunun aktiflenmesi esasına dayanır.

                                                        Şekil-1 :Led'lerin tarama prensibi.


Şekil-2 :7x5 matrisin çalışırken insan tarafından algılanan görünümü. Soldaki çizim,sağdaki gerçek görünümü


NotÇoğullamanın sıkıntısı LED sütun sayısı belli bir değeri aştığı zaman LED parlaklığının düşmemesi için besleme gerilimi artırılması gerekir veya sistemin bloklar halinde kullanılması gerekir. (tarama hızının ona göre ayarlanması gerekir).
Şekil-3 :Led'lerin resmi.

Bu projede çoğullama yöntemi tercih edilmiştir. Bu yöntemde basitçe önce satırlar rakamı oluşturacak şekilde sürülür, sütun transistörü aktif edilir, bir süre beklenir ve sütun transistörü kapatılır. İkinci, üçüncü...ve otuzuncu sütun için işlem tekrarlanır ve tekrar baştan başlanır.
Şekil-4 :Led'lerin 7x5 için matris bağlantı şeması.

Yukarıdaki işlem için 30 baytlık RAM üzerinde ayrılmıştır (başlangıç adresi işlemcinin RAM başlangıç adresi olan 0x100 adresidir) ve ekran üzerinde oluşturulmak istenen görüntü bu RAM üzerine yazılır. Her RAM hücresi bir sütunluk veriyi tutar. Dolayısı ile işlemci hangi sütun aktiflenecek ise işlemci uygun RAM hücresinden veriyi okur ve satır sürücüsüne verir. (işlemcinin bacaklarından)


Saat devresi açısından anlatıldığı şekilde bir devre oluşturmaktır.

DS1307
Şekil-5 :DS1307 çipi bacak bağlantıları.

Projede uygulanan diğer LED matris saatleride saat işlemci tarafından sayılarak sağlanıyordu. Bu projide saat kaynağı olarak DS1307entegresi kullanımıştır. Her ne kadar DS1307'nin tarih tutma kapasite ve ek RAM alanı bulunsada sadece saat tutma (sayma) özelliği kullanılmıştır. DS1307'nin diğer bir özelliği ise destek besleme bacağının bulunmasıdır. Destek besleme bacağı kullanılarak 3V'luk saat pili ile elektrik kesintilerinde (saat için alternatif besleme düşünülmemiştir) DS1307 saat saymaya devam edecektir. Elektrik tekrar geldiğinde saat sayma devam ettiği görülecektir.

DS1307 iletişim olarak i2c haberleşme tekniğiin kullanmaktadır, haliyle işlemci üzerinde donanımsal olarak i2c hattı bulunduğu için bacak bağlantılarına eklenecek olan 2 pull-up direnci i2c bağlantısını tamamlayacaktır.

DS1307 kristal bacaklarına bağlanan 32KHz saat kristali ile kararlı bir şekilde saat referans sinyali sağlayacaktır. Veri kağıtlarında saat kristali konusunda bazı sınırlama olduğu belirtilmiştir. Kristal konusu önemlidir, çünkü DS1307'nin çalışıp çalışmaması dahil saatin ileri veya geri gitmesi gibi konuları etkileyecekitr.
Şekil-6 :Kart üzerindeki DS1307, pil ve kristal.

NotKristalden emin değilseniz eski bilgisayar kartlarından sökeceğiniz bir saat kristali işinizi görecektir.
PCB
Şekil-7 :Kartın her iki yüzünün resmi. Bazı deliklerin köprüleri lehimlenmiş halde.

Devrede LED'ler ayrık eleman olarak tasarlandığı için tek yüzle gerçekleştirilmek istendiğinde çok fazla köprüleme gerektirecekti. (gerçi kartta delik içi kaplama olmadığı için yine de köprüleme vardır. Delik içi kaplama tekniği ile üretilen kartlarda köprüleme ihtiyacı olmayacaktır.) LED'lerin bağlantılara ve diğer elemanların bağlantıları nedeni ile çift yüzlü kart ile gerçekleştirilmektedir. Devre birkaç eleman dışında da SMD (yüzey montaj tekniği) kullanılacak şekilde tasarlanmıştır. Aynı zamanda devrenin daha küçük yapılmasına olanak tanımıştır. PCB elde üretileceği öngörülerek yollar arası geniş tutulmuştur. PCB basım esnasında bazı lehim adaları (çift taraf üzerinde) kaymış ise de kullanılabilir durumdadır. (Çizimde bir sıkıntı yoktur)

LED olarak 1206 kılıfa sahip kırmızı LED kullanıldı (toplamda 214 tane gereken LED'lerden elimde 170 tanesi vardı), istenirse 1210 kılıfa sahip LED'de kullanılabilir.

Şekil-8 :Çift yüzlü kart üretiminde iki yöntem. Soldaki delik içi kaplama olmadan sağdaki delik içi kaplama ile.

Şekil-9 :Çift yüzlü kart montajında deliklere eleman ve köprü lehimi. Delik içi kaplama olmadığında yollar arasındaki iletimi sağlamak için kartın her iki yüzünden de lehimlenme gerekmektedir.

Lehimleme konusunda en sıkıntılı eleman Atmega328p'dir, çünkü işlemci 4 kenarında 8 bacak bulunan 32 bacaklı bir elemandır. Yani entegre 4 taraftan da hizalanması gerekir.
Şekil-10 :Kart üzerine lehimlenmiş işlemci.

Devre
Şekil-10 :Yapılmış haldeki devrenin ön yüzü. Görüldüğü gibi tüm elemanlar bu yüzde bulunmaktadır

Şekil-11 :Yapılmış haldeki devrenin arka yüzü.

Saat çipi DS1307 saat tutucu (sayıcı) kendi destek beslemesi ile elektrik kesintilerinde işlevine devam edecek yapıdadır.

Satır sürücüleri direnç üzerinden işlemci bacaklarına bağlı bir yapıdır. 7 adettir.

Sütun sürücüler 74HC154 ile dirençler üzerinden sürülen BC857 (PNP) transistörler oluşturur. 2 tane 74HC154 üzerinden 30 tane BC857'den oluşur.
Şekil-12 :Kart üzerinde lehimli 74HC154 ve bacak bağlantıları.

Besleme içinde 7805 gelen besleme gerilimini işlemci ve diğer entegreler için 5V sabitleyerek regülasyonu sağlar.
Şekil-13 :Kart üzerindeki 78M05.

Tabii ki burada Atmega328p sistemin tümünün kontrolunu sağlar.

İki tane buton da saat ve dakika ayarı için kullanılmaktadır. Ayrıca devre ilk çalıştırıldığında DS1307'nin ilk değerlerinin yüklenmesi için besleme verilmeden önce bu butonlara basıp ve basılı tutularak besleme verilmesi ve sonra butonların bırakılması gerekmektedir.

210 tane LED her biri 7x5 matris oluşturacak şekilde 6 hane olarak gruplanmıştır. Saat, dakika ve saniye değerleri bu LED matrisler üzerinde görüntülenmektedir.

Şema
Not: LED matrisi oluşturan D1..D210 LED'lere 210 tane oldukları için tanımlama kodu verilmemiştir.
IC1 (Atmega328p) saatin tüm kontrolunu yapan mikrokontrollerdir. İşlemcinin iç saat kaynağı RC kullanıldığı için harici kristal kullanılmamıştır. İşlemciye bağlı S1 (saat ayar butonu) ve R38 (10k) pull-up direnci saat ayar kontrolu için kullanılan butonudur. Aynı şekilde işlemciye bağlı S2(dakika ayar butonu) ve R39 (10k) pull-up direnci dakika ayarını sağlamak için kullanılan devreyi oluşturur.

IC1'e (Atmega328p) IC2 ve IC3 (74HC154) decoder entegreleri sütun sürücüleri olarak çalışır. IC2 ve IC3 (74HC154) çıkışlarına bağlı R8...R37 (1k) dirençleri üzerinden bağlı olan Q1...Q30 (BC857) PNP transistörleri baz üzerinden (emetörleri +5V ve kollektörleri LED sütunlarına bağlı olmak üzere) LED sütunları kontrol edilir.

IC1'in (Atmega328p) bacaklarına bağlı R1...R7 (100 Ohm) dirençleri LED matrisin satır sürücüleri olarak çalışır.

IC1'in (Atmega328p) bacaklarına IC4 (DS1307) saat kaynağı olarak çalışır. Aynı zamanda i2c bacaklarına bağlı R40 ve R41 (10K) pull-up dirençleri i2c bağlantısının pull-up ihtiyacını karşılar. IC4 (DS1307) bacaklarına bağlı XTL1 (32KHz) kristal saat sayma için referans saat sinyalini üretir. IC4'ün(DS1307) 3. bacağına bağlı PIL1 (3V pil) destek beslemesi olarak güç kesintilerinde saat sayma işlemine devam edebilmesi için takılmaktadır.

IC5,D245 ve P1'den oluşan devre elemanları devrenin beslemesi için gereken gücü sağlayarak +5V regüleli gerilimi oluşturur.

D211,D212 (LED) ve R42(1k2) direnç ve D213,R214 (LED) ve R43 (1k2) direnç matris ekran üzerinde saat, dakika ve saniye arasında ayırıcı olarak işlev görür.

Kondansatörler ise devre üzerinde filtre amacı ile kullanılmıştır. .
Şekil-14:Blok şeması
Şekil-15:Devre şeması (Led matris içinde yer alan ledler blok halinde gösterilmiştir)

Devre Yapımı
Devre yapımında kartı delik içi kaplamalı yaptırıyorsanız, yapacağınız sadece elemanları monte etmek iken, eğer kendiniz basıyorsanız, bacaklı elemanların bulunduğu delikler haricindeki tüm deliklere birer tel geçirip her iki taraftan lehimlemeniz gerekir. Zorluğu işlemin zaman almasıdır.

Entegreler biraz zorlar (IC1-Atmega328p) özellikle işlemci 4 tarafında bacaklar bulunduğu için lehimlemeden önce tüm bacakların hizalandığından emin olun.

LED'leri lehimlerden doğru yönde konumlandıklarından emin olun. Hatta lehim işlemi tamamlandıktan sonra Ohm kademesinde LED'lerin kontrol edilmesinde fayda var.

ISP konnektörünün bazı bacaklarının (kart delik içi kaplama değilse) elemanların bulunduğu taraftan lehimlenmesi gerektiğini dikkat ediniz.
Şekil-16:PCB şeması, (top) üst yollar

Şekil-17:PCB şeması, (bot) alt yollar

Şekil-18:Kartların üst yüzdeki eleman yerleşimi.

Şekil-19:Kartların yolları birlikte üstteki eleman yerleşimi (Alt yüzde eleman bulunmamaktadır.)

Şekil-20:Kart çalışırken bir görünümü. Monte edilmiş ve saat ayarı yapılmış.

Devre Elemanları
100R (1206)R1...R7
1K (1206)R8...R37
10K (1206)R38...R41
1K2 (1206)R42,R43
100nF (1206)C1,..C6,C8...C10
10µF (1206)C7
10µF/16V tantal (A-Case)C4
BC857 (SOT23)Q1...Q30
LED (1206)D1...D214
2W10M vye benzeriD215
Atmega328P (TQFP32)IC1
74HC154 (SO24)IC2,IC3
DS1307 (SO8)IC4
78M05 (D-PAK)IC5
32.768KHz KristalXTL1
2x3 Header (ISP6)ISP
ButonS1,S2
3V pilPIL1
2'li klemensP1
Eğer kullanılan pil kendinden bacaklı değilse eleman listesine bir tane de pil için soket eklenmelidir. Besleme için 9V'luk adaptör unutulmamalıdır.

Devrenin Çalıştırılması
Şekil-21:Matris ekran için bir deneme. Ayraç noktalarını söndürsem iyi olurmuş.(Saat üzerinde çıkmıyor, bu sadece bir deneme).

Devreye ilk besleme verildiğinde öncelikle besleme geriliminin entegrelerin besleme bacaklarında +5V olmadığı incelenmelidir. İşlemcinin (sigorta ayarları ile birlikte) programlama işleminden sonra devrenin beslemesi kesiliyor. (DS1307 destek pili kalabilir) Çünkü ilk açılışta DS1307 saniye registerindeki CH biti yüzünden çalışmaya başlamaz. CH bitin sıfırlanması gerekir.
Şekil-22:Programlama için ISP konnektörü bağlantısı.

S1 ve S2 butonları (saat ayar ve dakika ayar butonları) basılı halde iken devreye besleme verilir. Besleme verildikten sonra butonlar bırakılır. Bu işlem DS1307 destek pili bitip de değiştirildiği zaman uygulanması gerekir. Normalde bu pilin (veri kağıtlarında yazılanlara göre) ömrü 10 yıla varabilmektedir.

Pilin bittiği elektrik kesintilerinden sonra saat değerinde kayma veya saatin tamamen durması ile anlaşılır.
Şekil-23:Butonlar. Saat tarafındaki saati, dakika tarafındaki dakikayı ayarlar.

Saat saymaya başladıktan sonra, S1 ve S2 ayar butonları kullanılarak saat ve dakika ayarlanarak saat kullanıma hazırdır.

Saat 50mA civarında (ekranda yanan LED sayısına göre değişir) bir akım çekmektedir. Bu değer R1... R7 direnç değerlerine bağlıdır. R1...R7 değeri azaltılarak ekran parlaklığı artırılabilir ama bu değerin fazla küçültülmemesi gerekir. Ne de olsa sürme işlemi doğrudan işlemci üzerinden yapılmaktadır.
Şekil-24:Duvara asılmış saat. (Aydınlatmada kullanılan lamba renkleri biraz kaydırdı.)

Devre pil ile beslemeye uygun değildir, onun için 9V bir adaptör ile kullanılabilir.

Güncelleme
Şekil-25:Saatin güncellenmiş görünüm.Karanlıkta daha güzel görünüyor

Şekil-26:Saatin güncellenmiş görünüm.

Donanım üzerinde küçük değişiklikler yaptığımız cihazların hem daha güzel, hem de daha verimli kullanımını olanak sağlanır. Saat üzerinde de özellikle LED'lerin değiştirilmesi ile daha güzel bir görünüm sağlanmıştır.
Şekil-27:Kartın LED'leri değiştirildikten sonraki güncellenmiş görünüm.

İşlem olarak 214 tane 1206 kılıfındaki LED 1210 kılıfındaki kırmızı LED ile değiştirilmiştir. Bunun yanında LED'leri sürmek için işlemci ile seri bağlı olan R1...R7 dirençleri (120 Ohm) ile değiştirilmiştir. Ayrıca ayraç LED'leri seri bağlı olan R42 ve R42 dirençleri (2k2) ile değiştirilmiştir.
Şekil-28:1210 kılıflı LED'lerin yakından görünümü.

LED parlaklığında azalma olsa bile sonuçta devrenin harcadığı akımda azalma olduğu kesin. Özellikle gece karanlıkta gözü daha az rahatsız edici bir duruma indirgenmiştir.
Şekil-29:1210 kılıflı LED'lerin yakından görünümü. Görüldüğü üzere LED'in ışık verdiği bölüm daire şeklindedir. Led'lerin yanında satır sürücülerine seri bağlı 120 Ohm'luk direnç görülmektedir.

214 tane LED'i değiştirmek gerçekten zor bir işlem, o yüzde daha üretim aşamasında hangi malzemenin kullanılacağını belirlemek yerinde bir karar olacaktır.




Ekler:
Atmega328P hakkında bilgi için

"Atmega328P ve DS1307 ile LED Matris Ekranlı Saat" projesi için gereken dosyalar

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


2 Haziran 2013 Pazar

Atmega8 ve Bluetooth ile LED Saat

Bu projedeki saat devresi sadece Atmega8 ile de yapılması mümkündür. Yapılması gereken boş bacaklara iki tane buton eklenmesi yeterlidir. Ama özellikle birden fazla böyle bir saatin bulunduğu durumda senkron sağlamak ciddi bir sorun olabilir. Gerek çevresel şartlar gerekse cihazlardan kaynaklanan durumlardan dolayı sıklıkla ayar gerekebilir.

Kablolu bağlantının mümkün olmadığı ortamlarda ise bu saat senkronizasyonun kablosuz bağlantı yöntemleri ile yapılması gerekmektedir. İşte bu noktada bluetooth cihazları değereye girmektedir.

Bu projede "Atmega8 ve Bluetooth ile LED Saat" üzerinde çalışılacaktır.
Not: Projede LED saat yerine bluetooth üzerinde durulacaktır.

Bluetooth

Şekil-1 :Bluetooth için kullanılan simge.

1994 yılında Ericsson tarafından cep telefonları ve mobil cihazlar arasında haberleşmek üzere geliştirilmiş bir iletişim teknolojisidir.

10 metre gibi kısa mesafelerde ve özel seçenek ile 100 metrede 2.4GHz (hatta 5.8GHz) üzerinden haberleşme sağlanır. En yaygın kullanım alanı tabii ki mobil cihazlar olmak üzere kablosuz kulaklıklar dahil, cep telefonu ve mobil cihazların otomobile entegre edilebilmesi, hoparlör gibi yapılardır.

Bluetooth standartları Bluetooth SIG (Special Interest Group) adı verilen Bluetooth Özel İlgi Grubu tarafından belirlenmektedir. Bu grup ilk olarak Ericsson, Nokia, IBM, Intel ve Toshiba tarafından kurulmuş, daha sonra bu gruba aralarında Motorola, 3Com, Microsoft, Lucent, Qualcomm gibi dev firmaların da bulunduğu yaklaşık 1500 firma katılmıştır. Bu firmalar sürekli bir işbirliği içerisinde çalışmalarını sürdürmektedirler.
Şekil-2 :Bilgisayarlar için üretilmiş USB Bluetooth modüller.

Bluetooth standartları tümüyle ücretsiz olarak herkese açık standartlardır.

Haberleşme radyo-link bir yapıyla sağlanmakta ve kanal başına asimetrik 723.2 kbit/sn, simetrik olarak ise 433.9 kbit/sn’lik veri haberleşmesini, aynı anda 64 kbit’lik 3 adet senkron ses kanalını ve aynı anda bir adet senkron ses, bir adet asenkron veri kanalını da destekleyebilmektedir.

Radyo frekans olarak 1mW ve seçeneğe bağlı olarak 200mW gibi bir çıkış gücüne sahiptir.

Aslında bizim açımızdan önemli olan ise özellikle bluetooth uart dönüştürücü cihazların piyasaya çıkması oldu. Bu sayede elektronik sistemlerimizin haberleşmesini Bluetooth üzerine taşımamız mümkün oldu. Her ne kadar Bluetooth modüllerin ayarları ile ilgili bölümlerinin modem komutları kullarılarak yapılsada..

Bluetooth cihazlarda master ve slave kavramı vardır. Buna göre bilgisayar ve telefon gibi cihazlar (slave de olabilirler) olurken, klavye, fare. kulaklık gibi cihazlarlar da slave konumunda olacaklardır. Projedeki bluetootn modülü slave konumunda olacaktır. Tabii ki bilgisayar da master konumunda.

HC06 BLUETOOTH SENSÖR

Şekil-3 :HC06 Bluetooth modülün önden ve arkadan görünümü.

Linvor’s (Guangzhou HC Information Technology Co., Ltd. olarak bilinir) üretimi bir sistemdir. Ürün normalde 3.3V ile çalışacak şekilde üretilmiş kendi üzerinden doğrudan Bluetooth bağlantı protokollerini karşılayacak devre tasarımındadır. Neyseki devreye eklenen birkaç eleman yardımıyla besleme ve iletişim gerilimi yükseltilebilmektedir. Bu sayede 5V'lu besleme gerilimini kabul edebilmektedir.
Şekil-4 :HC06 Bluetooth modülün üstteki kartın bacak bağlantıları.

Projede kullanılmakta olan Bluetooth modül iki parçadan oluşuyor. Birinci bölümü, üstten bakıldığında entegrelerin bulunduğu bölüm asıl modüldür. ikinci bölüm küçük kartın monte edildiği besleme, uart gerilim uygulanştırmanın yapıldığı ve LED'in bulunduğu bölümdür (UART bağlantısı için bacak bağlantıları da bu bölümde yer alır)..

Öncelikle modülün bluetooth üzerinden bağlantı için bir ad ve şifresi vardır. Bu koduya daha sonra değinilecek olsada;

Modül Adı: linvor
Modül şifresi:1234

şeklindedir.

HC06 modülünün normal konumda slave olarak tanımlanmıştır. Master rolünü atamak için cihaz üzerindeki "KEY" bacağına lojik-1 seviyesine çekmek gerekir. Şekil-3'de görülen karttaki "Key" yazan bacak bağlantısıdır.

Çift olarak kullanma durumunda master arama yapar ve slave otomatik olarak çifti oluşturur. Bazı özel durumlarda, master ve slave cihazlar otomatik olarak çifti oluşturur.

Modüller için iletişim sadece noktadan noktayadır, ama çoklu modüller ile iletişim yapılabilir.

Çift oluşturmadan önce, AT modundadır. Çift oluşturduktan sonra , şeffaf iletişim vardır. İletişim modunda iken, modüle AT moduna girilmeyebilir.

HC06 için var olan iletişim hızı 9600 baud olarak atanmıştır. Ama 1200 ile 1.3M arasında değer atanabilir.
Şekil-5 :HC06 Bluetooth modülün LED'i yanarken;  sürekli bağlantılı.

Slave aletin yanıp sönme frekansı 102ms'dir. Master alet halen slave aletin belleğinde ise çift esnasında yanıp sönme frekansı 110ms'dir. Yoksa veya master belleği boşaltılmışsa, o zaman yanıp sönme frekansı 750ms'dır. Çift oluşturduktan sonra, master veya slave alet fark etmeksizin LED sürekli yanar.

Çift oluşturma esnasında, akım 30-40mA aralığında inip çıkar. Kabaca 25mA civarındarır. Çift oluşturduktan sonra,iletişim yapılsın vaya yapılmasın, akım 8mA'dir. Bu uyku modu değildir. Bu parametre tüm Bluetooth modüller için aynıdır.
Şekil-6 :HC06 Bluetooth modülün ile bağlantı için kullanılan bilgisayardaki USB Bluetooth modül.

Devrenin çalışması

Devre iki ana bölümden oluşmaktadır. Birincisi işlemci (Atmega8), LED ekran ve beslemenin yer aldığı işlemci bölümü. İkicisi Bluetooth modülün bulunduğu ve iletişimin sağlandığı Bluetooth bölümü.
Şekil-7 :İşlemci kartı.

Not: Bluetooth bölümü Bluetooth modülü ile işlemci kartı arasındaki port uygunlaştırma amacını taşımaktadır. Eğer kullanıcı işlemci modülünü farklı bir amaç için kullanmayı düşünmüyorsa, Bluetooth modülünü doğrudan işlemci modülüne entegre edebilir.
Şekil-8 :Bluetooth kartı (HC06 Bluetooth modülü ile birlikte). Kart üzerindeki köprüler bu modülün farklı bir alanda kullanım için eklenmiştir. Başka bir kullanım planlanmıyorsa bu köprüler kaldırılabiler veya doğrudan tel köprü takılabilir

Tabii ki burada işlemci bölümü sadece veri gösterim içindir. Yani kendisi saat verisini üretmez ve üzerinde ayar yoktur. Bluetooth bölümü üzerinden bilgisayar (veya başka bir saat kaynağı üzerinden) Bluetooth iletişimi için kullanılmaktadır ve slave olarak çalışır.
Şekil-9 :Proje için malzemeler (bilgisayar için olanlar ve besleme hariç).

 Şekil-10 :Bluetooth iletişimi için kartı ve HC06 modülü.

Devreye ilk besleme verildiğinde ekranda 1234 şeklinde bir rakam dizisi görülür ve Bluetooth üzerinden veri gelene kadar da bu şekilde kalır.
Şekil-11 :Sistemin bağlantısı yapılmış ve ilk açılıştaki hali.

Şema

Sistem Atmega8 işlemcisine dayalı. Bu işlemcinin saat frekansı XTL1 (3,6864MHz, C5 ve C6 (27pF) tarafından sağlanır. R2…R8 (220 Ohm) dirençleri LED akım sınırlama dirençleridir.R9…R14 (1K) dirençleri transistör akım sınırlama dirençleridir. D3…D6 7 parçalı LED ekranların ortak bacakları Q1,Q2,Q4 ve Q5 transistörler ile sürülür. LED ekranların her (a,b,c,…)aynı parçası birlikte bağlanarak işlemciye ilişkilendirilir. Böylece bir çoğullama devresi oluşturulur. D7 ve D8 ayıraç ledleri R11 direnci üzerinden Q3 transistörü ile sürülür. Böylece işlemci ile yakılıp söndürülmesi sağlanır. R1, D2 birlikte enerji var ve işlemci çalışıyor göstergesi olarak çalışıyor. ISP konektörü işlemci programlamak için kullanılacak konektör bağlantısıdır. (isteyen işlemciyi başka bir yerde programlayıp sonra devreye takabilir.)

Bluetooth iletişim kartı üzerinde C1 (100nF) kondansatörü besleme gerilimi üzerindeki parazitleri süzmektedir.

D1 (W10M), IC2 (7805), C2 (100nF), C3 (10µF/25V)ve C7 (100nF) besleme devresini oluşturmaktalar. Geriye kalan bütün kondansatörler devre oluşabilecek gürültüleri süzme görevini yerine getirir.
Şekil-12 :Devresinin blok şeması.

Şekil-13 :Devre Şeması.

Devre Yapımı

Devre montaj açısından fazla bir kritik eleman içermiyor. Dikkatli bir şekilde monte edildiği zaman bir sorun çıkarmıyor. Kartı kendiniz yapacaksanız, elemanları monte etmeden önce bir son kontrol yerinde olabilir. Tümdevreleri takmadan önce devreye besleme gerilim uygulayıp, besleme bacaklarında besleme gerilimi olduğunu onayladıktan sonra entegre devrelerin takınması yerinde olacaktı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).

Kristal kılıfının GND ile bağlantısı oluşturulması olası kaçak kondansatörleri dolayısı ile sizden kaynaklanabilecek sorunları ortadan kaldıracaktır
Şekil-14:Devrenin yerleşim planı

Şekil-15:Devrenin baskı devresi şekli

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

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

 Şekil-18 :Bluetooth kartı üzerindeki köprülerin konumları. Bu kartı başka bir amaç için kullanmayı planlamıyorsanız köprüler yerine doğrudan tel atlama yapılabilir. Tabii isteyen bu devreyi işlemci kartına uyarlayabilir.

Şekil-19 :Bluetooth kartının monteli hali.

 Şekil-20 :İşlemci kartına bağlı besleme. Kutup önemli değil. Çünkü girişte köprü diyot var


Şekil-21 :Projenin toplu hali.

 Şekil-22 :Saati çalışırken görmek güzel.

Devre Elemanları

220R R2, R3, R4, R5, R6, R7, R8
470R R11
1K R1,R9,R10,R11,R13,R14
10µF/25V C3
27pF C5, C6
100nF C1, C2, C4, C7, C8
ATMEGA8 IC1
7805 IC2
3,6864MHz kristal XTL1
3mm Sarı LED D2
3mm Kırmızı LED D7, D8
7 parçalı LED Ekran (kırmızı için 1056 AUR) (Yeşil için S-5612AG) D3, D4, D5 ,D6
BC327 Q1, Q2, Q3, Q4, Q5
B125C1500 veya benzeri D1
2'li klemens P1
10'lu IDC konnektör erkek P2, P3
10'lu IDC konnektör dişi kablo -
10'lu yassı kablo (10cm) -
2x3 sıra pin erkek ISP
1x3 sıra pin erkek J1, J2
1x4 sıra pin dişi M1 için
HC06 Bluetooth modül M1

Malzeme listesi. Burada işlemci için soket, 9V adaptör verilmemiştir. Entegreler için soket isteğe bağlıdır. Köprü olarak bacak bağlantıları uyan herhangi bir eleman kullanılabilir.

Bilgisayar Programı

Şekil-23:Devre çalıştığında..

Devre besleme verildiğinde ve çalıştığında Şekil-23'deki gibi görüntü ile karşılaşacağız. Şu anda devre çalışır durumda ve devre üzerindeki HC06 üzerindeki LED yanıp sönüyor. Daha bilgisayara tarafı var. Bunun için bilgisayar üzerine bir Bluetooth modül takacağız veya üzerinde varsa onu kullanacağız. Ve gerekli ayarlamaları yapacağız.
Şekil-24:"M8_Saat_bluetooth.exe" program simgesi

"M8_Saat_bluetooth.exe" C# ile yazılmıştır. Bu nedenle çalıştırabilmek için Frameworks.net runtime sürüm 4'ün bilgisayarınızda yüklü olması gerekiyor. Program Win xp üzerinde geliştirilmiş ve denenmiştir.
Program "notifyIcon" şeklinde çalışacak şekilde düzenlenmiştir. Program ilk çalıştırıldığında normal penceresi ile açılır ama pencere üzerindeki minimum butonuna tıklandığında pencereyi kapatır ve notifyIcon şeklinde bilgisayarın sağ alt köşesindeki ikonların arasına yerleşir. Bu simgeye çift tıklandığında tekrar ana pencere açılır.


Bilgisayar üzerindeki "M8_Saat_bluetooth.exe" üzerine iki kez tıklayıp çalıştırıyoruz. Eğer daha önce seri port seçilmemişse tabii Seçenekler penceresinden gerekli seri portu seçmek gerekecektir.


Not:Program burada Bluetooth için olduğu belirtilmiş olsa da, seri port veya sanal seri port kullanan herhangi bir yapı ile iletişm için kullanılabilir.
Şekil-25:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programın ana penceresi.

Şekil 25'deki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Saat 10 hanesi değer seçme.
  2. Saat 1 hanesi değer seçme.
  3. Ayıraç LEDlerinin yanıp sönmesi buton ile kontrol edilir.
  4. Dakika 10 hanesi değer seçme.
  5. Dakika 1 hanesi değer seçme.
  6. LED ekrana yandaki ayarlara uygun değerleri ekrana gönderir. (Saat bilgisi sürekli gönderilirken pasiftir)
  7. LED Ekrana saat bilgisi gönderildiği zaman saat bu bölgede saklanır.
  8. Devre gönderilen saat bilgisi burada görüntülenir.
  9. Saat bilgisinin LED ekrana gönderilir veya gönderilmesini keser. (Saat Başlat ve Saat Durdur arasında değişir)
  10. Seçenekler penceresini açar (Saat bilgisi sürekli gönderilirken pasiftir) 
Şekil-26:LED ekran devresine veri göndermek üzere kullanılan bilgisayar programının seçenekler penceresi.

Şekil 26'daki resimde görülen alanların basitce tanımlarını açıklayacak olursak;
  1. Bilgisayarda seri port seçimini sağlar.
  2. Seri port iletişim hızını seçer.(Var olan olarak 9600 baud seçilmiştir)
  3. Seçenekleri onaylar ve pencereyi kapatır (Ana pencereyi açar) 

Şekil-27:Seri port hatası durumunda Seçenekler penceresi.
Seri port açılışta bir hata aldığı durumda Şekil-27'deki gibi bir Seçenekler penceresinin görüntülenmesine neden olacaktır. Bu durunda Bluetooth cihazınızın bulunduğu seri portu seçmekeniz gerekecektir. Program devrinin açık olup olmadığını kontrol etmez sadece kullanılabilir bir seri port olduğuna bakar ve seçilen porta veri gönderir.

İşlem adımlarını basitçe özetleyecek olursak;
  1. "Atmega8 ve Bluetooth ile LED Saat" devresini çalıştırıyoruz.
  2. Bilgisayar üzerine bir USB Bluetoth modülünü takıyoruz veya var olan bir modülü kuruyoruz ve bilgisayara "Atmega8 ve Bluetooth ile LED Saat" üzerindeki HC06 Bluetooth modülünü tanıtıyoruz. (Bu bir sonraki konu başlığı altında anlatılmıştır)
  3. Bilgisayar üzerinden "M8_Saat_bluetooth.exe" programını çalıştırıyoruz. Bu noktada eğer daha önce girilmemişse "Seçenekler" penceresi üzerinden bilgisayada takılı olar USB-Bluetooth modülün atadığı seri portu seçiyoruz. "Tamam" butonunu tıklayıp seçenekler penceresini kapatıyoruz.
  4. Şimdi iki tane seçeneğimiz var;"LED Ekrana Gönder"- "Elle giriş" bölümünde girilmiş olan değeri devreye gönderir, "Saat Başlat" butonu ise sistem saatini okur ve bu değirin saat ve dakika bölümünü hemen üzerinde görüntüler ve devreye gönderir. Aynı zamanda saat ve dakika arasındaki ayraç noktalarını saniye başında yakar 500ms sonra söndür. Bu şeklide sistem saati ile devre arasında bir senkronizasyon sağlanmış olur.

Bilgisayara HC06 Bluetooth modülü tanıtma

"Atmega8 ve Bluetooth ile LED Saat" devresini çalıştırıyoruz. Bilgisara Bluetooth modülü takıp gerekli sürücülerini yüklüyoruz. Şanslı isek bilgisayar otomatik tanıyacaktır.
Şekil-28:Aygıtlar penceresi.

"Denetim Masası"ndan "Bluetooth Aygıtlar"ı açıyoruz. Açılan pencerede "Ekle..." butonuna tıklıyoruz.
Şekil-29:"Bluetooth Aygıt Ekleme Sihirbası" penceresi.

"Ekle..." butonu tıklama ile "Bluetooth Aygıt Ekleme Sihirbası" penceresi açılacaktır. Buradan "Aygıtım kuruldu ve bulunmaya hazır" düğmesini işaretleyip "İleri"butonuna tıklıyoruz.
Şekil-30:"Bluetooth Aygıt Ekleme Sihirbası" penceresinde HC06.

Açılan pencerede bilgisayarın bluetooth erişimindeki diğer Bluetooth aletler görüntülenecektir. Tabiiki biz "Linvor" aletimizi seçiyor ve "ileri" butonunu tıklıyoruz.
Şekil-31:"Bluetooth Aygıt Ekleme Sihirbası" penceresinde HC06 geçiş anahtarı.

Açılan pencerede HC06 iletişimi için erişim şifresi niteliğindeki geçiş anahtarı seçimi için "Geçiş Anahtarımı Ben Seçeyim" seçeneğini seçip karşısındaki yazı kutusuna HC06 için var olan anahtar olan "1234" giriyor ve "İleri" butonuna tıklıyoruz.


Not:Buradaki ayarlar kişisel tercihinize göre değişebilir ve dolayısı ile sonraki aşamalarda değişiklik gösterecektir.
Şekil-32:"Bluetooth Aygıt Ekleme Sihirbası" penceresinde yükleme işlemi.

Yapmış olduğumuz ayarlara göre HC06 ile ilgili ayarlar bilgisayarımıza kurulacak ve sonraki açılan pencerede "Son" butonuna tıklayıp işlemi sonlandırıyonuz.
Şekil-33:"Bluetooth Aygıt Ekleme Sihirbası" penceresinde son pencere.

"Son" butonunun bulunduğu pencere üzerinde HC06 için oluşturulmuş iletişim COM portları ile ilgili bilgi yer almaktadır
Şekil-34:Linvor yüklendikten sonra "Bluetooth Aygıtlar" penceresinin görünümü.


Şekil-35:Linvor yüklendikten sonra "Bluetooth Aygıtlar" penceresinde "COM bağlantı noktaları" sekmesi altındaki görünümü.

Şu anda HC06 modülümüz bilgisayara tanıtıldı ve "M8_Saat_bluetooth.exe" programı ile iletişim için hazır. Buradan şu anda yapılan ayardan "M8_Saat_bluetooth.exe" için "COM10" seçilmesi gerekiyor.

Not: Buradaki ayarlar win XP ve masaüstü bilgisayar için anlatıldı,  dolayısı ile kullandığınız bilgisayara veya kullandığınız sisteme göre farklılık gösterebilir.



Ekler:
Atmega8 ve Bluetooth ile LED Saat için gereken dosyalar.

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

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


Translate

Sayfalar

Etiketler

74C922 (1) 74HC125 (2) 74HC138 (1) 74HC20 (1) 74HC590 (1) 93C46 (5) adc (2) adım motor (1) Android (1) Arduino (5) Arduino UNO (5) at90S2313 (7) atmega128 (1) Atmega128 (1) atmega16 (5) atmega32 (4) Atmega328p (5) Atmega8 (44) attiny (1) attiny2313 (18) avr (71) barometre (1) bilgisayar ses (1) Biplor step motor (1) Bluetooth (2) bootloader (1) cep telefonu (1) CGRAM (1) CGROM (1) DHT11 (1) DS1302 (1) DS1307 (5) ds1820 (3) EDMCPR6YOY (1) ENC28J60 (3) ethernet (3) F2631XH-44 (1) fiber optik (2) floresan ekran (4) frekans (1) FT232BL (9) FT232RL (1) FTDI232 (3) GLCD (2) grafik LCD (8) HC06 (2) HH10D (2) HITCHACHI (1) higrometre (2) HP03S (1) HR911105A (1) i2c (1) isp (2) kapasitemetre (2) karakter LCD (5) kızılaltı (2) klavye (2) kondansatör (1) L2432 (1) L298 (1) LAN (1) LCD (22) LCD ekran (2) led (8) led ekran (14) led matris ekran (4) LM044L (1) LM1117-3V3 (2) LM35 (8) lm358 (1) LM75 (2) max3232 (1) MCP3550 (1) nea02017 (2) panasonic (1) PCF8574AT (2) PCM1602 (3) programlayıcı (1) RCM2048R (1) rs232 (16) rs485 (14) saat (14) sayıcı (1) Seri (3) Sharp (1) Step motor (1) şifreli kilit (2) T6963C (3) TC1602.TC2004 (1) termometre (13) tester (1) transistör (1) tuş takımı (2) tx179 (2) uf-150 (1) USB (14) voltmetre (1) wifi (1) YMC162 (2) zamanlayıcı (2)

İzleyiciler