Bilgisayardan Veri Çikisi:
Ne olursa olsun, bilgisayara veri girisi ve çikisi bu isin temeli denebilir. Yapacagimiz robotu yönetebilmek için bunun nasil oldugunu bilmemiz gerekir. Robot tasarlama kismina gelene kadar, paralel portu programlamayi iyi bir sekilde ögrenmemiz gerekecek. Evimizdeki cihazlari kontrol edecegiz. Daha sonra adim motorlarin nasil çalistigini ve nerelerde kullanildiklari görecegiz ve programlayacagiz.

1 ler ve 0 lar:

Bilgisayarda temel olan iki deger vardir. Bilgisayar içerisinde veri bu iki deger üzerinden akmaktadir. Temel olarak elektronikte, "1" devrenin kapali (aktif) "0" ise açik (pasif) oldugunu gösterir. Bilgisayarda bu birler ve sifirlarin her birine "BIT" bunlardan sekiz tanesinin yanyana gelmis sekline "1 BYTE" diyoruz. Kafanizi elektronik terimler ile karistirmak istemedigimden bu degerler ile paralel portu nasil programlayabilecegimizi bir örnek ile anlatmak istiyorum.

Paralel port bilgisayarin en kolay programlanabilen portudur. Üzerinde 25 Pin vardir 8 BIT veri aktarabilir ve 5 Volt ile çalisir ve tabiki enerjisini bilgisayardaki ana karttan alir. Bu voltaj büyük bir elektronik esyayi çalistirmak için yeterli olmayabilir ancak, böyle bir cihazi çalistirabilecek basit bir devreyi tetiklemek için yeterli olabilir. Asagidaki sekilde görüldügü gibi paralel port 8 BIT oldugundan veri 8 PIN üzerinden akacaktir. Bu pinler sirasi ile örnek program ekranindaki gibidir. Bizim diger pinler ile simdilik bir isimiz olmayacak. Bu sekiz pinin disinda asagida TOPRAK olarak gösterdigimiz pinlerin disindaki kisimida kullanmamiz gerekecek.



Ilk olarak paralel porttan veri çikisini ögrenecegiz. Yukaridaki bu 8 pin özel bir durum olmadigi sürece degerleri "0" dir. Biz bu pinlerden istedigimizi "1" durumuna getirebilecegiz. Paralel port üzerindeki bir data pininin "1" olmasi o pinin +5 Volt olmasi anl***** gelir. Bilgisayar sistemlerinde temel rakamlar bunlar oldugundan, yazdigimiz diger veri ve adresler bilgisayar içerisinde ikilik sayi sisteminde islenir.

Bu ve bundan sonra gerçeklestirecegimiz projeler ve devreler için gerekecek bazi temel araç ve gereçler var bu araçlari oldukça ucuz bir fiyata bir elektronikçi dükkanindan edinebilirsiniz.

Voltmetre
Krokodil Kablo
Montaj Kablosu (Tek Tel)
Yan Keski (Montaj için ufak boy)
Delikli Montaj Plakasi (Board)
Printer Kablosu (Eger isterseniz bu kabloyu bir paralel port ucu alarak kendinizde yapabilirsiniz fakat bu durum havya ve legim teli kullanmanizi gerektirecektir. Ilk asamada kabloyu hazir almak daha kolay ve saglikli olacaktir.)

Ilk örnek devremiz için gerekenler,

8 adet 1.5 Voltluk Led Diyot
8 adet 220 Ohm Direnç

Yapicagimiz ilk örnek uygulamada paralel portu programlayarak 8 tane ledi istedigimiz sekilde yakip söndürecegiz. Daha öncede bahsettigim gibi paralel port +5Volt ile çalisir. Aldigimiz bu led diyotlari dogrudan paralel portun bahsettigimiz data çikislarina baglayamiyoruz. Bunun nedeni aldigimiz ledlerin 1,5Volt ile çalismasi. Diyecekseniz neden 5 Voltluk led almadik o zaman? Bunun sebebi devrelerde sik kullanilan dirençlerin kullanimina alismak ve tabiki 5 Voltluk ledlerin biraz pahali olmasi.



Temel amacimiz her pine önce bir direnç, pesinede ledi baglamak. Ilk önce direnç kullanmamizin sebebi ise kullanicagimiz 1.5 Voltuk ledin paralel porttan gelen 5 Voltluk akim sebebiyle arizalanmamasi. Yapacagimiz baglanti her data pini üzerinde örnek programin ekranindaki gibi olmali.

Devremiz su sekilde çalisacak;

Paralel port üzerindeki data pinlerinden bir tanesini "1" yapacagiz, dolayisi ile o pinin elektriksel degeri +5Volt olacak. Buradan çikan 5 Voltu direnç üzerinden geçirerek üzerindeki akimin degerini ledi bozmayacak degere düsürüyoruz ve bunuda led diyotun (+) ucuna bagliyoruz. Ledin diger ucunuda TOPRAK kismina baglayarak devreyi kapatacagiz.

Hazirlayacagimiz devrede gönderdigimiz data degerlerine göre hangi pinin degeri "1" ise o pine bagli olan led yanacaktir. Simdi devremizi yapmaya çalisalim.

