Teknomerkez
TR EN ES
Konular

C# İle Paralel Port Kontrolü

Yazar: Gökhan Turan
Tarih: 29.09.2006
Türkçe

C# ta yazılan kodlarla paralel portu kullanarak birçok uygulama yapabiliriz. Kayan yazı, led yakma, saydırma veya herhangi bir sistemi kontrol etme… Bu yazıda anlattığım uygulama hepsinin temelini oluşturuyor.

Paralel portla iletişim kurabilmek için System32 klasörüne (C:WINDOWSsystem32) INPOUT32.DLL dosyasını kopyalamamız gerekir. (INPOUT32.DLL dosyasını bilgisayarınıza indirmek için tıklayınız)

Bu uygulama bilgisayardan girilen onluk sistemdeki sayıları ikilik (binary) sistemdeki sayıya çevirir. Aynı zamanda da dönüştürülen sayıya karşılık gelen ledleri yakar.

Aşağıda portun hangi pinini aktif etmek için C# tan gönderilmesi gereken sayılar görülmektedir.

D0-->1
D1-->2
D2-->4
D3-->8
D4-->16
D5-->32
D6-->64
D7-->128

0-255 arası tüm sayıları göndererek ledleri yakabiliriz. Bazı sistemleri kontrol etmek için ise yukarıdaki sayıları göndererek portun pinlerini aktif yapabiliriz. (Aktif yapmak demek pine 5 Volt değeri yüklemek demektir)

C# ConsoleApplication Program Kodları
------------------------------------------

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Runtime.InteropServices;
namespace ConsoleApplication21
{
    class paralel
    {
        [DllImport("inpout32.dll", EntryPoint = "Out32")]
        public static extern void Output(int adress, int value);
     

        public void PortYaz(int g)
        {
            Output(888, g);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            paralel a = new paralel();
            Console.Write("Sayıyı girin BINARY sisteme dönüştüreyim..:");
            int c = int.Parse(Console.ReadLine());
            a.PortYaz(c);
        }
    }
}
  

C# ile paralel port kontrolu

Şekil 1: Porta Sayı Gönderme Ekranı

Elektronik Devrenin Paralel Porta Bağlantı Şeması

C# ile paralel port kontrolu

Şekil 2: Ledlerin Porta Bağlantısı

C# ile paralel port kontrolu

C# ile paralel port kontrolu

Şekil 3: Devreden Görünümler

Yorumlarınız

ömer - 08.10.2006
aynı devrenin C için olanı sizde mevcutmu acaba.derleme işlemini linux ortamında yapacağım için ona göre cevap veririseniz sevinirim.
selametle
Yaren Temizkan - 09.10.2006
Merhaba,
Öncelikle teknomerkez.net adresinde hazırlamış olduğunuz makale için teşekkür ederim. Biz aynı şeyleri Visual basic 6.0 ile yapıyoruz. Daha doğrusu daha yeni başladığımız için ben nasıl olduğunu anlayamamıştım. Ama sayenizde anlamış oldum. Çok teşekkür ederim. Eğer bu tarzda hazırlamış olduğunuz başka makale yada sizde bu konularla ilgili kaynak varsa ve bana gönderebilirseniz çok mutlu olurum.
ömer canatar - 05.11.2006
bu seneki final ödevim ama C programıyla nasıl kodlar gönderildiğini halen çözmüş değilim kafam baya karıştı yardımcı olursanız çok sevinirim tskler...
ömer canatar - 18.11.2006
slm arkadasým ben paralel port ile led kontrolü yapýcam ama C++ programýndaki komutlarýný anlayamýyorum

senin için zor bir iþ olmazsa kodlarý yazýp mail geçebilirmisin bana çok þey istediysem özür dilerim tskler...
samet çağlayan - 30.11.2006
slm ben bu uygulamayı yapmak istiyorum ama c# ne oluyo onu bilmiyorum yardımcı olursanız sevinirim
okan - 17.12.2006
S7 ve S4 uclarınıda kullanarak led yakma işlemi hakkında bilgi verebilrmisin.sağol
Ceren Yıldız - 21.12.2006
yüksek okul okuyorum;c# lpt portlarla ilgilibir ödev
hazýrlamalýyým ve bu
konuda hiç bir þey bilmiyorum. yardýmcý olursanýz çok sevinirim.
Gökhan Turan - 21.12.2006
Merhaba:
Ödevinizin tam olarak ne olduğunu söylerseniz ona göre yardımcı olamaya çalışayım. Paralel portla ilgili bir çok uygulamam var. Uygun bir zamanda www.teknomerkez.com sitesine de ekleyeceğim zaten.
Ödevize göre hareket edip yardımcı olmam daha iyi olur.



