PARALEL PORT VE PIC KONTROLLÜ YERLEŞĐM YERĐ MODELĐ PARALLEL PORT AND PIC-CONTROLLED SETTLEMENT MODEL Öğrenci Ali AKDUMAN, Sinop Üniversitesi Meslek Yüksekokulu, Sinop Öğrenci Taner ÇELĐKOĞLU, Sinop Üniversitesi Meslek Yüksekokulu, Sinop Öğrenci Ali BALCI, Sinop Üniversitesi Meslek Yüksekokulu, Sinop Öğr.Gör.Volkan ÇAVUŞ, Sinop Üniversitesi Meslek Yüksekokulu, Sinop ABSTRACT In this study, home and street illumination available in the settlement model was provided with paralel port; and traffic signalisation with PIC control. In the study, home and street lighting control was carried out through a programme written in Microsoft Visual Studio 2008,, and an electronic circuit board was prepared to control traffic signalization. The aim of the study was avhieved both in that traffic education was acquired by the students and students performing the project gained experience in mecatronics. Key words: Parallel port, Microsoft Visual Studio 2008, Computer-aided control, Microcontroller ÖZET Bu çalışmada, eğitim amaçlı yapılan yerleşim yeri maketinde bulunan ev ve sokak aydınlatması paralel port ile ve trafik sinyalizasyonu pic kontrolü ile yapılmıştır. Çalışmada ev ve sokak aydınlatmasının kontrolü Microsoft Visual Studio 2008 de yazılan bir program ile sağlanmış ve trafik sinyalizasyonu kontrol edilmesi için bir elektronik devre kartı hazırlanmıştır. Yapılan bu çalışma hem trafik eğitiminin öğrencilere kazandırılması noktasında hem de projeyi gerçekleştiren öğrencilerin mekatronik deneyim kazandırılması noktasında amacına ulaşmıştır. Anahtar kelimeler: Paralel port, Microsoft Visual Studio 2008, Bilgisayar destekli kontrol, Mikro denetleyici 1
1. GĐRĐŞ Paralel port aynı anda birden fazla veri bitinin farklı hatlar üzerinden senkronize olarak iletimini sağlayan haberleşme sistemidir. Paralel portta bilgiler paralel olarak yani birden fazla kablo ile taşınmaktadır. Paralel port (giriş) 25 pinden oluşmaktadır, Şekil 1. Bu pinler üzerinde data, status, control adında 3 tane port vardır. Data potunun pinleri 2-9 arasındaki pinlerdir ve sadece veri çıkışı için kullanılmaktadır. Kontrol portunun pinleri ise, 1, 14, 16, 17 dir. Bu pinler veri çıkışı için kullanılabildiği gibi veri girişi içinde kullanılabilmektedir. 10-15 arasındaki pinler de status potunun pinleridir. Bu pinler sadece veri girişi için kullanılmaktadır. 18-25 pinleri kullanılmamakla birlikte GND (ground yani toprak) olarak kullanılabilmektedir[1]. Şekil 1. Paralel port görünümü[1]. Portun pinlerinden her hangi bir tanesinin lojik "1" yani yüksek olması durumu, o pinden okunacak voltajın +5 Volt olması anlamına gelmektedir. Lojik "0" olması ise, düşük durumunu yani 0 Volt olmasını göstermektedir [1-4]. Paralel portların adresleri normal olarak BIOS haberleşme alanında yazmaktadır. Bunların adresleri 0040:0008 => LPT1 0040:000A => LPT2 0040:000C => LPT3 0040:000E => LPT4 ancak sistemlerin çok büyük çoğunluğunda taban adresler şu biçimdedir. LPT1 => 378H LPT2 => 278H LPT3 => 3BCH Örneğin LPT1 için: Data register için 378H, Status register için 379H, Command register için ise 37AH'ta bulunur [5]. Bir bilgisayarın paralel portu, kontrol etmek istediğimiz devreleri veya cihazları bu porta bağlamak için oldukça kullanışlıdır. Paralel portta bilgiler 8 erli paketlerle gönderilir. Paralel portu kullanabilmemiz istediğimiz çıkışları alıp girişleri okuyabilmemiz için bu portu bir program yardımıyla programlamamız gerekmektedir. Paralel porta veriler decimal yani 10 luk sistemle gönderilir. Fakat paralel portta binary 2 lik sistem olarak işlem görür. Yollanabilecek veri 0 ile 256 değerleri arasında bir tam sayı olarak olmalıdır [6]. Pin değerleri ve örnek port değerleri Çizelge 1-2 de verilmiştir. Çizelge 1. Data portunun pin değerleri[1] Port Numarası 9 8 7 6 5 4 3 2 Decimal Değeri 128 64 32 16 8 4 2 1 2
Çizelge 2. Paralel portun örnek bilgi değerleri Portların Alacağı Değerler Decimal Değerler 9 8 7 6 5 4 3 2 7 0 0 0 0 0 1 1 1 50 0 0 1 1 0 0 1 0 85 0 1 0 1 0 1 0 1 160 1 0 1 0 0 0 0 0 172 1 0 1 0 1 1 0 0 242 1 1 1 1 0 0 1 0 2. C# ĐLE PARALEL PORT KONTOLÜ C# ile paralel port kontrolü, paralel port üzerinden bilgi almak veya göndermek için aşağıdaki adımlar izlenebilir. a. Programlama ortamı içerisinden paralel port veya portlara erişimi sağlamak üzere hazır kod kütüphanelerine sahip olan inpout32.dll isimli dosya Visual Studio (VS) içerisinde Solution Explorer içerisine yerleştirilerek proje içerisine dâhil edilir [7]. b. proje içerisinde kullanılan isim uzaylarına (namespace) InteropServices adlı isim uzayı dahil edilir. Bu işlem için aşağıdaki kod kullanılabilir [7]. using System.Runtime.InteropServices; c. Halihazırda kullanılmakta olan WindowsForm u içerisinde yer alan Form1 isimli class kodlarının bittiği yerde yeni bir class tanımlanarak yukarıda eklenen dll dosya içerisindeki fonksiyonlar burada tanımlanır. Port artık erişme hazırdır [7]. public class InputOutput { [DllImport("Inpout32.dll")] public static extern short Inp32(int portaddress); [DllImport("Inpout32.dll")] public static extern short Out32(int portaddress, int data); } d. Bilindiği gibi paralel port üzerindeki Data portu için 378h adresi, Status portu için 379h adresi, Control portu için 37Ah adresi kullanılmaktadır. Program içerisinde bu portları kullanmak, başka bir deyişle bu portları oluşturan pinlerdeki elektriksel seviyeleri düzenlemek (0Volt/5Volt) için aşağıdaki kodlar kullanılmaktadır [7]. InputOutput.Out32(0x378,5); //Data portu için InputOutput.Out32(0x37A,5); //Kontrol portu için int geri=inputoutput.inp32(0x379); //Status portu için 3
3. MATERYAL VE METOD Eğitim amaçlı hazırlanan maketin şematik şekli, Şekil 2 de verilmiştir. Hazırlanan maketin yerleşim alanı 2000x1200mm ebatlarındadır. Yerleşim alanında iki ev, yaya geçitlerinde bulunan altı adet trafik ışığı ve farklı yerlerde bulunan sokak aydınlatmaları mevcuttur. Şekil 2. Maketin şematik görünümü Trafik sinyalizasyonu için hazırlanmış Şekil 3 teki devre şeması, bakır plaket üzerine basılmıştır. Bakır plakete devre basıldıktan sonra pehidrol içine atılarak plaket üzerindeki bakır yollar çıkartılmıştır. Bakır yollar kontrol edildikten sonra devre elemanları olan bir adet 16F628A mikro denetleyici, oniki adet 220Ω luk direnç, bir adet 100Ω luk direnç, onsekiz adet renkli LED, bir adet BC547 transistor elemanları lehimlenerek yerleştirilmiştir. Şekil 3. Trafik Sinyalizasyonu için gerekli devre şeması 4
16F628A mikro denetleyici için yazılan program ile trafik ışıkları bir birilerine bağlı olarak trafik akışını kontrol edecek şekilde yanması sağlandı. Ledlerin pin bağlantıları programda aşağıdaki gibi tanımlanmıştır, Şekil 4. #define _kirmizi1 _PORTA??0 #define _kirmizi2 _PORTA??2 #define _kirmizi3 _PORTA??7 #define _kirmizi4 _PORTB??1 #define _kirmizi5 _PORTB??3 #define _kirmizi6 _PORTB??5 #define _yesil1 _PORTA??1 #define _yesil2 _PORTA??3 #define _yesil3 _PORTB??0 #define _yesil4 _PORTB??2 #define _yesil5 _PORTB??4 #define _yesil6 _PORTB??6 #define _sari _PORTB??7 #define _OPTION_REG??7 OPTION_REG, 007h Şekil 4. Mikro denetleyicide ledlerin pin bağlantı tanımlama kodları Microsoft Visual Studio 2008 de hazırladığımız program ile maket üzerindeki sokak ve ev aydınlatmalarının yanması sağlanmıştır. C# ile hazırlanan program ile her evin farklı iki yerinin aydınlatılması ve bir biriyle aynı anda çalışan sokak aydınlatmaları paralel port ile kontrol edilmiştir, Şekil 5-6. Ayrıca paralel portun pin bağlantıları gösterilmiştir, Şekil7. class PortAccess { [DllImport("Inpout32.dll")] public static extern short Inp32(int address); [DllImport("Inpout32.dll", EntryPoint = "Out32")] public static extern void Output(int address, int value); } Şekil 5. C# Class kodları private void ev11_click(object sender, EventArgs e) { PortAccess.Output(888, 1); } private void ev12_click(object sender, EventArgs e) { PortAccess.Output(888, 2); } private void ev21_click(object sender, EventArgs e) { PortAccess.Output(888, 4); } private void ev22_click(object sender, EventArgs e) { PortAccess.Output(888, 8); } private void sokak_click(object sender, EventArgs e) { PortAccess.Output(888, 16); } Şekil 6. C# Program komutları bir örneği 5
Şekil 7. Paralel Port Pin Bağlantı Şekli 4. SONUÇ VE ÖNERĐLER Paralel port ve pic kontrollü eğitim amaçlı yerleşim yeri modeli için hazırlanan sistemden, aşağıdaki sonuçlar elde edilmiştir. Paralel port kontrolü ile sokak ve ev aydınlatmaların düzenli bir şekilde yapılabildiği tespit edilmiştir. Kullanılan mikro denetleyici sayesinde hazırlanan devre ile trafik kontrolü sağlandığı görülmüştür. Paralel port ve pic kontrolünün bir yerleşim yerinde kullanılabilirliği öğrencilere gösterilmiştir. Bundan sonra yapılacak çalışmalar için aydınlatma sistemi kontrolü farklı portlar ile yapılabilir. Yazılım desteği ile aydınlatma sistemleri uzaktan kontrolü sağlanabilir. Bu sistem ile ilköğretim öğrencilerine trafik eğiminin kazandırılmasında yardımcı olarak kullanılabilir. KAYNAKÇA [1].EGE, Y., GÖKTEPE, M., ÇITAK, H.,ERSOY, T., Mekanik Sistemlerin Hareket Kontrolünde Paralel Portun Kullanımı,Tasarım Đmalat Analiz Kongresi, Balıkesi, 2006 [2].EGE, Y., Ferromanyetik malzemelerin yüzey manyetik akı profilinin dedeksiyonu ve uygulamaları, Doktora Tezi, 2005 [3].ÖZISIK, S., Programlama, ISBN: 975-11-2134-5, 1, S.H.Ç.E.K. Basımevi, Ankara, 2001 [4].YAGIMLI, M., AKAR, F., Dijital Elektronik, ISBN: 975-295-233-X, 4, Beta Basım A.S.,Xstanbul, 2004 [5].http://eng.harran.edu.tr/~nbesli/SP/port.pdf, Mart, 2012 [6].http://meser.home.anadolu.edu.tr/DONANIM/5.6.7.8%20gruplar/8.grup%20SES-PORT/8-A- %20grup-ERKAN%20PORTLAR/PORTLAR...doc, Mart, 2012 [7].TONGUÇ, G., Görüntü Đşleme Teknikleri Kullanılarak Meyve Tasnifi,Yüksek Lisans Tezi, 2007 6