Visual Basic
 
Üye Girişi
E-mail:

Şifre:



 
Blog Arama Motoru
 
Email Aboneliği
Yeni yazılar yazıldığında email adresinize bildirim gelmesini isterseniz aşağıdaki formu doldurabilirsiniz.
(Hizmet FeedBurner tarafından sağlanmaktadır.)

Email:

 
 
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...
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 ( 5 )
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
metin sevindik
#4

12/09/2010, 08:19

İyi günler;
Devreyi ve programı kurdum ledi porta taktığımda led sürekli yanıyor söndürmeyi başaramadım sanrım komutları almıyor, ne yapabilirim port otomatik mi çalışıyor acaba manuel yapabilir miyim ???
Hüseyin Atasoy
#5

12/09/2010, 18:36

Port adresini yanlış girmiş olabilirsiniz. Belki de ledi bağladığınız pini değil de başka pini sıfırlıyorsunuzdur...
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-2012 Hüseyin Atasoy | Tema Tasarımı: Hüseyin Atasoy