Paralel port ile uygulama fikirleri

Başlatan Erdem , 16 Temmuz 2012, 00:08:13

Erdem

Arkadaşlar daha önce de bahsettiğim gibi hazır bir iki hafta boş vakit varken ve elim değmişken paralel port uygulamaları yazayım diye düşündüm.

Denemek isteyenler bu adresten indirebilir.

https://github.com/erdemoncel/elektronikhobi

ve basitçe make yaksondur -f win32.mak şeklinde deneyebilirler.

Ama benim asıl sormak istediğim paralel port ile ne gibi uygulamalar yapılabilir. Benim aklıma şimdilik gelenler:

- adım motor kontrolü
- lcd panel kontrolü
- röle kontrolü

Örneğin LM35 kullanarak ve mikro denetleyici kullanmadan bir tane analog sayısal dönüştürücü yapıp, ortam sıcaklığını bilgisayarda gösterebilirmiydik.

Başka neler olabilir. Fikirlerinizi bekliyorum..

ArGeMaNiA

Modası geçti galiba ama yazıcı programlama olabilir mi?
Haydi göreyim sizi, vazife-i ubudiyetinizi unutmamak şartıyla öyle çalışınız ki,  rûy-i zemini, her tarafı herbirinize görülen ve her köşesindeki sesleri size işittiren bir bahçeye çeviriniz.

CoşkuN

Neden paralel port?
Artık modası geçmiş bir port değil mi bu? USB ile kontrol uygulamaları yapsanız daha güzel olmaz mı?

Erdem

Evet haklısınız hocam. Ama buradaki amaç hiç elektronik bilmeyenlere yeni şeyler öğretmek.

O yüzden öğrenme açısından bu yöntemin daha faydalı olduğunu düşünüyorum. Örneğin paralel portla da bir adım motoru, lcd paneli kontrol edebilirsiniz. Daha sonra mikrodenetleyici ile de bu işlemler yapılabilir. Ya da ne bileyim örneğin bir ev otomasyonu projesi olur. TCP/IP ile sunucu istemci haberleşme kısmını D ile yazabiliriz. Amacımız biraz da D ile ilginç projeler yazıp, yazarken de eğlenmek  :D --tabi bu kadar kısa sürede buralara kadar gelebileceğimi hiç tahmin etmiyorum --

Kısacası ben paralel port kullanımını bir eksiklik olarak görmüyorum. Aksine ileride öğrenilen şeyler için bir temel oluşturacağını düşünüyorum.

Ladyada'nın sitesinde paralel portlarla ilgili çok ilginç bir ifade kullanmış:

Parallel ports are the pinkie toe of electronics hacking.

Kısacası düşünün ki seri port henüz icad edilmemiş. Bilgisayarımızda yazıcı portundan başka iletişim portu olmasaydı neler yapabilirdik.

esensoy

Paralel port ta ki interruptın nasıl kullanıldığını biliyor musunuz?
ya da paralel porttan rotary encoder  okumak için ne yapmak lazım?
En tehlikeli an "zafer" anıdır.

z

PC deki paralel port, kullandığınız MCU lardaki I/O portların tamamıyla benzeri. Bir kaç adrese yerleştirilmiş I/O portlardan oluşuyor. 1 pinden de INT uretilebiliyor. Win98' e kadar paralel portun kullanımı oldukça basit bir işlemdi. Daha sonraları bu iş  zorlaştırıldı ve tamamen işletim sistemini yazanların insafına kaldık.

W98de porta erişimle kolayca kullanılabiliyordu. XP için bir dll vardı. Sonrası için benzer dll varmı araştırmak lazım.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

t2

Var var, 32 bit 64 bit fark etmez.  Fiyat: min 200usd. Müracat ben

Erdem

Alıntı yapılan: emresensoy - 16 Temmuz 2012, 11:19:51
Paralel port ta ki interruptın nasıl kullanıldığını biliyor musunuz?
ya da paralel porttan rotary encoder  okumak için ne yapmak lazım?

Hayır bilmiyorum.

Alıntı yapılan: z - 16 Temmuz 2012, 12:04:58
W98de porta erişimle kolayca kullanılabiliyordu. XP için bir dll vardı. Sonrası için benzer dll varmı araştırmak lazım.

