Paralel port data pinleri açılışta 0 yapılamazmı

Başlatan f1varol, 09 Mayıs 2007, 12:04:04

f1varol

Arkadaşlar visualbasic ile paralel port kontrolü yapıyorum, sorun yok, data pinlerini kullanıyorum. Ama bilgisayar ilk açılışta data pinlerini 1 olarak açıyor. Bu da porta bağlı elektrikli aletlerin çalışır duruma geçmesi anlamına geliyor. Programı açtığım zaman pinleri sıfırlıyor ama ben pc ilk açılışta pinlerin sıfır olarak açılmasını istiyom. Bunu visualbasic te kodlarla halledebilirmiyim yoksa ek bir donanım kurarak mı çözmeliyim.Pic port çıkışına bir pic ekleyerek çözmeye kalkmak gereksiz bir karmaşa mı yaratır. Yada rölelerle çözülebilrmi, bunun için bildiğiniz  bir devre vb. varmı.

mustaphaerdem

paralel port çıkışını 1k lık dirençlerle pull-up yapıp. uçları 74hc14

entegresinden geçirirsen olay çözülür.

74hc14 entegresi bir tersleyicidir. port açıldığında pull-uplardan dolayı zaten bütün çıkışlar lojik 1 seviyesinde olacaktır. 74hc14 entegresi bu çıkışları tersleyip lojik 0 olarak iletecektir. Böylece sorun çözümlenmiş olur.
Korkarak yaşıyorsan sadece hayatı seyredersin.

EES

Devrende kullanılan çıkışları aktif "0"  olarak  yapabilirsin,,yan, "1" olduğunda değil "0" olduğunda çalışmalı.

f1varol

tersleyici entegre evet sadece açılışta sorunu çözer ama program çalıştırıldığında da tüm pinleri aktif yapar.Oysa benim istediğim pinlere bağlı ayrı ayrı cihazları kullanıcının isteğine göre açıp kapatmak. Tersleyici sadece açılışta pinleri tersler ve cihazlar çalışmaz ama program çalıştırılıp pinlerin tümü 0 olduğunda tersleyicinin çıkışları bu defa da 1 olacaktır.ve bu da istenilen bi durum olmaz.
   Birde hocam niçin pull-up direnci. Zaten açılışta pinler 1. Burada bi yanlışlık var sanırım, ya da ben anlayamadım.

f1varol

EES haklısınız aktif 0 olur ama ben porta bağlı cihazları program açılınca aktif konuma getirmek istemiyorum. tersine program üzerinde düğmeler var bunlarla cihazları açıp kapamak istiyorum. Cihazlar sizin dediğiniz gibi 0 olunca çalışırsa evet pc ilk açılışında sorun çözülür ama program çalıştırılın ca pinlerin tümü 0 landığı için tüm cihazlar kullanıcının isteği dışında açılmış olacaktır.

EES

PC programını kendinmi yaptın,,yoksa hazır bir programı kullanıyorsun?
eğen kendin yaptı isen değişiklik yapmak sorun olmaz.örneğin;

port.D0=1 olduğunda çalışıyor ise bunu
port.D0=0 şeklinde değiştir.

ve elektronik devrede port.D0 bağlı röleyi sürdüğün arabirim devresinide "0" olduğunda  röle çalışacak şekilde değiştirmelisin.



Eğer hazır program ve devre kullanıyorsan maalesef, PC ilk açılıştaki işlemlerine müdahele edemezsin..çünkü bu işlemler anakart üzerindeki BIOS programı ile yapılıyor...

f1varol

Porttan 8 ayrı cihazı kontrol ediyom, 8 data pini ile.
Bu durum da EES hocam söylediğiniz gibi port.DO (yada data0) a bağlı mesela çamaşır makinası 0 olduğunda çalışacak şekilde ayarlarsam pc açıldıktan uyduruyorum 5 saat sonra programı açtığımda bana hiç seçme şansı kalmadan çamaşır makinası çalışır. Oysa  program daki amaç (arayüzü de bu şekilde) kullanıcının butonlara basarak istediği cihazı aktif yada pasif yapması.

Şu şekilde olabilir ama bir data pinini gözden çıkarmak gerek. 1 adet tek kontak normalde kapalı röle, 1 adetde 7 kontak normalde açık röle. normalde kapalı olan rölenin bobin ucuna (gözden çıkarttığımız) data pinini bağlıyoruz. Bu röle yide diğer röleye bağlıyoruz.Bunun 7 kontağına da portun diğer data pinlerini  bağlıycaz. PC açıldığında iki röle de kesimde olacağı için cihazlar çalışmayacak. Program çalıştırıldığın da ise röleler iletime geçecek ama cihazlar çalışmayacak, çünkü tüm pinler sıfır. Hangi pine basılırsa bağlı cihaz aktif olacak. Bu arada gözden çıkartılan bir adet data pinine kullanıcının erişimini kaldırcaz, bu pin program çalıştığı sürece 0 olacak ve kullanıcı değiştiremeyecek.
PC açıldığında bu pin 1 olduğu için röle açık konumda.
Umarım anlatabilmişimdir.

EES

program ve devre hazırmı kullanıyorsun.yoksa ikisinide kendinmi tasarlıyorsun?

Eğer hazır bir projeyi kullanıyorsan son mesajımdaki son satırları tekrar okumanı öneririm.

Eğer yazılım ve donanımı kendin tasarlıyorsan bu sistemi sorunsuz çalışacak şekilde kolaylıkla yapabilirsin.

EES


Analyzer

Selam,

Fazladan röle kullanmak yerine bir pic ile sorun çözülebilir. Pc programı 1-2 byte lık bir bilgi gönderir, pic de ben buradayım sinyali gönderir. Ardından olaylar gelişir.

Analyzer
Üşeniyorum, öyleyse yarın!

mustaphaerdem

"f1varol"]tersleyici entegre evet sadece açılışta sorunu çözer ama program çalıştırıldığında da tüm pinleri aktif yapar.Oysa benim istediğim pinlere bağlı ayrı ayrı cihazları kullanıcının isteğine göre açıp kapatmak. Tersleyici sadece açılışta pinleri tersler ve cihazlar çalışmaz ama program çalıştırılıp pinlerin tümü 0 olduğunda tersleyicinin çıkışları bu defa da 1 olacaktır.ve bu da istenilen bi durum olmaz.''


zaten sorun orda program açıldığında bütün pinleri 0 yapmamak lazım. istediğin pini 0 yaparak kontrolu sağlamış olacaksın.
Korkarak yaşıyorsan sadece hayatı seyredersin.

z

Mademki VB ile programi sen yaziyorsun, port pinlerine inverter koy ve programda porta erisirken verilerin invertini yerlestir.

Yada her bir port cikisina AND kapilari koy ve AND kapilarinin birer bacagini birlestir buna da enable ismini ver. Enable bacagini, portun isletim sistemi tarafindan kibrastirilmayan bir pini ile surersin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

f1varol

Değerli yanıtlarınız için teş. ediyorum.
Çok faydalı oldu. Sorunu bir pic ve 7 kontaklı bi röle ile çözdüm. şimdi kartını çiziyorum. bir pin kullanıcının erişimine kapalı durumda.  Pic bu pini okuyor eğer 0 ise 7 kontak röleyi kapatıyor değilse açık. röle kontakları her pin için seri bağlı anahtar görevi yapıyor.Saygılar