You are on page 1of 2

kedimiz 6/21/05 4:47 PM Page 1

Kendimiz Yapal›m
Yavuz Erol

LED’lerle Havaya Yaz› Yazma


Günümüzde karmafl›k ifllevlere sahip elektro- k›rp›flma etkisini fark edemez. Örne¤in 1 saniye- aral›klar›yla porttan gönderecek flekilde prog-
nik sistemlerin ço¤u, mikro denetleyiciler kullan›- de 50 kez yan›p sönen bir lamba sürekli yan›yor- ramlanmas› gerekiyor.
larak tasarlan›yor. Kolayca programlanabilmele- mufl izlenimi verir. Ayn› flekilde televizyon sis- Sütun bilgilerinin nas›l elde edildi¤i flekil 3’de
ri, fiyatlar›n›n ucuz olmas› ve harici donan›m ge- temlerinde resim tekrarlama frekans› yeteri ka- ayr›nt›l› olarak görülüyor. Örne¤in A harfine ait
reksinimlerinin az olmas› nedeniyle mikro denet- dar yüksek seçildi¤inden resmin hareketi sürekli sütun bilgilerini elde etmek için yap›lmas› gereken
leyiciler elektronik alan›nda önemli bir yere sa- olarak alg›lan›r. Gözün bu yan›lma özelli¤i, bir- ifllem, sönük haldeki LED’lerin yerine 0 rakam›n›,
hipler. Örne¤in, Microchip firmas› taraf›ndan üre- kaç adet LED ile havaya yaz› yazma imkan› da yanan LED’lerin yerine de 1 rakam›n› yazmaktan
tilen PIC serisi mikro denetleyiciler, piyasada en sa¤lar. ibaret. Bu durumda her bir sütun için 0 ve 1’ler-
çok tercih edilen programlanabilir entegrelerin fiekil 1’de görülen elektronik devre oldukça den oluflan 8 bitlik bir say› elde edilir. Bu say›
bafl›nda geliyor. Bu entegreler 8, 18, 28 veya 40 basit bir donan›ma sahip olmas›na ra¤men devre- 16’l›k (hexadesimal) tabanda yaz›ld›¤›nda sütun
bacakl› olarak pek çok tipte üretiliyor. Bunlardan nin çal›flabilmesi için PIC mikro denetleyiciye bir bilgileri elde edilmifl olur. Örne¤in A harfi için ilk
16F8X serisi PIC mikro denetleyiciler, 18 bacak- program yüklenmesi gerekiyor. Yüklenen progra- sütundaki 8 bitlik 11111100 say›s›n›n 16’l›k ta-
l› olup flash bellek teknolojisine sahip. Bu tekno- m›n yapt›¤› ifl, havada yazd›r›lacak karakterlere ban karfl›l›¤› 0xFC’dir. Ayn› flekilde son sütundaki
loji sayesinde entegreye yüklenen program isten- göre 8 adet LED’i yak›p söndürmek ve zamanla- 00000000 say›s›n›n 16’l›k taban karfl›l›¤› da
di¤i zaman kolayl›kla silinebiliyor ve entegre ye- may› ayarlamaktan ibaret. Program do¤ru olarak 0x00’d›r. Burada 0x sembolü say›n›n 16’l›k taban-
niden programlanabiliyor. 13 adet girifl-ç›k›fl por- PIC’e yüklendikten sonra LED’ler h›zl› bir flekilde da oldu¤unu gösterir. Bu flekilde bütün harfler için
tu (Port A ve Port B) ço¤u uygulama için yeterli sa¤a-sola hareket ettirildi¤inde yaz›n›n havada sütun bilgileri kolayl›kla elde edilebilir.
say›da. Entegreyi programlamak için assembly oluflmas› sa¤lan›yor. K›saca, sistemin çal›flma
dilinin yan› s›ra BASIC veya C gibi yüksek seviye mant›¤›, PIC’den gönderilen 8 bitlik sütun bilgisi
diller de kullan›labiliyor. Piyasada PIC mikro de- ile hangi anda hangi LED’lerin yanaca¤›n› ayarla-
netleyiciler ile ilgili pek çok kitap bulunuyor. Ay- mak fleklinde özetlenebilir.
r›nt›l› bilgiler bu kitaplardan ö¤renilebilir [1]. Program yazmaya geçmeden önce havada ya-
Bu yaz›da, PIC16F84A adl› mikro denetleyici z›lacak harflere (veya karakterlere) göre sütun
ve 8 adet LED kullanarak havaya yaz› yazan bir bilgilerinin elde edilmesi gerekiyor. Bunun için
elektronik devrenin yap›m› anlat›l›yor. Bu devre ka¤›t üstünde birkaç çizim yapmak laz›m. Örne-
sayesinde 8-10 karakterden oluflan herhangi bir ¤in flekil 2’de, A, B, C harflerini oluflturmak için
metin havada oluflturulabiliyor. 8 LED’den hangilerinin yanmas› gerekti¤i zaman
ad›m›na ba¤l› olarak gösteriliyor.
Devre fiemas› fiekil 3: A harfine ait sütun bilgileri
fiekil 1’deki devre flemas›ndan görüldü¤ü gi-
bi PIC16F84A mikro denetleyicisinin Port B ç›-
k›fllar›na 8 adet LED ve dirençler ba¤l›. 4MHz’lik Yap›m aflamalar›
kristal ve 22pF’l›k iki kondansatörden oluflan Havaya yaz› yazma devresi her ne kadar basit
osilatör devresi PIC’in çal›flmas› için gerekli saat olsa da, devrede PIC mikro denetleyici bulunma-
darbelerini üretiyor. Devrenin beslemesi ise s› ifllem say›s›n› artt›r›yor. Devrenin yap›m afla-
9V’luk bir pil ve 5V’luk bir regülatör devresi ile fiekil 2: Harf oluflturma mant›¤› malar› s›ras›yla afla¤›daki gibi.
sa¤lan›yor. 1- PIC’e yüklenecek program› yazma (PIC C ile)
Gerekli malzemeler fiekilden görüldü¤ü gibi her bir harf, 8 sat›r 2- Hex uzant›l› dosyay› oluflturma
1 adet PIC16F84A mikro denetleyici ve 5 sütundan olufluyor. Harfler aras›nda da 1 3- Programlama kart› yard›m›yla hex dosyay›
1 adet LM7805 gerilim regülatörü bofl sütun bulunuyor. Bu mant›¤a göre havaya 8 PIC’e yükleme
1 adet 4MHz kristal harften oluflan bir yaz› yazmak için toplam 48 4- Devre flemas›na göre bask› devre kart›n›
1 adet buton adet sütun bilgisi gerekli. Yani PIC mikro denet- yapma
1 adet anahtar leyicinin 48 adet sütun bilgisini uygun zaman 5- PIC’i karta yerlefltirip devreyi çal›flt›rma
1 adet 100nF kondansatör
2 adet 22pF kondansatör
1 adet 4.7k direnç
1 adet 1N4148 diyot
8 adet parlak mavi LED
8 adet 100 ohm direnç
1 adet 9V pil ve pil bafll›¤›
Bak›r plaket veya delikli pertinaks