Evet Bülent hocam inpout32.dll kütüphanesi kullanarak D ile Windows7 altında paralel porta erişim sağlayabiliyorum.

bocek

şurdaki proje paralel portlarla ilgili yeterli kaynağı sağlıyor sanırım.
17 Channel Logic Analyzer
@Erdem sen de bu projeyi D ile yapmayı deneyebilirsin.
1 ya da 0. işte 'bit'ün mesele..

esensoy

xp için inpout32.dll var, yalnız içinde interrupt rutini yok,

@t2, özelden ya da buradan biraz açar mısın, min dediğinin içinde interrupt çalışıyor mu?
nasıl test ederiz vs vs.
Önümüzde ki günlerde rotary encoder okumam gerekecek,
En tehlikeli an "zafer" anıdır.

t2

özel mesaj attım.  interrupt rutininden kastınız nedir? nasıl olması gerekiyor? biraz bilgi verirseniz bunu yapıp yapamayacağımızı anlayabilirim

esensoy

#11
neyse,
fiyat verince konu hakkında bilginiz var sanmıştım,

lpt pinlerinden bir tanesi kesme üretiyor, fakat bu kesmenin xp de nasıl açıldığı, kesme anında hangi alt programın çalıştırıldığı belli değil,

z nin de dediği gibi xp de direk donanımla iletişemiyoruz, driver yazmak gerekiyor falan filan,

encoder okuyorken de belli aralıklarla pinleri gözlemlemek işime gemiyor,
mcu da ki ext int gibi a ya da b nin konum değişikliğini yakalamak istiyorum.
En tehlikeli an "zafer" anıdır.

Erdem

Alıntı yapılan: bocek - 16 Temmuz 2012, 13:11:12
17 Channel Logic Analyzer
@Erdem sen de bu projeyi D ile yapmayı deneyebilirsin.
Çok ilginç bir proje ama bu projeyi yapmaya bir de Win32API'den girip, grafik çizim işlemlerine anlatmaya kalksam herhalde bir altı ay sürer  ;) Benim de zaten bu  iş için ayırdığım 2-3 hafta bir zaman var. Sonra ders çalışmaya geri döneceğim. Bir de hedef kitlemiz hep Linuxçu!  :D Benden başka windows kullanan pek görmedim. Ben de mecburiyetten kullanıyorum. Aynı zamanda yazılımımızın taşınabilir olmasını da istiyoruz. Aynı zamanda basit ve eğlenceli olsun.

Gene de ben kendim bunu daha sonra inceleyeceğim. Geçenlerde sadece ses kartı kullanarak bir osiloskop yapılabildiğinden bahsetmişlerdi. Burada da mantıksal test cihazı yapmışlar. Gerçekten ilginç.

Bağlantı için teşekkürler!  :)

ArGeMaNiA

Örneklerinizde devre şeması da olması gerekmiyor mu?
Haydi göreyim sizi, vazife-i ubudiyetinizi unutmamak şartıyla öyle çalışınız ki,  rûy-i zemini, her tarafı herbirinize görülen ve her köşesindeki sesleri size işittiren bir bahçeye çeviriniz.

Erdem

Pardon bu mesajı görmemişim  ::)

Evet aslında iyi olur.

Ama daha önceki deneyimlerime göre aynı zamanda hem belge hem de kod yazamıyorum. Örneğin daha önceden D için SDL C ilintilerini yazmıştım daha sonraki planım 2D uzay mekiği oyunu yazmaktı. Ama ikisi birarada olunca bir noktada ilgimi kaybettim.

O yüzden bu sefer akıllılık yapıp ilkönce kodlarını yazayım diye düşündüm. Sonra belge hazırlama işi yavaş yavaş bir şekilde oluyor.

Bir de daha önce belki devre şemasını bile bilmeyen kişiler olduğunu düşünerek sadece deneme kartı üzerinde Fritzing kullanarak devreyi göstermiştim.

Örnekleri denemek için basitçe paralel portun D1, D2, D3, D4 numaralı veri uçlarına birer direnç ve led bağlayıp, ledlerin - ucunu gene paralel port üzerinde bulunan toprağa bağlamak yeterli. Bir de DigitalMars'ın D derleyicisinin kurulu olması gerekiyor.