Bazı 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.
Bu amaçla hazırlanmış birkaç kütüphaneler var. Biz hwinterface adlı ocx dosyasını kullanalım. Ocx'i indirmek için buraya tıklayabilirsiniz.
Kullanımı örneklendirmeden önce paralel port adresini nereden bulacağımızı da öğrenelim. 'Bilgisayarım'a 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ı olacak. Ö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ı kod penceresine yapıştırın:
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
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 bahsedelim:
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... öyle gidiyor.
Pinlere veri gitmesi demek +5 volt demek. Paralel portun bu özelliği rölelerle birlikte anahtarlama işlerinde kullanılabilir...
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 :)
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
Teşekkür ederim. Uğraşacagım biraz gene olmadı size dönüceğim tekrar
İ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 ???
Port adresini yanlış girmiş olabilirsiniz. Belki de ledi bağladığınız pini değil de başka pini sıfırlıyorsunuzdur...
Merhaba. Acaba paralel porttan step motor nasıl kontrol edebiliriz? Bununla ilgili bir kaynak ya da yol gösterebilir misiniz? İyi çalışmalar.
step motor kontrolü yapılabilir ancak optokuplör kullanılması gerekecektir.bende step motor üzerinde denemelerime başladım.
Hüseyin bey,
bir başlangıç sorusu: ben eski laptop ile step motor çalıştırmıştım. Yeni bilgisayarımda o 25 pinli uzun socket yok. 15 pinli (3 sıra x 5) daha küçük socket var. Aygıtlarda da yazıcı bağlantı noktası yok, yazıcım USB den bağlı. ne yapmam lazım. ? Teşekkür ederim.
Paralel portlar çok eskidi, artık kullanılmıyorlar. USB üzerinden bilgisayarla haberleşmek için bir usb-ttl dönüştürücüsü ve seri iletişimi destekleyen bir mikrodenetleyici kullanabilirsiniz. Yeni başlıyorsanız, her ikisini de barındıran arduino gibi bir geliştirme kartı işinizi görür.