Çal›flma mant›¤›
Devrenin çal›flmas› göz yan›lmas› prensibine
dayan›yor. Bilindi¤i gibi göz, periyodik olarak
tekrarlanan olaylar› dura¤anm›fl gibi alg›lar ve
tekrarlar aras›ndaki süre yeteri kadar k›sa ise fiekil 1: Devre flemas›

B‹L‹M ve TEKN‹K 90 Temmuz 2005


kedimiz 6/21/05 4:47 PM Page 2

Kendimiz Yapal›m
PIC C Program›
C dilini kullanarak program yazmak assembly
diline göre oldukça basit oldu¤undan C dili daha
çok tercih ediliyor. Günümüzde PIC mikro denetle-
yiciler için yaz›lm›fl pek çok C derleyicisi bulunuyor.
Bunlardan Hi-Tech firmas›n›n üretti¤i “PIC C Lite”
fiekil 5: Bask› devre kart›
adl› derleyici http://www.htsoft.com internet say-
Devre, elle sallanarak çal›flt›rabilece¤i gibi bir
fas›ndan ücretsiz olarak indirilebiliyor. Demo sürü-
münün baz› k›s›tlamalar› olsa da üst düzey prog-
Bask› devre yap›m› DC motorun miline ba¤lanarak sürekli döndürü-
ramlar yazmak için bile yeterli özelliklere sahip. Devre az say›da eleman içerdi¤inden bask› lebilir de. Bu durumda yaz›n›n havada hep ayn›
PIC C derleyicisinin kullan›m› hakk›nda ayr›nt›l› bil- devre kart› kolayca yap›labilir. Devre elemanlar› yerde oluflmas› için motorun devir say›s›n› uygun
giler konuyla ilgili kitaplardan edinilebilir [2]. delikli pertinaks üzerine dizilerek montaj yap›la- flekilde ayarlamak gerekir. Bunun yerine, m›kna-
bilece¤i gibi, bask› devre yap›m tekniklerinden t›s ve reed anahtardan oluflan konum alg›lama
biri kullan›larak daha profesyonel bir kart olufl- sistemi kullanmak daha iyi sonuç verir (Reed
turmak da mümkün. fiekil 5’de bask› devre kar- anahtar: Harici manyetik alandan etkilenerek
t› görülüyor. Kart›n eni 3.5cm, boyu ise 20cm ci- konta¤› kapanan bir anahtar türü). Buna göre,
var›nda. PIC16F84A entegresini bask› devre kar- devre üzerine yerlefltirilen reed anahtar, m›knat›-
t›na lehimlemek yerine 18 bacakl› bir entegre so- s›n önünden geçti¤i anda PIC program› bu geçi-
keti kullanmak gerekiyor. Bu sayede PIC’i yeni- fli alg›lar ve sütun bilgilerini göndermeye bafllar.
den programlamak gerekti¤inde entegre kolayca Böylece havada sabit bir görüntü elde edilir. fie-
yerinden sökülebilir. kil 8’de devrenin motor miline ba¤lanarak çal›fl-
t›r›lmas› durumunda oluflan yaz› görülüyor.
Devreyi çal›flt›rma
Programlanan PIC mikro denetleyici, 18 ba-
cakl› entegre soketi üzerine yerlefltirildikten son-
fiekil 4: PIC C program› ra devre üzerindeki anahtar kapat›larak devre ça-
Yaz›lan C program›ndan görüldü¤ü gibi prog- l›flt›r›l›r. Bu esnada 8 adet LED’in k›sa aral›klar-
ram›n bafl›nda 48 elemanl› bir dizi tan›mlan›p ge- la yan›p söndü¤ü görülür. Havada yaz›n›n olufla-
rekli sütun bilgileri yaz›l›yor. Örne¤in bu program- bilmesi için devrenin flekil 6’daki gibi sa¤a sola
da MERHABA kelimesi için gerekli sütun bilgileri sallanmas› gerekiyor. Okunabilir bir yaz› elde et-
fiekil 8: DC motor ile devreyi çal›flt›rma
bulunuyor. Farkl› bir kelime için bu bilgileri de¤ifl- mek için devrenin hangi h›zda salland›¤› çok
tirmek yeterli. Program›n devam›nda bir for dön- önemli. E¤er devre uygun h›zda sallanmazsa düz- 15 harften oluflan (2’si boflluk) Bilim ve Tek-
güsü içerisinde dizinin her bir eleman› s›rayla Port gün bir yaz› elde etmek mümkün olmaz. Zaman- nik yaz›s›n› elde etmek için gerekli 90 adet sütun
B’ye gönderiliyor ve 1ms’lik bekleme süresinin ar- lama sorunlar›n› gidermek için devre üzerindeki bilgisi flekil 9’da dizi olarak görülüyor. Yaz›y› ha-
d›ndan dizinin di¤er eleman› Port B’ye iletiliyor. reset butonuna bir kez basmak ve o anda devre- vada oluflturmak için bu yeni dizinin PIC C prog-
48ms sonunda dizinin bütün elemanlar› s›rayla yi sallamaya bafllamak iyi sonuç verir. Daha uy- ram›nda tan›mlanarak mikro denetleyicinin yeni-
porttan gönderildi¤inden sonsuz döngü ile prog- gun bir çözüm ise kart üzerine bir e¤im sensörü den programlanmas› gerekiyor.
ram bafla dönüyor. Program›n bafla dönmesinden (tilt sensor) yerlefltirerek kolun hareketini önce-
önce 48ms’lik bir bekleme süresi daha bulunuyor. den alg›lamak ve sütun bilgilerini o anda bafllat-
Bu bekleme süresinin amac› kolun soldan sa¤a ha- mak olabilir.
reketinde LED’leri sönük halde tutmak, sa¤dan-so- fiekil 7’de devrenin uygun bir h›zda (örne¤in
la harekette ise havada yaz›y› oluflturmak. saniyede 8-10 kez) sa¤a-sola sallanmas› duru-
munda havada oluflan yaz› görülüyor. LED’ler
parlak oldu¤u halde gün ›fl›¤›nda yaz›y› fark et-
Hex dosyay› oluflturma
Yaz›lan C program› uygun flekilde derlendi-
¤inde hex uzant›l› bir dosya oluflur. Derleme iflle-
minin ayr›nt›lar› yine PIC C ile ilgili kitaplardan
ö¤renilebilir. Oluflturulan hex dosyan›n PIC’e
fiekil 9: Bilim ve Teknik için sütun bilgileri
yüklenmesi ile mikro denetleyicinin istenen flekil-
de çal›flmas› sa¤lan›r. [1] PIC ile ilgili kitaplar
• Ad›m ad›m PICmicro Programlama, ERA Bilgi Sis. Yay.
• Her Yönüyle PIC Mikrokontrolörler, Bileflim Yay›nlar›
Program› PIC’e yükleme • Mikrodenetleyiciler ve PIC Programlama, Altafl Bas›m Yay›m Da¤›t›m
• ‹leri PIC 16F84 Uygulamalar›-1, Altafl Bas›m Yay›m Da¤›t›m
fiekil 6: Sa¤a
Hex dosyay› PIC’e yüklemek için bir program- [2] PIC C ile ilgili kitaplar
sola hareket flekli
lama kart› gerekli. Piyasada çok çeflitli tiplerde • PIC C ile Ifl›k Kontrol Projeleri, Bileflim Yay›nlar›
• PIC C ile Motor Kontrol Projeleri, Bileflim Yay›nlar›
programlama kartlar› mevcut [3]. Bu kartlar›n mek zor olabilir. Bu nedenle devreyi çok fazla ay- • PIC C ile S›cakl›k Kontrol Projeleri, Bileflim Yay›nlar›
baz›lar› bilgisayar›n seri veya paralel portunu kul- d›nl›k olmayan bir ortamda çal›flt›rmak daha iyi [3] PIC Programlay›c› kartlar
lan›rken baz›lar› da USB portunu kullan›yor. IC- sonuç verir. www.tekno-market.com
www.altaskitap.com
PROG adl› yaz›l›m ise programlay›c› kart›n bilgi- www.saytem.com
sayarla iletiflimini sa¤l›yor. ICPROG yaz›l›m› www.denizelektronik.com
http://www.ic-prog.com internet adresinden üc- www.egiten.com

retsiz indirilebilir. Bu program›n kullan›m› hak-


*F›rat Üniv. Elek-Elektronik Müh. Bölümü
k›nda ayr›nt›l› bilgiler PIC ile ilgili kitaplardan ö¤-
fiekil 7: Havada oluflan yaz› yerol@firat.edu.tr
renilebilir.

Temmuz 2005 91 B‹L‹M ve TEKN‹K

You might also like