İyi çalışmalar....
ultraslan ultraslan - 21.12.2006
abi senin c# programýn ne çözemedim c++ olmuyor nasýl yapcam ödevi
senin
projeden aldým ama olmuyor yardým lütfen
Gökhan Turan - 21.12.2006
Merhaba Ultraslan: C++ olarak hangi derleyiciyi kulanmaktasın. Microsoft Visual Studio daki C++ ta problrm çıkarmaması gerek.
dogan kahveci - 21.12.2006
selam bizim bu sene yapmamiz gereken bi projemiz var bu projedede paralel port üzerinden led yakmak istiyoruz bize bu konuda yardimci olabilirmisiniz...???
Gökhan Turan - 21.12.2006
Merhaba dogan kahveci: Size yardımcı olayım.ama hangi programı kullanacaksınız. Ona göre kodlarıı yazıp göndereyim. İyi çalışmalar...
Kazım Yıldız - 21.12.2006
merhaba
ben paralel porttan þu an için deneme amaçlý bir moyor sürme iþemi yapmak istiyorum motoru ileir ve geri yönde döndürme iþlemi bu iþ için C# ta yazýlacak kodlar yine benzer bu þekilde mi olacak yoksa ayrýca komut kullanmak gerekir mi ilginize teþþekürler.
Gökhan Turan - 21.12.2006
Merhaba Kazım Yıldız: Motor sürücü kodları led yakmanın kodlarıyla çok benzer. Bi uğraş olmaz sa kodlarını yazıp devreyi çizip gönderirim.
ömer canatar - 21.12.2006
slm arkadasým ben paralel port ile led kontrolü yapýcam ama C++ programýndaki komutlarýný anlayamýyorum
senin için zor bir iþ olmazsa kodlarý yazýp mail geçebilirmisin bana çok þey istediysem özür dilerim tskler...
hüseyin - 16.01.2007
ben lise öğrencisiyim hocam bir ödev verdi ödev paralal portun 2,3,4,5,ve 24 ü şase olarak kullanılan bir led kontrolü verdi eğer programı yazıp göndersiseniz sevinirim.ledler sırasıyla yanacak program ya visual basic ya da Q basic ile olacak cevabını e mail adresime gönderirseniz sevinirim
ömer gürtekiner - 23.01.2007
yaa arkadaşlar ben bu siteyi yeni buldum baya zamandır ya benim bir ödevim var bilgisayar kontrollü paralel porta bağlı uzaktan kumandalı araba biliyom çok zor görünüyo ama yapmış kişiler var fakat ben bulamadım öle birisini vardı ama programı çalışmıyoo inpout32.dll faln yaptım ama olmadı bana program ve bağlantı konusunda yardımcı olacak birisi var ise yardım etsin lütfen dönem ödevim bu bağlantıyı yaptım uln2003 den bağlantı yaptım fakat program çalışmıyor lütfen yardım istiyorum mail adresimi ekleyin oradan konuşalım ilgisi olanlar ile
süleyman - 17.02.2007
merhaba arkadaşlar: port kontrolü ile ilgilenenler var ise ben bunu delphi de görsel bir şekilde ve xp de yapıorum ilgilenenler var ise yardımcı olabilirim. sewgilerle...
yaren - 19.02.2007
Merhaba arkadaşlar,
Ben mi yanlış anladım yoksa gerçekten öyle mi? Herkes ödevini burada yaptırırsa o zaten sizin ödeviniz olmaz. Ödev yaparken yardım alınır. Yardım(!). Yani başkasına yaptırılmaz. Hocam buradaki örnekte çok güzel anlatmış. Ve araştırırsanız internette birçok örnek var paralel portla ilgili. Bence kendinizin araştırıp bulmanız daha güzel olur ve sizin için daha faydalı olur.
ömer - 26.02.2007
arkadaşım benim ödevimin sanal ortamdan yapılması mümkün deil ben donanımsal yardım istiyorumm sen yanlış anlamışın semazen arkadaşımız yazılımda yardım ederim dedi kendsine burdan tşk ediyorum ama yazılım da bi sorun yok donanımda sorun var
gtaylan - 01.04.2007
ben c# ile trafik ışık devresini kontrol edeceğim.yani paralel port ile bu devreyi nasıl kontrol edebilirim yardımcı olursanız sevinirim şimdiden teşekkürler
scoutozge - 03.04.2007
merhaba arkadaslar ben borland c++ ile yazdigim programimdaki x-y koordinat bilgilerini paralel porttan step motoruma yollamak istiyorum.yazilimi yaptim,motoruda ayri olarak calistirdim;ama yazilimimdaki bilgileri bu yazilimin icinda paralel porta yollamasini nasil isteyecegimi bilmiyorum.bilen varsa ve bana yardimci olabilirse cok sevinirim.tesekkurler.iyi gunler.
merve - 15.05.2007
selam bnm bi ödevim var ve sanırım burda bna yardımcı olabilecek kişiler vardır ya da öle umut ediyorum:) bnm ödevim paralel port üzerinden led yakma c# programında devrem hzır gibi bşy:s codlarda yardım cı olursanız çokı sevinirim
hakan - 15.05.2007
slm ben paralel portla yürüyen ışık yapmak istiyorum
ama sizin verdiğiz şemadan hiç birşey anlamadım onun tam olarak bana anlatıp e postama gönderirmisiniz. çok şey istediğsem özür dilerim. teşekkürler
esra - 23.05.2007
bana aynı bu programın turbo c++ de olanı lazım yardımcı olursanız sevinirim...tabii xp de de çalışabilecek :(
atilla - 18.11.2007
bu konuda daha farklı uygulamalar da yaptıysanız onlarıda paylasırsanız sevınırım.tesekkurler..
birisi - 30.11.2007
merhaba sitenizdewki bu bilgiyi çok beğendim bu bilginin üzerinde biraz yardım isteyecektim ben bunu ödev olarak yapmayı düşünüyorum o deverenin aynısını yaypıp c# da çalıştırabilirmiyim ? ben 2 yıllık bilg tek. ve prog. okuyorum . peşin söyleyim devrden de c# dan da pek anlamam msn ye yazarsanız sevinirim :)
mustafa - 05.12.2007
Bu çalışmalarla ilgili bizleri bilgilendirdiğiniz için teknomerkez ailesine çok teşekkür ederim. benim sorum, bir sayaç devresi ile buna örnek ileri lcd ayarlanabilir alarımlı sayaç devresinde olduğu gibi değerleri bilgisayara aktarabilirmiyiz yani entegreden lcd'ye giden bilgiyi bilgisayar portuna aktara bilirmiyiz böylece sayaç değerlerini bilgisayardanda görebiliriz çünkü fabrikada her makinenin üretiği üretim adetlerini bilgisayardanda görebilmemize olanak sağlıyacaktır. bu konuda yardımlarınızı bekliyorum. siz değerli teknomerkez ailesine tekrar teşekkür ediyorum.
halil - 05.12.2007
bu degerlı calısma ıle bızlerı bılgılendırıdgınız ıcın teknomerkez aılesıne tesekkur edıyorum aynı programın turbo C veya dev C icin tasarlanmıs olanını maıl olaraq atabılırsenız cok mutlu olacagım sımdıden tesekkurler
Süleyman - 04.01.2008
ben bu işi delphi ile yapıorum. avantajlı çünkü görsel. birde burda sadece 8 adet data register' i göstermişin? ya dış ortamdan pc ye bilgi girişi yapılacaksa? belirli şartlara göre işlem yaptırılacaksa??? bu data registerin giriş olarak kullanılması var birde... 8 ini kullandık dierleride süs mü yani ? herneyse kolay gelsin. hade ben seni bekliom koşarsan yetişirsin.
mehtap - 21.01.2008
bn bu konuyla ilgileniyorum eğer sizde yardımcı olursanız sevinirsn
ilker - 22.02.2008
slm arkadaşlar c++ da paralel port ile yön tuslarıyla araba kotrol edeceğim ben ise c++ la ilgili hiç bişi bilmiyorum eger bi bilgisi olan lutfen benımle ırtaba ta geçebilirmi
kemal gürsoy - 03.05.2008
paralel porttan uzaktan kumandalı(RC) nin kumandasını pc ye baglayarak klavyeden(ileri geri tusları ile )araba kontrol etmek isitiyorum . ve bunun programını c# ile yapmak istiyorum.visual basic de progamını buldum ama bana C# dan lazım...bitirme projemde kullanıcam, yardımcı olursanız cok sevınırım..
Bayram - 07.05.2008
Merhaba arkadaşlar benim proje ödevim paralel porttan adc kontrolü.Yani analog gerilimi dijitale çevirmek bunu c ile yapıcam.Devremde adc 0804 entegresini kullandım.Fakat gerekli c programını yazamıyorum bazı komutlara ihtiyacım var galiba.Bu konuda bilgisi olan lütfen benimle irtibata geçebilir mi.Teşekkkürler...
buse uzun - 12.11.2008
iyi günler konuyu çok güzel anlatmışsınız ben meslek yüksek okulu öğrencisiyim bi projem war ama düz lise mezunu olduğum için pek birşey bilmiorum benm sorum şu olacak paralel portla uzaktan kumandalı araba konrtol etmem gerekiyor bunu nsl yapabilirim birde sunu eklemek istiorum benm dizüstü bilgisayarım war we bu bilgisayarda paralel port yok bunu nsl halledebilirim şimdiden teşekkürler
tugrul - 16.02.2009
bu arada konu tam olarak su yapmak ıstedıgım odev paralel port kullanarak yon tusları ıle bır vıncı kontrol etmek ve enter la yuku alıp sıft tusu ıle bırakmak bunu blgısayardan c# ile yapmak istiyorm bu arada vinci kendıim yapıcam basıt bır devre ama paralel port ne tam olarak bılmıyorm c# konusunda yardıma ıhtıyacım da olabılır programı calısıyorm ama henuz tam cozmus degılım saolasın ılgılenırsen sevınırım
turan turan - 10.03.2009
Slm güzel çalışma seri port kontrolü ile ilgili program döküman varsa yardımcı olabilirmisiniz. Teşekkürler.
turan turan - 10.03.2009
Seri port ile yeni bölüm açalım orada bu konu hakkında yardımlaşalım
naciye - 02.05.2009
İyi günler. ben bitirme projem için paralel portta calısıyorum incelemek için örnek bir proje buldum amabir türlü calıstıramadım. Şöyle bi hata veriyo
Göktuğ - 20.12.2011
Merhaba Win7 de sorun çıkıyor galiba bunu nasıl çözebiliriz bir de Output(888, g); üzerinde BadImageFormat hatası alıyorum ne anlama geliyor acaba.. Şimdiden Çok teşekkürler...
SAMET - 04.01.2012
usta benim senden bi ricam olcak paralel porttan 7 segmentli sayıcı devresi yapıyorum ama bi türlü programı yazamadım eger yazabilirsin veya elinde hazır yazılmıs C++ veya Assembly şeklinde (assembly var ise daha iyi olur hoca assembly yazın dedi)var ise mesaj atarsan memnun olurum
Teşekkürler
Sacıt - 13.11.2012
ben paralel port ile birden fazla aygıtın bılgısayar sayesınde komut verıcem bır proje hazırlıcam. Bır hoparlor bır pervane bırde led olacak. program sayesınde ledler yansın dedıgımde ledler yanacak. hoparlor calısssın dedıgımde hoparlorden cızırtı gelecekmıs ben bunların hepsını bır paralel portta baglaya bılır mıyım calısırmı bana bı yardımcı olabılır mısınız?

Bir yorum ekleyin

İsim:
E-posta:
Yorumunuz:
Güvenlik Kodu:
 
Tüm alanları doldurmak zorunludur. Yorumunuz kontrol edilince yayınlanacaktır. E-posta adresi yayınlanmaz.
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>