Ilk olarak almis oldugumuz yazici kablosunu malesef kesmemiz gerekiyor. Kabloyu kestikten sonra içerisinden çikan 25 tane kabloyu ayiralim ve uçlarini soyalim. Daha öncede söyledigim gibi bu kablolardan bize sadece sekiz tanesi gerekli. Bize gerekli olan sekiz kablo, data pinlerine gelen kablolar. Bu kablolarin renkleri her yazici kablosu için degisik olabileceginden, bu pinleri bulmak için voltmetreyi kullanacagiz. Voltmetrenizi BEEPER kismina getirin. Bazi voltmetrelerde bunun ismi degisik olabilir. Bu seçenek bize voltmetrenin problari (uçlari) nin birbirine temas ettigi sirada bir sinyal vermesini saglar. Problardan bir ucu data pinlerinden birine diger ucunuda soydugumuz kablolara degdirerek voltmetreden bir sinyal almaya çalisin. Bu sayede data uçlarina gelen kablolari sirasi ile bulun ve digerlerinden ayirin. Bir diger kablo ise bu kablolarin disindan gelen kaplanmamis TOPRAK kablosu. Bunuda ayirdiktan sonra diger kablolari karismasin diye daha kisa kesebilirsiniz. Ayirdiginiz kablolari yukaridaki data pin uçlarinin numarasina ve renklerine göre 0 den 7 ye kadar kagit üzerinde numaralandirin çünkü bu uçlari her seferinde voltmetre ile tespit etmek zor olabilir. Eger bu islemler zor geliyorsa, kablonun port olan ucundaki plastigi çikarin ve data pinlerine bagli olan kablolarin renklerine dikkatle bakin, çünkü renkler birbirine benzer olabilir.



Montaj plakasi (board) birbirine degisik sekillerde alttan bagli küçük deliklerden olusur. Bu sayede kullanacagimiz devre elemanlarini bu deliklere sokarak istedigimiz baglanti seklini legim kullanmadan elde edebiliyoruz. Aldiginiz montaj plakasinin deliklerinin nasil bagli oldugunu voltmetreniz ile az önce anlattigimiz kablo testini uygulayarak anlayabilirsiniz.

Montaj plakasini kullanarak data pinlerine giden kablolardan her birinin ucuna bir direnç ve ledi bagliyoruz. Dikkat etmemiz gereken ledin (+) olan kismini baglamamiz. Dirençlerin ise belli bir yönü yoktur istediginiz yönde takabilirsiniz. Genelde led diyotlarda bir bacak daha uzun olur. Iste o uzun bacak (+) olan tarafidir. Bunu anlamak için bir kalem pil alin ve ledi yakmayi deneyin. Böylece kutuplari bulabilirsiniz. Ledin diger bacagini ise kablodan gelen açik TOPRAK kablosuna birlestirecegiz.

Devremizi tamamladik. Simdi bilgisayarimizdaki paralel portun adresini bulmamiz gerekli. Bunun için Denetim Masasindan Sisteme, oradanda aygit yöneticisine girin. Portlara (Baglanti Noktalari) gelin ve LPT portunun Kaynaklarindan Giris-Çikis araligindaki degerin ilk kismindaki deger yazici portunuzun adresidir. Benim bilgisayarimda bu deger 0378 idi.

Artik yapmamiz gereken paralel porta veri göndermek. Bunun için Visual Basic kullanacagiz. Visual Basic ile paralel porta veri gönderebilmek için inpout32.dll dosyasina ihtiyacimiz olacak. Bu ve diger örnek program dosyalarini dosyalariniburadan çekebilirsiniz. Programi çalistirdiginizda ilk yapmaniz gereken az önce okudugumuz degeri Paralel Port Adresi kismina yazip AYARLA 'ya tiklamak. Benim okudugum deger 0378 idi bu sebeple buraya &h378 yaziyorum. Sizde okudugunuz bu degerin son üç hanesini basina &h ekleyerek buraya yazin ve Ayarla'ya tiklayin.

Daha sonra porta veri göndermek için "0" yazan kutulara tiklayin. Zaten sistemin nasil çalistigini sekilden çok iyi anlayacaksiniz. Yukaridaki tabloda DATA degeri, kutucuklarin içerisindeki degerleri soldan saga okudugunuzda çikan sayinin onluk sayi tabandaki karsiligidir.

Yapmis oldugumuz islem ile paralel porttan 8 bitlik veri çikisi almis olduk. Paralel porta gönderecegimiz bu 5 Voltluk degerler ile disaridaki cihazlari kontrol edebilecegiz. Adim motor kontrolü gibi biraz komplike programlamalara geçmeden önce. Bu porttan verinin nasil çiktigini iyi anlamis olmaliyiz.


Paralel porta veri göndermek için OUT komudunu kullandik. Bu komutun kullanim sekli asagidaki gibidir.

OUT Adres , Data

Adres verisi yukarida nasil bulabileceginizi anlattigim deger yani printer portunuzun adresinin degeri olmalidir. Data verisi ise yukaridaki tabloda belirtildigi gibi porta göndermek istediginiz benzer sayisal degerler olacaktir. Bu sayisal deger 0-255 arasinda olmalidir. Çünkü 255 degerinin ikilik sistemdeki karsiligi "11111111" oldugundan port daha fazla bir deger alamayacaktir. Bunun sebebi ise portumuz üzerinde 8 data pini bulunmasi. Dolayisi ile 8 adet "1" degerinin yanyana gelmesi demek bu 8 pinin her birinin +5Volt olmasi anl***** gelir. Dokuzuncu data pini olmadigindan, dokuzuncu "1" degeride olmayacaktir