Bir Bilgisayar Mühendisi İçin Programlama Dili, Öğrendiklerini Sınadığı, Deneyler Yaptığı Bir Labaratuardır. Ve Mühendisler Deneylerini, Kestiremedikleri Sonuçları Gözlemlemek İçin Değil, Öngördükleri Sonuçları Doğrulamak İçin Yaparlar...
  Paralel Port Kontrolü
   Bilgisayarın arka kısmında eski tip yazıcılar için yerleştirilmiş paralel port bağlantısı bulunur. Her ne kadar eski yazıcılar için yerleştirilmişlerse de onları çeşitli amaçlarla kullanmamız mümkün. Basit bir deneme yapmak için ihtiyacımız olan; biraz programlama bilgisi, bir tane dll dosyası, bir tane led ve paralel protumuzun adresi...

   Kullanacağımız inpout32.dll dosyasının çeşitli sürümleri internette mevcut. Fakat hepsi winxp'de çalışmıyor. Biz bu dll yerine daha kolay olduğu için hwinterface adlı ocx dosyasını tercih edeceğiz. Ocx'i indirmek için buraya tıklayınız.

   Kullanımı örneklendirmeden önce paralel port adresini nereden bulacağımızı öğrenelim. Bilgisayarıma sağ tıklayıp Yönet'i seçiyoruz. Aygıt yöneticisi'nden bağlantı noktaları, yazıcı bağlantı noktası(lpt1)'na çift tıklıyoruz. Kaynaklar sekmesine tıklıyoruz. Burada port adresi yazılı olacaktır. Örneğin 0378...

   Visual Basic ile kullanıma örnek için forma oval bir shape ekleyin. Components'lara, indirdiğiniz ocx dosyasını ekleyin ve onu formun içine bir yere yerleştirin. Son olarak timer ekleyip interval=500 yapın. ve aşağıdaki kodları ekleyin :
Private kapali As Boolean

Private Sub Form_Load()
kapali = 0
End Sub

Private Sub Timer1_Timer()
    If kapali = True Then: GoTo burdandevam
    kapali = True
    Hwinterface1.OutPort &H378, 1 'port adresi (genelde &H378 olur)
    Shape1.FillStyle = 0
    Exit Sub
burdandevam:
    Hwinterface1.OutPort &H378, 0
    kapali = False
    Shape1.FillStyle = 1
End Sub

Paralel Port Data Pinleri

   Yukardaki kodun çalışabilmesi için ledin + kutbu resimdeki D0'a - kutbu da kasanın metaline ya da toprak pinlere bağlanmalı.

   Son olarak diğer data pinlere (resimde D0,D1.. ile gösterilen pinler) nasıl veri yollanacağından bahsedeyim :

255  Tüm data pinlerine veri yollar
128  D7 pinine veri yollar
64   D6 pinine veri yollar
32   D5 pinine veri yollar
16   D4 pinine veri yollar
8    D3 pinine veri yollar
4    D2 pinine veri yollar
2    D1 pinine veri yollar
1    D0 pinine veri yollar
0    bütün pinler sıfırlanır...

   Bu hesabın mantığı şu; D0 pini için 2'nin sıfırıncı kuvvetini alıyoruz. D1 için birinci, D2 için ikinci ... böyle gidiyor.

   Pinlere veri gitmesi demek +5 volt demek. Paralel portun bu özelliği genelde 220 voltu anahtarlama işlerinde kullanılıyor. Hiçbir alet kullanmadan 5 volt ile 220 voltu anahtarlamamız mümkün değil. Bunun için röle denen devre elemanları gerekiyor. Şurası çok önemli; eğer hata yaparsanız bilgisayarınız bozulabilir. Çok dikkatli olun, pinleri kısa devre yapmamaya özen gösterin. 220 voltu anahtarlama işlerine girişmemenizi öneririm. Kolay gelsin...
 
Okunma Sayısı: 739
Yayınlanma Tarihi: Blogun eski sürümü ile yazılmış, tarih kaydı bulunmuyor...
Anahtar Kelimeler: veri, yollar, pini, pinler, paralel, port, dll, adresi, hwinterface, yazıcı, timer, bağlantı, visual basic
Yorumlar ( 3 )
Extreme_Programer
#1

13/03/2010, 12:56

teşekkürler hocam işe yarar bu dönem bana lazım olan bilgi ama biraz sıkıntılarım war bu konuda :)
Hüseyin Atasoy
#2

13/03/2010, 13:23

Dostum mail atmışsın da hiç fırsatım olmadı yanıtlayacak. Vbde projeni kolayca yapabilirsin. Verdiğim dllyi referanslara ekledikten sonra formun KeyDown ve KeyPress olaylarına kabaca şöyle birşey yazmalısın:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode 'Hangi tuşa basılmışsa ona göre pinleri aktifleştir.
Case Asc("1"):
Hwinterface1.OutPort PortAdresi, 1
Case Asc("2"):
Hwinterface1.OutPort PortAdresi, 2
Case Asc("3"):
Hwinterface1.OutPort PortAdresi, 4
.
.
.
End Select
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Hwinterface1.OutPort PortAdresi, 0 'Tüm pinleri sıfırla
End Sub
Extreme_Programer
#3

13/03/2010, 14:48

Teşekkür ederim. Uğraşacagım biraz gene olmadı size dönüceğim tekrar
Yorum/Görüş Bildir
Yorumları html kodu veya özel karakter kullanmadan, yazım kurallarına
dikkat ederek ve düzgün bir Türkçe kullanarak yazalım...
 
    Atasoy Blog v3.0 © 2009-2010 Hüseyin Atasoy | Tema Tasarımı: Hüseyin Atasoy
AtasoyWeb 1 yaşında, bu tema benden ona doğum günü hediyesi :)    
Programlama Günlüğü > Visual Basic > Paralel Port Kontrolü
Menü