BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA...

53
T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠ 210302 Melike Gülşen ERDOĞAN 228522 Fehmi EROL 228540 Yıldız BOĞAZKÖY 240447 Safa BAZOĞLU Yrd.Doç.Dr. Yusuf SEVĠM Haziran, 2013 TRABZON

Transcript of BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA...

Page 1: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

T.C.

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ

Mühendislik Fakültesi

Elektrik-Elektronik Mühendisliği Bölümü

BĠTĠRME PROJESĠ

SU ĠLE YAZI YAZMA PROJESĠ

210302 Melike Gülşen ERDOĞAN

228522 Fehmi EROL

228540 Yıldız BOĞAZKÖY

240447 Safa BAZOĞLU

Yrd.Doç.Dr. Yusuf SEVĠM

Haziran, 2013

TRABZON

Page 2: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

T.C.

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ

Mühendislik Fakültesi

Elektrik-Elektronik Mühendisliği Bölümü

BĠTĠRME PROJESĠ

SU ĠLE YAZI YAZMA PROJESĠ

210302 Melike Gülşen ERDOĞAN

228522 Fehmi EROL

228540 Yıldız BOĞAZKÖY

240447 Safa BAZOĞLU

Yrd.Doç.Dr. Yusuf SEVĠM

Haziran, 2013

TRABZON

Page 3: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

i

LİSANS BİTİRME PROJESİ ONAY FORMU

…………. ………………… tarafından …………………………… yönetiminde

hazırlanan “………………………………………………………………………….”

başlıklı lisans bitirme projesi tarafımızdan incelenmiş, kapsamı ve niteliği

açısından bir Lisans Bitirme Projesi olarak kabul edilmiştir.

DanıĢman : Yrd. Doç. Dr. Yusuf SEVĠM ………………………………

Jüri Üyesi 1 : Yrd. Doç. Dr. Gökçe HACIOĞLU …………………………

Jüri Üyesi 2 : Öğr. Gör. Cahit ALTAN ………………………………

Bölüm BaĢkanı : Prof. Dr. Ġ.Hakkı ALTAġ ………………………………

Page 4: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

ii

ÖNSÖZ

Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere ve kılavuzun son

halini almasında yol gösterici olan kıymetli hocamız Yrd.Doç.Dr. Yusuf SEVĠM ‘e

Ģükranlarımızı sunmak istiyoruz. Ayrıca bu çalıĢmayı destekleyen Karadeniz Teknik

Üniversitesi Rektörlüğü’ne Mühendislik Fakültesi Dekanlığına ve Elektrik-Elektronik

Mühendisliği Bölüm BaĢkanlığına en içten teĢekkürlerimizi sunarız.

Her Ģeyden öte, eğitim hayatımız boyunca bizlere maddi manevi olarak tam destek

veren ailelerimize ve bize hayatlarıyla örnek olan tüm hocalarımıza saygı ve

sevgilerimizi sunarız.

Ayrıca projemiz süresince bizden yardımlarını esirgemeyen arkadaĢımız Hakan

ERDÖL’e teĢekkürü bir borç biliriz.

HAZĠRAN, 2013

210302 Melike GülĢen ERDOĞAN

228522 Fehmi EROL

228540 Yıldız BOĞAZKÖY

240447 Safa BAZOĞLU

Page 5: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

iii

İÇİNDEKİLER

ÖNSÖZ…………………………………………………………………..………………ii

ĠÇĠNDEKĠLER………………………….……………………………...……………….iii

ÖZET………………………………………………………………...………………..…v

ġEKĠLLER DĠZĠNĠ……………………………………………………...………..….....vi

TABLOLAR DĠZĠNĠ…………………………………………………………………..vii

SEMBOLLER VE KISALTMALAR……………………………………….………...viii

1. GĠRĠġ…………………………………………………………...……………………..1

2. TEORĠK ALTYAPI.……………………………………………………………….…2

2.1. C Programlama Dili……………………………….………………………………...2

2.1.1 Neden C?.……………………………………………....…………………..…..2

2.1.2. C Kodlarının Temel Özellikleri…………………………...…………………...3

2.1.3. DeğiĢken Nedir?.................................................................................................3

2.1.4. C ile Assembly Arasındaki Farklar…………………….....……………….…..3

2.1.5. Döngü Kavramı……………………….………………………………….……3

2.1.5.1. For Döngüsü…………………………...…………………..…….……….4

2.1.5.2. While() Döngüsü…………………………...…………………….………5

2.1.6. Else if KoĢulu………………………………...…………….…………….……5

2.1.7. Zaman Geciktirme ……………………………………..……………….……..6

2.1.8. Diziler…………………………………...………………………………….….6

2.1.9. Fonksiyon Tanımlama………………………………………...………….……6

2.1.10. Yazılan Programın ÇalıĢma Prensibi……………………………….….……..7

2.2. MikroiĢlemciler………………………………………………..…………….…...…7

2.2.1. MikroiĢlemci Nedir?...........................................................................................7

2.2.2. Tarihçesi………………………...………...…………………………...………8

2.2.3. MSP430F169…………….…………………………………………………….8

2.2.4. MSP430F169’un Özellikleri……………………………………………......….9

2.2.5. JTAG Arayüzü………………………………………………….……….……10

2.2.5.1. 4 Kablolu JTAG Arayüzü………………………………………….……10

2.2.5.2. 2 Kablolu JTAG Arayüzü…………………………………………….…11

Page 6: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

iv

2.2.6. JTAG EriĢim Makroları…………………….…………………….…………..11

2.3. Transistör Nedir?......................................................................................................11

2.3.1. NPN Transistör………………………...………………………….………….12

2.3.2. PNP Tipi Transistör…………..………………...…………………….………13

2.3.3. Transistör ÇeĢitleri……………...………………...…………………….……15

2.3.4. Transistörleri Kullanım Alanları………………………….....………….……15

2.3.5. Transistör ile Anahtarlama……….………………...………….……………..15

2.4. Selenoid Valfler……………..……………………………………………..…...…17

2.4.1. KullanmıĢ olduğumuz solenoid valfin çalıĢma koĢulları……….……..……..18

3. TASARIM……………………………………………………………………….…..20

3.1. Projede Kullanılan Bilgisayar Programları………………………………..……….20

3.1.1. IAR Embedded Workbench………………………………………………….20

3.1.1.1. IAR Embedded Workbench’in Özellikleri…………………..………….20

3.1.2. Eagle………………………………………………...……….……………….21

SONUÇLAR……………………………………………………………………….…..23

YORUMLAR VE DEĞERLENDĠRME………………………………………………24

KAYNAKLAR……………………………………………..……………………..…...25

EKLER……………………………………………………..…………………………..28

Ek-1 Proje Programı…………..………………………………….…………………28

Ek-2 Standartlar ve Kısıtlar Formu………….………………………...……………39

Ek-3 Tablo-1………………………………………………...………………………41

Ek-4 Malzemeler Listesi…………………………………………………………….42

ÖZGEÇMĠġLER…………………………………………………………………….....43

Page 7: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

v

ÖZET

Bu projede park, gezi alanları, alıĢveriĢ merkezleri, iĢ yerleri gibi çok uğrak yerlerde

göze hoĢ gelen bir görüntü oluĢması için havada su ile yazı yazma, çeĢitli Ģekiller

çıkarabilme vb. gibi konular üzerinde ve bu projenin günümüze nasıl uyarlanabileceği,

günümüzde hangi alanlarda ve yerlerde kullanılabileceği gibi konularda fikir sunulmaya

çalıĢılmıĢ ve bu konuda çalıĢmalar yapılmıĢtır.

Bu çalıĢmaların daha çok yapılması, daha yaygın olarak kullanılması, görsellik ve

eğlence olarak günümüz yaĢantısına yansıtılması bu projenin amaçlarından biridir.

Küçük iĢyerlerinde, evlerde ve daha birçok yerde bu projedeki çalıĢma geliĢtirilerek

aksesuar olarak da kullanılabilir.

Ġçerik olarak bu projede elektronik valflerle havada su ile yazı yazma, belirli bazı

Ģekiller çıkarabilme hedeflenmiĢtir ve selenoid valfin yanı sıra çeĢitli elektronik

malzemelerde projede kullanılacaktır. Mesela transistörlü anahtarlama devresi, suyun

devir daimini yapacak olan su motoru ve programlanacak MSP430F169 mikroiĢlemcisi

gibi malzemeler de projede yer almıĢtır. Valfler mikroiĢlemci kontrolünde bir yazılım

programı dahilinde anahtarlama devresi sayesinde açılıp kapatılarak istenilen zamanda,

istenilen süre boyunca akıtılarak havada belirli Ģekiller ve harfler yazılmıĢtır.

Bu örnek proje ve bunun gibi örnek projeler sayesinde böyle uygulamalar

günümüzde çoğaltılabilir. O yüzden bu proje üzerinde titizlikle ve dikkatli bir Ģekilde

çalıĢılmıĢtır.

Page 8: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

vi

ŞEKİLLER DİZİNİ

Şekil-1. For akıĢ diyagramı……………………………………………………………...4

Şekil-2. Else if akıĢ diyagramı…………………………………………………………..5

Şekil-3. NPN tipi transistör…………………………………………………………….12

Şekil-4. NPN tipi transistörün diyot ile gösterimi……………………………………...13

Şekil-5. PNP tipi transistör……………………………………………………………..14

Şekil-6. PNP tipi transistörün diyot ile gösterimi………………………………………14

Şekil-7. Anahtarlama devresi………………………………………………………......16

Şekil-8. Projede kullanılan solenoid valf…………………………………………..…..19

Şekil-9. MSP430F169 iĢlemcisi programlama kitinin PCB kartı……………………...21

Şekil-10. Transistörlü anahtarlama devresinin PCB kartı……………………..…….....22

Page 9: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

vii

TABLOLAR DİZİNİ

Tablo-1. C programlama dilinde kullanılan değiĢken tablosu…………………………41

Page 10: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

viii

SEMBOLLER VE KISALTMALAR

LED Led Emitting Diode

CPU Central Processing Unit

RISC Reduced Instruction Set Computing

DCO Digitally Controlled Oscillator

SPI Serial Peripheral Interface

UART Universal Asynchronous Receiver/Transmitter

JTAG Joint Test Action Group

RAM Random Access Memory

Kb Kilobayt

KHz Kilo Hertz

AC Alternating Current

DC Direct Current

DMA Direct Memory Access

PCB Printed Circuit Board

FRAM Ferroelectric Random Access Memory

GPIO Generel Purpose Input Output

SBWTCK Spy-Bi-Wire Test Clock

V Volt

A Amper

Page 11: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

1

1. GĠRĠġ

Günümüzde insanlar çalışma hayatlarının dışında kalan zamanı genellikle park, bahçe,

alış-veriş merkezi gibi mekanlarda geçirmektedir. Dolayısı ile hayatımızda önemli yeri

olan bu mekanların estetiği insanlar için önemlidir.Biz de bu görselliğin mühendislik

imkanları ile geliştirilebileceğini düşündüğümüz için yazılım ve donanım sistemlerini

kullanarak su gösterisi projesi yapmayı uygun gördük.

Her gün değişen ve gelişen teknoloji ile birlikte artan imkanların katkısını kullanarak

alışılmışın dışında bir proje yapmayı hedefledik. Bu hedef doğrultuda elektronik valflerin

anahtarlama özelliğinden yararlanarak suyun akışını kontrol edebilme ve bu control

doğrultusunda suyu istediğimiz aralıklarla akıtarak harf veya çeşitli şekiller oluşturmayı

hedefledik. Bu hedefe ulaşmaya çalışırken mikroişlemcilerin programlanabilme ve kontrol

edilebilme özelliklerinden yararlandık. Programlamayı da günümüzde kullanım rahatlığı

sağlayan ve yaygın olan yazılım dili C programlama dili ile yapmaya karar verdik.

Page 12: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

2

2. TEORĠK ALTYAPI

2.1. C Programlama Dili

Programlama Dili bilgisayarda çözülecek bir sorun için çözümün bilgisayara

yazılmasını sağlayan kuralları olan ve bu kurallara bağımlılığı gerektiren tanım kümesidir.

C Programlama Dili genel amaçlı orta seviyeli ve yapısal bir programlama dilidir.

Esnek yapısı ile donanım denetiminden iletişim sistemi yazmaya kadar çeşitli uygulama

alanlarında kullanılır. C dili, düşük seviyeli dillerin özellikleri ile yüksek seviyeli dillerin

özelliklerini taşır [1].

2.1.1. Neden C ?

C Programlama Dili'ni popüler kılan önemli nedenler aşağıda sıralanmıştır.

• C, güçlü ve esnek bir dildir. C ile iletişim sistemi veya derleyici yazabilir, kelime

işlemciler oluşturabilir veya grafik çizebiliriz.

• C, iyi bir yazılım geliştirme ortamına sahiptir.

• C, özel komut ve veri tipi tanımlamaya izin verir

• C, taşınabilir bir dildir.

• C dilinin gelişimi tamamlanmış ve standardı oluşmuştur.

• C, yapısal bir dildir. C kodları fonksiyon olarak adlandıralan alt programlardan

oluşur.

• C++, Java, JavaScript, JavaApplet, PHP, C#, ... gibi diller C dilinden esinlenmiştir[1].

• Tasarım özellikleri çok iyidir. C „ye ilişkin yapıların ve operatörlerin bir kısmı daha

sonra diğer diller tarafından da benimsenmiştir[2].

• Algoritmik bir dildir. Dilin sintaks ve sematik yapısını bilmek yetmez. Problemleri

çözebilecek bir algoritma bilgisine de ihtiyaç vardır[2].

• Atomik bir dildir.C de alt programlama tekniği ileri düzeyde kullanılmaktadır[2].

• Sistem programlama dışında da birçok uygulama da c dili kullanılmaktadır.

Page 13: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

3

2.1.2. C Kodlarının Temel Özellikleri

Bir C programı aşağıdaki özellikleri mutlaka taşımalıdır.

• Yazılımda kullanılacak olan her fonksiyon programın başına eklenmelidir.

• Her C programında main() fonksiyonunu bulunmalıdır.

• Program içinde kullandığımız değişkenler ve sabitler mutlaka tanımlanmış olmalıdır.

2.1.3.DeğiĢken Nedir?

Değişkenler, girdiğimiz değerleri alan veya programın çalışmasıyla bazı değerlerin

atandığı, veri tutucularıdır. Değişken tanımlamaysa, gelecek veya girilecek verilerin ne

olduğuna bağlı olarak, değişken tipinin belirlenmesidir. Yani a isimli bir değişkeniniz

varsa ve buna tamsayı bir değer atamak istiyorsanız, a değişkenini tamsayı olarak

tanıtmanız gerekir. Keza, a'ya girilecek değer eğer bir karakter veya virgüllü sayı olsaydı,

değişken tipinizin ona göre olması gerekirdir[3].

C programlama dilinde kullanılan değişkenler Ek-3‟te belirtilmiştir.

2.1.4. C Ve Assembly Arasındaki Farklar

C dili derlendiği zaman çok kompakt bir hale geldiği için yüksek seviyeli bir dil olduğu

unutulur ve bir makro assambler gibi düşünülür. Oysa c dilinde aritmetik işlemler parse

edilir ve birden fazla runtime‟da(çalışma zamanında) işlenecek kod üretilir. Makina

dillerinden bağımsız olan komutlar, döngüler kullanılır.Ayrıca aynı işlevi gören bir c

programı assembly programından daha kısadır. Assembly‟de yazdığınız programın hangi

satırlarının ne iş yaptığını bir süre sonra anlamayabilirsiniz. Çünkü anlaşılması zor ve

karmaşık bir dildir.Bu nedenle kodların sonuna açıklama bölümleri eklemek gerekir.Ayrıca

işlemciye birebir bağımlıdır.Ancak assembly dilinin şöyle bir avantajı vardır.İşlemcinin

gücünü en iyi şekilde ortaya çıkarabilecek tek programlama dilidir. Çok hızlı çalışır[4].

2.1.5. Döngü Kavramı

Programlama konusunda en önemli yapılardan biri döngülerdir.Döngüler, bir işi,

belirlediğiniz sayıda yapan kod bloklarıdır.Ekrana istediğimiz kadarişlenilen kodu yazdıran

bir programda aslındakodu tek bir defa yazarız döngü burada devreye girip, bizim için bu

Page 14: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

4

kodu istediğimiz sayıda tekrarlar. Döngülerde en önemli unsur iyi yazılıp, optimize

edilmediği takdirde, bilgisayarınızın işlem gücünü gereksiz yere tüketmesi ve harcanan

zamanı arttırmasıdır. Benzer şekilde, iyi yazılmış bir döngü, programınızı hızlı

çalıştıracaktır.Bitirme projemiz de kullandığımız program adımı for ve while()

yapılarıdır[5].

2.1.5.1. For Döngüsü

While döngüsünden farklı olarak for yapısı, yenilemeli-tekrarlamalı yapılarda kullanıma

daha uygundur.For döngüsünün yazım tekniği daha kullanışlıdır. Programlarda, while

döngüsünden çok daha fazla for kullabiliriz. Çünkü for sadece matematiksel hesaplama

işlemlerinde değil, diziler gibi konularda sürekli kullanılan bir yapıya sahiptir[5].

ġekil-1. For akış diyagramı

For akış diyagramı Şekil-1‟de gösterilmiştir.

Komutlar

Artırma

Azaltma

Değer Atama

Koşul

Page 15: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

5

2.1.5.2.While() Döngüsü

Ana program içerisinde yazdığımız program parçasını, programın koşması

sonlandırılana kadar sistem içinde sonsuz döngüye sokar. Bu döngüyü kullanmamızdaki

amaç, ana programın içerisine yazdığımız komutları biz işlemimizi sonlandırana kadar

sistemde gözlemlemek olmuştur.

2.1.6. Else if KoĢulu

Else if komutları birden fazla koşul yazmak için beraber kullanılan iki ifadedir[6]. Else

if‟in akış diyagramı Şekil-2‟de gösterilmiştir[7].

ġekil-2. Else if akış diyagramı

Koşul 1

Koşul 2

Koşul N

Komutlar 1

Komutlar 2

Komutlar N

Komutlar

yanlış

yanlış

yanlış

doğru

doğru

doğru

Page 16: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

6

2.1.7. Zaman Geciktirme

Zaman geciktirme döngüleri, giriş-giriş, giriş-çıkış , çıkış-çıkış işlemlerinde belirli

zaman aralıklarında birbirlerine bağlı yapılar oluşturur. Örneğin iki LED‟in flip -flop gibi

çalıştırılması için önce bir LED‟in programda belirlenen süre kadar yanması ve daha sonra

bu LED‟in sönerek diğer LED‟in yanması gerekir. İkinci LED‟in yanması için birinci

LED‟in sönme ön şartında geçen zaman, zaman gecikme döngüleri ile sağlanır.

Buton uygulamalarında ise butonun basılıp bırakılma durumunda kontaklarında oluşan

ark, giriş bilgisinin “1” ve “0” lar arasında sürekli olarak değişmesine neden olur.

İstenilmeyen bu durumu önlemek için buton kontrolünde zaman gecikme döngüleri

kullanılır.Böylece buton kontaklarında “1” ve “0” lardan oluşan istenilmeyen arklar oluşsa

dahi gecikme süresi içerisinde meydana gelen bu olaylar devrenin çalışmasını

etkilemez[8].

Projede yazdığımız programda geciktirme komutu aşağıda gösterilmiştir.

void geciktirme(void)

volatile unsigned int a;

for (a=0;a<=60000;a++);

Yukarıda gösterilen for döngüsüyle birlikte 1‟den 60000‟e kadar boş döngü

oluşturularak gecikmenin yaklaşık olarak 1saniye olması sağlandı. Bu sürenin program

içerisinden milisaniyelere kadar indirilmesi mümkündür.

2.1.8. Diziler

Dizi, aynı işi yapan verilere tek bir isimle erişmek için kullanılan bir yapıdır.Bir dizinin

içerisindeki veriler bellekte ard arda saklanır. Bu yüzden diziler program içerisinde

çağırıldığı zaman dizi içerisindeki veriler de tek tek çağırılmış olur[9].

2.1.9. Fonksiyon Tanımlama

C dilinde yazılan programlar, fonksiyon olarak tanımlanan alt programlardan

oluşmaktadır. Bu fonksiyonlar main() ve void main() gibi komutlarla oluşturulur. Main()

komutu ana fonksiyonun oluşturulmasında kullanılırken void main() komutu ise alt

Page 17: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

7

fonksiyonların oluşturulmasında kullanılır. void main() fonksiyonları tek tek main()

fonksiyonun içinde belirtilmektedir. Bu sayede ana program içinde çağırılan fonksiyonlar

ana fonksiyonda koşturularak programın çalıştırılması sağlanır.

2.1.10. Yazılan Programın ÇalıĢma Prensibi

Ek-1‟de verilen yazmış olduğumuz programla birlikte MSP430F169 işlemcisi

programlanmıştır.Bu program yazılırken alfabenin tüm harfleri matris olarak yazılmış ve

tüm matristeki satırlar tek tek hexadecimal kodlara dönüştürülmüştür.Her harf için

fonksiyonlar oluşturularak fonksiyonlar altında bu kodlar diziler içine

kaydedilmiştir.Kaydedilen diziler işlemcinin Port1 ve Port2 çıkışlarına atanmıştır.Ayrıca

her harf için tanımlanan bu fonksiyoların sonunda geciktirme fonksiyonu çağırılarak

gecikme sağlanmıştır.Bu gecikmeler, her harf tek tek görüntüleneceği için harflerin

birbirine karışmasını engellemiştir. Ana programda else if komutu, deklerasyon olarak

tanımlı olan char karakter dizisinin içine yazılan kelimedeki harfleri tek tek tarayıp

karakter eşleşmesi yaptıktan sonra ilgili harfe ait fonksiyon içerisinden matrisi çağırıp

harfe ait hexadecimal kodları işlemcinin çıkış portlarına atar.

2.2. MikroiĢlemciler

2.2.1.MikroiĢlemci Nedir?

Mikroişlemciler, bilgisayar sisteminin beyni diye tabir edilen elemanlarıdır .Yani

bilgisayar olaylarını ı kontrol ederek veri işleme işlevlerini yerine getiren elemana

diyoruz. Kısaca işlemci veya CPU,(ki işlemci ile CPU aynı manaya da gelebilir) kullanıcı

ya da programcı tarafından yazılan programları meydana getiren komutları yorumlayan

ve yerine getiren tüm devreleri kapsıyor[10].

CPU olarak da bilinen ana işlem biriminin ana bileş eni olan mikroişlemciler, sistem

fonksiyonların devre dahilinde programlanabilir bir şekilde çalışmasını sağlıyor.

Elektronik ortamda sayısal bilgilerin işlenmesini ve programlanmasını sağlayan

mikroişlemciler, CPU biriminde kullanılan kelime boyutunun 32 den 4 bit seviyesine

düşürülmesi ile ortaya çıkmıştır. Ana işlemci birimi mantıksal devreler kullanarak sistem

fonksiyonlarının düzenlenmesini sağlamakla beraber devrede kullanılan transistörler ,

mikroişlemci sayesinde tek modüle sığdırılabilir hale getirilmiştir[11].

Page 18: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

8

Pratikte, mikroişlemci ve CPU, yani merkezi işlem birimi (central processing unit)

terimleri aynı şeyi belirtmektedir.Bu birçok insanın bilgisayarın beyni olarak tanımladığı

ve sistemin içindeki en önemli parçadır.

Mikroişlemciler CPU performansı çok önemli bir gelişme olduğu gibi, aynı zamanda

fiyat bakımından da çok ucuza maledilebilmektedir. Fiyat açısından büyük bir düşüş

yaşanmasını sağlayan mikroişlemci teknolojisi, devam eden yıllarda hızla dünya

geneline yayılacak olan ev tipi bilgisayarların da önemli bir elemanı haline

gelmiştir[12].

2.2.2.Tarihçesi

Mikroişlemcileri piyasaya ilk süren şirket Amerikan Intel firmasıdır. Intel'in

egemenliği halen devam ediyor. Intel, zaman içinde çok çeşitli mikroişlemciler üretti. Bu

mikroişlemci çeşitliliği tek başına zaten çok karışık iken bir de Intel'in rakipleri daha

değişik mikroişlemciler ile piyasaya girince karışıklık daha da büyümüş. Intel'in

mikroişlemcileri diğer üreticiler için iyi bir model oluşturmakta ve bazen Intel'in

kendisinin ürettiği mikro işlemcilerden daha iyileri yani kopyaları piyasayı

doldurmuştur. Intel'in rakipleri tarafından üretilen mikroişlemcilerin önemli bir bölümünün

uyumluluğu test edilmiş, güvenilir işlemcilerdir. Gönül rahatlığıyla bu işlemcileri

alabilmemiz mümkündür[13] .

2.2.3. MSP430F169

Texas Instruments‟ın üretmiş olduğu düşük güçlü mikrodenetleyicisi MSP430 ailesi,

özellikle düşük güç uygulamaları için tasarlanmıştır. Düşük güç tüketimi 5 farklı güç modu

ile ayarlanır. Güçlü 16 bit RISC CPU mimarisi, 16 bit saklayıcıları ile maksimum

verimlilik amaçlanmıştır. Dijital olarak kontrol edilen osilatörü (DCO) sayesinde düşük

güç modlarından aktif moda 6 µs „den daha az sürede uyandırmaya izin verir.Bu “hızlı

uyanış” düşük güç tüketiminin temel mantığını oluşturur.Seri haberleşme arayüzü

(USART0 ve USART1) istenirse SPI, I2C UART modunda çalıştırılabilir.

Fazla sayıda bacağa sahip olması bizim projemizde bu mikroişlemciyi tercih etmemizde

etkin oldu.16 tane elektronik selenoid valfle yaptığımız bu projeyi kontrol edebilmemiz

için 16 tane bacağa ihtıyacımız olduğu için ve daha bağlamamız gereken JTAG arayüzü ve

diğer yan bağlantılar gerektiği için bu işlemciyi tercih ettik.

Page 19: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

9

Proje de öncelikle biz C++ ile yazdığımız programı JTAG arayüzü aracılığıyla

assembler diline çevriliyor; bu programı da MSP430F169‟un içine atarak devreyi bu

şekilde kontrol ettik[14].

2.2.4.MSP430F169 Özellikleri

64 bacak

60Kb+256byte Flash Memory,

2Kb RAM.

JTAG ile programlanabilir

RS232 sürücü + DB9 konnektörü

Kullanıcı düğmesi

Güç kaynağı LED‟i

Kullanıcı durum LED‟i

32.768 kHz osilatör kristali

RESET düğmesi

RST/NMI yukarı çekme pini

AC veya DC güç kaynağı harici güç kaynağı girişi

Voltaj regülatörü ve güç kaynağı filtreleme kapasitörü

Her uç pin için uzatma başlıkları

0,1 adım, Vcc + GND otobüsü ile Prototip alanı[15].

Düşük besleme voltajı aralığı 1,8V-3,6V,

Aşırı düşük güç tüketimi;

Aktif mod=1,1 µA 1 MHZ‟ de 2,2V‟da

Hazır bekleme modu

Kapalı modu (RAM saklama) =0,2 µA

6 µs „den daha az zamanda stand-by modundan uyanma,

16 bit RDSC yapısı, 125 ns komut çevrim zamanı,

3 kanal dahili DMA,

12 bit A/D dönüştürücü dahili referans ile model ve tutma ve autoscan özelliği,

Çift 12 bit DA senkronizasyonlu dönüştürücü,

Giriş gerilimini kontrol eden denetleyici[14].

Page 20: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

10

Bir önceki sayfada verilen MSP430F169 işlemcisinin özelliklerinden ilk 16‟sı Kaynak

[15]‟den alınmıştır.

2.2.5. JTAG Arayüzü

JTAG, tüm MSP430 mikroişlemci ailesinin programlasında kullanılan bir arayüzdür.Bir

nevi MSP430'u JTAG arayüzü üzerinden programlamak mümkündür. MSP430 JTAG

portu üzerinden işlemcinin flash ve FRAM bellek bölgesi programlanabilmektedir. FRAM

belleği ferroelektrik RAM bellek olarak tanımlanmaktadır.Bu bellek data okuma ve yazma

işlemlerini normal bir RAM belleğe göre daha hızlı yapabilmektedir.JTAG arayüzü 4

kablolu ve 2 kablolu olmak üzere 2 çeşittir. Ancak MSP430un tüm çeşitleri 4 kablolu

JTAG'ı desteklerken bazıları da 4 kablolunun yanı sıra 2 kablolu JTAG arayüzünü de

desteklemektedir. Bunları kullanarak bilgisayar üzerinden MSP430 işlemciye erişilebilir.

Bu arayüzleri birbirlerine göre kıyaslarsak 2 kablolu JTAG, 4 kablolu JTAG'a göre

daha yavaştır. 2 kablolu JTAG'ın TEST ve RST olmak üzere iki adet pini mevcutken 4

kablolu JTAG'in 4 tane GPIO (Generel Purpose Input Output) pinleri bulunmaktadır.

Ayrıca 4 kablolu JTAG kullanırken diğer pinler kullanılamaz.

2.2.5.1. 4 Kablolu JTAG Arayüzü

Normal bir JTAG arayüzünden data alışverişi yapmak için 4 sinyal gereklidir.Büyük

MSP430 işlemcisinde bu sinyalleri iletmek için gerekli pinler mevcuttur.Ancak küçük

MSP430 işlemcisinde TEST pininden uygulanması gereken ek bir sinyal daha

gereklidir.Ayrıca besleme ve toprak bağlantıları da yapılmalıdır. 4 kablolu JTAG pinleri ve

gereklilikleri;

•TMS pini giriş pinidir. JTAG'a giden sinyalleri kontrol etmemize yarar.

•TCK pini giriş pinidir. JTAG'ın clock girişidir.

•TDI pini giriş pinidir. Data girişi bu pinden sağlanır.

•TDO pini çıkış pinidir. Data çıkışı bu pinden sağlanır.

•TEST pini giriş pinidir. JTAG pinlerinin etkinleştirilmesini sağlar.

MSP430 ile JTAG arayüzü arasındaki haberleşmeyi sağlam için TEST pininin

etkinleştirilmesi gerekmektedir.

Page 21: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

11

2.2.5.2. 2 Kablolu JTAG Arayüzü

2 kablolu JTAG'ın 4 kablolu JTAG'a göre bazı dezavantajları vardır.Ancak 2 kablolu

JTAG'a ek bir mantıkla 4 kablolu JTAG'daki gibi haberleşme sağlamak mümkündür.2

kablolu JTAG arayüzünde 2 adet pin mevcuttur. Bunlardan biri SBWTCK (Spy-Bi-Wire

test clock) pinidir ve bu pin clock girişidir. Normal çalışmada bu pin resetlenir. Diğeri ise

SBWTDIO (Spy-Bi-Wire test data input/output) pinidir ve çift yönlü data aktarımını sağlar

ve 2 kablolu JTAG'ın yükünü azaltır.

2.2.6. JTAG EriĢim Makroları

JTAG iletişim makroları ve bunların işlevleri şunlardır;

•IR_SHIFT makrosu 8 bitlik bilgiyi gerekli registerin içine kaydırır. Bu 8 bitlik değeri

TDO yoluyla kaydırır.

•DR_SHIFT16 makrosu 16 bitlik kelimeyi JTAG data registerine kaydırır ve bu 16

bitlik değeri TDO yoluyla kaydırır.

•DR_SHIFT20 makrosu 20 bitlik adres kelimesini JTAG'ın Adress Bus'ına kaydırır ve

bu 20 bitlik değer TDO yoluyla kaydırılır.

•MsDelay makrosu milisaniyeler mertebesinde geciktirme yapar.

•SetTCLK makrosu TCLK pinini setler.

•ClrTCLK makrosu TCLK pinini resetler.

•TDOvalue makrosu son değişkeni içeren değer TDO üzerine kaydırılır[16].

2.3. Transistör Nedir ?

Transistör kelimesi transfer ve rezistans kelimelerinin bir araya gelmesi ile oluşmuştur.

Transistör iki PN diyotunun birleştirilmesiyle oluşur. Yapısı her ne kadar diyotun yapısına

benziyor olsa da çalışması farklıdır. Transistör girişine uygulanan işaretleri yükselterek

gerilim ve akım kazancı sağlar.Bu yüzden yükselteç devrelerinde kullanılır.Transistörler üç

kutuptan oluşmaktadır; Emitör(E) , Kollektör(C) , baz(B) dir.

Emitör (E): Akım taşıyıcıların harekete başladığı bölgedir. Yayıcı olarakta

adlandırabiliriz.

Kollektör (C): Akım taşıyıcıların toplandığı bölgedir. Toplayıcı olarakta

adlandırabiliriz.

Page 22: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

12

Baz (B): Transistörün çalışmasını etkileyen bölgedir. Taban olarakta adlandırabiliriz.

Transistörler NPN ve PNP olmak üzere iki ana çeşiti vardır[17].

2.3.1. NPN tipi transistor

NPN tipi taransistörler iki N tipi yarı iletken malzeme arasına P tipi yarı iletken

malzeme yerleşitirilmesi ile meydana gelir.P tipi yarı iletken beyz tabakasını oluşturur ve

bu tabaka elektron geçişini kontrol etmektedir.

ġekil-3. NPN tipi transistör

Şekil-3‟te NPN transistörünün sembolü ve iç yapısı gösterilmiştir. NPN tipi

transistörlerin yukarıdaki şekilden de görüldüğü üzere Vbb kaynağının artı ucu P tipi yarı

iletkeni pozitif yükler.Vcc kaynağının eksi ucu emetöre bağlıdır ve bu kutuptaki elektronlar

yukarı doğru itilir. P tipi yarı iletken tarafından bu elektronlar çekilir[18].

-

+ +

-- --

------- +

- Vcc

+ - Vbb

N

P

N

B

C

E

Page 23: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

13

ġekil-4. NPN tipi transistörün diyot ile gösterimi

Şekil-4‟te NPN transistörünün diyot ile gösterimi verilmiştir.

„NP „ Emitör - Baz diyot

„PN‟ Baz – Kollektör diyot

Emitör „den akan akım kolektörden ve beyz ‟ den akımların toplamına eşittir.

𝐼𝑒 = 𝐼𝑏 + 𝐼𝑐 (1)

𝐼𝑒 = 𝛽 + 1 ∗ 𝐼𝑏 (2)

Denklem (1) ve (2)‟de NPN transistörle ait akım denklemleri verilmiştir.

NPN tipi transistör de ;

Emitere negatif (-) gerilim , kolektöre pozitif (+) gerilim , beyze ise pozitif (+) gerilim

uygulanır[17].

2.3.2. PNP tipi transistor

PNP tipi transistör iki P tipi yarı iletken malzemenin arasına N tipi yarı iletken malzeme

yerleştirilmesi ile meydana gelir. Burada N tipi yarı iletken beyz tabakasını oluşturur ve bu

tabaka elektron geçişini kontrol etmektedir.Yapısı NPN transistörlerin yapısı gibidir.

B

N P N

E C

Page 24: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

14

ġekil-5. PNP tipi transistör

Şekil-5‟te PNP transistörünün sembolü ve iç yapısı verilmiştir.

PNP tipi transistörlerin yukarıdaki şekilden de görüldüğü üzere Vbb kaynağının eksi

ucu N tipi yarı iletkeni negatif yükler. Vcc kaynağının eksi ucu kollektöre bağlıdır ve bu

kutuptaki elektronlar aşağı doğru itilir. N tipi yarı iletken tarafından bu elektronlar

çekilir[19].

ġekil-6. PNP tipi transistörün diyot ile gösterimi

Şekil-6‟da PNP tipi transistörün diyot ile gösteriliş şekli verilmiştir.

„PN„ Emitör - Baz diyot

„NP‟ Baz – Kollektör diyot

B

P N P

E C

-

- -

++

++

++++ -

- Vcc

- - Vbb +

P

N

P

B

C

E

+

Page 25: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

15

Emitör „den akan akım kolektörden ve beyz‟den akımların toplamına eşittir.

𝐼𝑐 = 𝐼𝑒 − 𝐼𝑏 (3)

𝐼𝑐 = 𝛽 ∗ 𝐼𝑏 (4)

(3) ve (4) numaralı denklemlerde PNP transistörün akımlarının bağıntıları verilmiştir.

PNP tipi transistör de ;

Emitere pozitif (+) gerilim, kolektöre negatif (-) gerilim, beyze ise negatif (-) gerilim

uygulanır.

2.3.3. Transistör ÇeĢitleri

Yüzey Birleşmeli ( Jonksiyon ) Transistör

Nokta Temaslı Transistörler

Unijonksiyon Transistörler

Alan Etkili Transistörler

Foto Transistörler

Tetrot ( dört uçlu ) Transistörler

Koaksiyal Transistörler[20]

Bu transistor çeşitleri Kaynak [20]‟den alınmıştır.

2.3.4. Transistörlerin kullanım alanları

Transistörler elektroniğin her alanında kullanılan devre elemanlarıdır.Elektroniğin en

önemli parçasıdır taransistör.Transistörler girişine uygulanan işaretleri yükselterek gerilim

ve akım kazancı sağlarlar, bu özelliği sayesinde yükselteç olarak çalışma özelliğine

sahiptirler.Bir yandan da anahtarlama elamanı olarak kullanılır, bu kullanımı elektronikte

daha yaygındır.Bizim projemizde transistörler bu kullanım yönüyle öne çıkmaktadır.

2.3.5. Transitör Ġle Anahtarlama

Transistörlerin elektronikte anahtarlama elemanı olarak kullanılması çok

yaygındır.Transistörler kesim, aktif, doyum olmak üzere üç bölgede çalışırlar.Kesim ve

doyum noktasında çok hızlı gidip gelen transistör iyi bir anahtarlama

elamanıdır.Transistörün beyz potansiyeli kolektör potansiyelinde olur ise aktif duruma

Page 26: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

16

geçer.Daha net açıklıyacak olursak NPN tipi transistörlerde kolektör pozitif (+), emitör ise

negatif (-) porlama olduğunda beyz silisyum da 0.7V, germanyum da 0.3V daha pozitif (+)

olması gerekir emitöre göre böylece transistör iletime geçebilsin. PNP tipi transistörlerde

ise kolektör negatif (-), emitör pozitif (+) porlama olduğunda beyz silisyum da 0.7V,

germanyum da 0.3V daha negatif (-) olması gerekir emitöre göre ve böylece PNP

transistörüde iletime geçer[21].

Transistörler motor, bobin, lamba gibi gücü yüksek olan ve lojik kapı devrelerinde

anahtarlama elemanı olarak kullanılır[22].

Projemizde anahtarlama yapmak için BD135 transistörünü kullandık. 16 adet

selenoidsu valfi kullandığımız için 16adet anahtarlama devresine ihtiyacımız oldu.

Solenoid su valfini mikroişlemci ile kontrol ettiğimiz bu projede MSP430F169

işlemcisinikullandık. Bu işlemcinin her bir bacağını transistörün baz girişine bağladık.

Şekil-7‟de kullandığımız anahtarlama devresi gösterilmiştir.

ġekil-7. Anahtarlama devresi

Şekil-7‟de görüldüğü gibi işlemcimizin her bir bacağında üretilen işaretimizi transistöre

ilettik ve üretilen bu 0 ve 1 „ler ile transistörümüzü kesim ve doyuma soktuk.Bu kesim ile

doyum arasında hızlı bir anahtarlama yaptık.Bu anahtarlamayı Ek-1 de belirtilen

programda gerçekleştirdik.

M

S

P

4

3

0

BD 135

Vcc=12 V

VALF

R= 1kΩ

-

Page 27: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

17

İşaretimiz 0 da iken transistörümüz OFF konumunda valfimiz ise ON konumundadır.

IB=0, IC=0.4A, VCE=0V olur. İşaretimiz 1 de iken transistörümüz ON konumunda valfimiz

ise OFF konumundadır. IB=0.3mA, IC=36mA, VCE=2V olur.

Böylece mikroişlemciye yüklenen program ve transistörümüzün anahtarlama özelliği

sayesinde valfimizi istediğimiz sürede açıp kapamayı sağladık.

2.4. Selenoid Valfler

Hidro Yunancadan dilimize girmiş olan "su" anlamındaki sözcükdür.Hidrolik ise suyun

boru içerisindeki hareketlerini açıklayan bir terimdir. Hidrolik sistemler suyun akışını esas

alan bir sistemdir. Hidrolik sistemlerde kullanılan en önemli techizatların başında valfler

gelmektedir.Elektronik gelişmeye başladıktan sonra valfler de endüstriyel uygulamalarda

kontrol amaçlı kullanılmaya başlanmıştır. Valflerin hidrolik sistemlerde kullanılış nedenini

göz önüne alırsak, endüstriyel uygulamalarda suyun hareketinin veya bir başka

durumlarının kontrol edilebilmesini valfle sağlayabiliriz[23]. Endüstriyel uygulamalarda

tercih edilme nedenleri:

1) Güvenilirliklerinin yüksek olması

2) Bir sistem oluşturulduğunda sistemin diğer parçalarına olan bağlantılarının kolay

olması

3) Uygulanan gerilime karşı verdiği tepkinin hızlı olması. Bunun nedeni de iletimin

elektriksel olmasındandır.

4) Dayanıklıdır ve uzun müddet bir sistem içinde kullanılabilir.

5) Düşük güçlerde çalışabildiklerinden sarfettiği enerji düşüktür[24].

Selenoid valfler hidrolik sistemlerinde kullanılan ve elektrikle çalışan bir valf

çeşididir[25].

Selenoid valfler isminden de anlaşılacağı üzere bir diğer adı bobin de olan makaraya

sarılmış selenoidden meydana gelmektedir[26]. Selenoid valfin esas görevi anahtarlama

yaparak suyun akışını kesmek veya iletmektir. Bunu da içerisinde barındırdığı bobine

uygulanan elektriksel gerilimle meydana getirmektedir[27]. Yani giriş ile çıkış arası

anahtarlama özelliğine sahip bir elemandır[26]. Valfler, bobine uygulanan DC veya AC

gerilimler altında çalışırlar[27]. Bobine uygulanan elektriksel gerilim, selenoidde manyetik

alanın oluşmasını sağlar. Oluşan manyetik alan, manyetik kuvvetle birlikte selenoid valfin

sıvı akışını sağlayan veya kesen kısmını yayla bir mekanizmayla birlikte hareket ettirerek

Page 28: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

18

sıvının akışını kontrol edebilmemiz mümkündür. Eğer bobin uçlarına uygulanan gerilim

kesilirse oluşan manyetik alan da manyetik kuvvet de kaybolacağından yay tekrar eski

konumuna dönerek sıvının akışını kesmiş olur[26]. Selenoid valfi oluşturan parçalar ve bu

parçaların görevleri şunlardır:

1) Bobin: İletken telin sarılmasıyla oluşturulan ve elektriksel iletimi sağlayan bir

elemandır.

2) Bobin uçları: Bobinin dış ortama çıkarılmış olan uçlarıdır. Bu uçlara uygulanan

elektriksel gerilimle birlikte selenoid valfin çalışması sağlanır.

3) Çekirdek: Bobin sarımlarının sarıldığı ve manyetik alan oluşturularak hareketli

parçanın hareketini sağlayan elemandır.

4) Hareketli çekirdek: Oluşturulan manyetik alan ile birlikte hareket ederek yayı

sıkıştırmaya yarayan kuvveti sağlayan elemandır.

5) Yay: Selenoid valfin hareketli parçacığın uyguladığı kuvvete karşı kuvvet uygulayan

bir parçadır. Hareketli kısmın uyguladığı kuvvet yay kuvvetinde büyükse yay sıkışarak

valfin açılması sağlanır.

6) Disk: Giriş ile çıkış arasındaki iletimi sağlayan ve yayın uyguladığı kuvvetle hareket

eden parçadır.

DC gerilim altında çalışan valfleri üç başlık altında sınıflandırabiliriz.Bunlar ;

a) Basit aç kapa yapan selenoid valfler

b) Oransal selenoid valfler

c) Hızlı anahtarlamalı valfler [27].

2.4.1. KullanmıĢ olduğumuz selenoid valfin çalıĢma koĢulları

Anahtarlama yapabilme özelliğine sahip olan ve devremizde kullandığımız selenoid

valf üzerinde yapılan testler sonucunda saniyede 30 kez açma-kapama

yapabilmektedir.Ayrıca yapılan testler sonucunda kullandığımız valf 12 V DC gerilim ve

400 mA‟lik DC akım altında çalışmaktadır.

Page 29: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

19

ġekil-8. Projede kullanılan solenoid valf

Şekil-8‟de projemizde kullanılan valf gösterilmiştir. Gösterilen solenoid valf normalde

suyu püskürterek akıtmaktadır. Fakat bizim projemizde amaçlanan suyun damla damla

akışını kontrol etmektir. Bu yüzden suyu tanelerini bir araya toplama ve püskürtmeyi

engelleme amacı ile valflerin çıkışlarına pipetler silikon yardımı ile monte edilmiştir.

Page 30: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

20

3. TASARIM

3.1. Projede Kullanılan Bilgisayar Programları

3.1.1. IAR Embedded Workbench

IAR Embedded Workbench Kickstart MSP430 mikro denetleyiciler için gömülü

uygulamaları oluşturmak ve hata ayıklamak için bir tümleşik geliştirme ortamıdır

(IDE).IDE bir kod boyutu ile sınırlı C-Compiler/Unlimited Assembler / Debugger /

Simülatör FET içerir. C / C + + derleyicisi‟nin kod büyüklüğünün sınırlaması geleneksel

MSP430 cihazlar için 4 Kbyta, MSP430X cihazları için ise 8 Kbyta 60 Kb„dan büyük

bellekler ile ayarlanır.Debugger karmaşık kod ve veri kesme desteği ile kaynak ve

demontaj düzeyinde hata ayıklama için tam bir entegre ayıklama aracıdır[28].

3.1.1.1. IAR Embedded Workbench’in Özellikleri

Proje yönetim araçları ve editörü ile entegre geliştirme ortamı

MSP430 için son derece optimize C ve C + + derleyicisi

MSP430x5xx dahil olmak üzere tüm MSP430 cihazlar için yapılandırma dosyaları,

FET debugger desteği

Çalışma zamanı kütüphaneleri

MSP430 assembler‟a taşımak

Bağlayıcı ve kütüphaneci araçları

MSP430 simülatörü ve donanım RTOS-farkında hata ayıklama desteği ile IAR C-

SPY Debugger

MSP430 ve kod şablonları için örnek projeler

Kullanıcı ve PDF formatında referans kılavuzları

Bağlam duyarlı çevrimiçi yardım

Page 31: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

21

3.1.2. Eagle

EAGLE kolay kullanımlı, grafik arayüzlü güçlü bir PCB tasarım aracıdır.Projemizde

eagle ile birlikte devrelerimizin şematiğini oluşturduk ve bu şematikten baskı devreye

geçişini sağlayarak bakır yolları belirledik. Belirlenen bu yolların tasarımı bizim

anahtarlama ve işlemci programlama devresinin oluşturulmasını sağladı[29].

Şekil-9‟da MSP430F169 işlemcisinin programlama kitinin PCB kartı gösterilmiştir.

ġekil-9. MSP430F169 işlemcisi programlama kitinin PCB kartı

Page 32: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

22

ġekil-10. Transistörlü anahtarlama devresinin PCB kartı

Şekil-10‟da transistörlü anahtarlama devresinin PCB kartı verilmiştir.

Page 33: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

23

SONUÇLAR

Bu çalışmada MSP430F169 işlemcisi ile kontrol edilebilen su ile yazı yazma düzeneği

gerçekleştirilmiştir.Bu proje daha da geliştirilebilir bir proje olup, projede yazılan program

ile transistörlü anahtarlama devresi işlemci tarafından anahtarlanarak selenoid valflerin

kontaklanması sağlanmıştır. Düzenekten akan su valflerden geçerek suyun damla damla

akışı sağlanıp istenilen şekiller ortaya çıkarılmıştır.

Bu projede bir işlemcinin nasıl programlanabileceği, bu program ile birlikte herhangi

bir sistemin nasıl kontrol edilebileceği ve bu kontrol aşamasında hangi elemanların seçilip

buna uygun devreler tasarlanabileceği öğrenilmiştir.

Page 34: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

24

YORUMLAR VE DEĞERLENDĠRME

Bitirme Projesi kapsamında yapılan bu çalışmanın üniversite projeleri kapsamında bir

ilk olduğundan gelecek senelerde bu ve bunun gibi göze hitap eden projelerin daha da

artmasına öncü olacağını düşünüyoruz. Farklı bir çalışmanın içinde bulunduğumuz ve bu

anlamda ilk olduğumuz için projemizin daha da geliştirilebilir yanlarının olduğu

kanısındayız. Geliştirilebilirlik açısından önerilerimizi şu şekilde sıralayabiliriz:

Daha fazla selenoid valf kullanılarak çözünürlük artırılabilir.

İşlemci ile kontrol ettiğimiz bu proje bilgisayar kontrolü ile çalıştırılabilir.

Kontaklama süresi daha kısa olan selenoid valfler kullanılarak daha zor şekiller

görsel olarak sunulabilir.

Page 35: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

25

KAYNAKLAR

[1]. (2012) C Programlama Diline Giriş. [Online]. Available:

http://www1.gantep.edu.tr/~bingul/c/index.php?ders=1

[2]. (2012) Programlama Dilleri Ve Özellikleri. [Online]. Available:

http://www.korkmazsuleyman.blogcu.com/programlama-dilleri-ve-

ozellikleri/5841388

[3]. (2012) C Programlama Dersi. [Online]. Available:

http://www.cagataycebi.com/programming/c_programming/c_programm

ing_2.html

[4]. (2013) Assembly Nedir. [Online]. Available:

http://www.bilgisayardershanesi.com/Y800-assembly-nedir.html

[5]. (2013) C Programlama Dersi. [Online]. Available:

http://www.cagataycebi.com/programming/c_programming/c_programm

ing_5.html

[6]. (2013) C Programlama Dili/Koşullar Ve Döngüler. [Online]. Available:

http://tr.wikibooks.org/wiki/C_Programlama_Dili/Ko%C5%9Fullar_ve_

D%C3%B6ng%C3%BCle

[7]. (2013) C Programlama Dersi. [Online]. Available:

http://www.cagataycebi.com/programming/c_programming/c_programm

ing_4.html

[8]. (2013) Tek Döngülü Zaman Geciktirme. [Online]. Available:

http://www.mavikitaplar.com/tek_main.php?id2=19&mid0=48&nid=82

&page=tek_see

Page 36: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

26

[9]. (2013) C Programlama Diline Giriş. [Online]. Available:

http://www1.gantep.edu.tr/~bingul/c/index.php?ders=1

[10]. M.Mazidi, J.Mazidi, The 80x86 IBM PC

andCompatibleComputers.Assembly Language, Design, and, Interfacing.

Berlin, Germany: January, 2000.

[11]. (2012) Mikroişlemci Nedir. [Online]. Available:

http://www.merakname.com/mikroislemci-nedir

[12]. (2013) Blogcu: Mikroişlemci nedir. [Online]. Available:

http://trable.blogcu.com/islemci-cpu-nedir-genel-yapisi-hakkinda-

bilgiler/13509504

[13]. (2012) Mikroişlemci Nedir. [Online]. Available:

http://www.harbiforum.org/elektronik-dunya/28450-mikroislemci-

nedir.html

[14]. (2013) 320volt web site. [Online]. Available: http:// www.320volt.com

[15]. (2013) SparkfunElektronıcs web site. [Online]. Available: http://www.

sparkfun.com

[16]. “Msp430 Programming Viathe JTAG Interfacedatasheet,”Texas

Instruments, Texas, U.S.A.

[17]. (2012) Transistör Nedir. [Online]. Available:

http://www.robotiksistem.com/transistor_nedir_transistor_cesitleri.html

[18]. (2013) NPN ve PNP Tipi Transistörler. [Online]. Available:

http://www.harbiforum.org/elektronik-dunya/92641-npn-ve-pnp-tipi-

transistorler.html

Page 37: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

27

[19]. (2013) Transistör Nedir. [Online]. Available:

http://www.myonapp.org/elektrik-amp-elektronik/transistor-nedir-yarar-

cesitleri-nelerdir

[20]. E.Tekin, M.Bereket, Endüstriyel Elektronik. Ġstanbul, Türkiye: Mart,

2011.

[21]. (2013) Transistörün Anahtar Olarak Kullanıması. [Online]. Available:

http://www.elektroforum.org/elektronik-ders-notlari/12751/transistorun-

anahtar-olarak-kullanilmasi.html

[22]. Megep, Hidrolik Sistemler. Ankara, Türkiye: 2005

[23]. (2013) Selonoid Vana Nedir. [Online]. Available: http://www.sms-

tork.com.tr/66375/903/solenoid_vana_nedir/hnd_V7N.aspx

[24]. Megep, Elektrik Elektronik Teknolojisi, Elektropnomatik Sistemler.

Ankara, Türkiye: 2007

[25]. Y.Erdun, “ Solenoid Valfler ” 1992, sayfa 83.

[26]. Megep, Elektrik Elektronik Teknolojisi, Elektrohidrolik Sistemler.

Ankara, Türkiye: 2007

[27]. E.Topçu, Ġ.Yüksel, “ Elektropnomatik ve Alternatif Valflerin Gelişimi ve

Karakteristiklerinin Ġncelenmesi,” Uludağ Üniversitesi Mühendislik-

Mimarlık Fakültesi Dergisi, Cilt 12, Sayı 2, Sayfa 24-30,2007

[28]. (2012) Texas Instruments. [Online]. Available: http://www.ti.com

[29]. P.Pines, EasılyApplıcableGraphıcalLayoutEdıtorVersion 5. Florida,

U.S.A: 2010

Page 38: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

28

EKLER

Ek-1 Proje Programı

Bu kısımda proje kapsamında yazmış olduğumuz program belirtilmiştir.

#include<msp430g2211.h>

voida_yazma(void);

voidb_yazma(void);

voidc_yazma(void);

voidd_yazma(void);

voide_yazma(void);

voidf_yazma(void);

voidg_yazma(void);

voidh_yazma(void);

voidi_yazma(void);

voidj_yazma(void);

voidk_yazma(void);

voidl_yazma(void);

voidm_yazma(void);

voidn_yazma(void);

voido_yazma(void);

voidp_yazma(void);

voidr_yazma(void);

voids_yazma(void);

voidt_yazma(void);

voidu_yazma(void);

voidv_yazma(void);

voidy_yazma(void);

voidz_yazma(void);

void geciktirme(void);

void main(void)

Page 39: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

29

WDTCTL = WDTPW + WDTHOLD; // Stop watchdogtimer

P1DIR=0xFF; // Set P1.0 tooutputdirection

P2DIR=0xFF;

char karakter[2]='B','S';

int j;

while (1)

for(j=0;j<=2;j++)

if (karakter[j]=='B')

b_yazma();

else if (karakter[j]=='S')

s_yazma();

voida_yazma(void)

int i;

int A1[10]=0x78,0x78,0x78,0xF8,0xF8,0x78,0xF0,0xE0,0xC0,0x80;

int A2[10]=0x3C,0x3C,0x3C,0x3F,0x3F,0x3C,0x1E,0x0F,0x07,0x03;

for(i=0;i<=9;i++)

P1OUT=A1[i];

P2OUT=A2[i];

geciktirme();

Page 40: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

30

voidb_yazma(void)

int i;

int B1[10]=0xF8,0xF8,0x38,0x38,0xF8,0xF8,0x38,0x38,0xF8,0xF8;

int B2[10]=0x01,0x03,0x06,0x0C,0x07,0x07,0x0C,0x06,0x03,0x01;

for(i=0;i<=9;i++)

P1OUT=B1[i];

P2OUT=B2[i];

geciktirme();

voidc_yazma(void)

int i;

int C1[10]=0xE0,0xF0,0x38,0x38,0x38,0x38,0x38,0x38,0xF0,0xE0;

int C2[10]=0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F;

for(i=0;i<=9;i++)

P1OUT=C1[i];

P2OUT=C2[i];

geciktirme();

voidd_yazma(void)

int i;

int D1[10]=0xF8,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0xF8;

int D2[10]=0x07,0x0F,0x18,0x18,0x18,0x18,0x18,0x18,0x0F,0x07;

for(i=0;i<=9;i++)

Page 41: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

31

P1OUT=D1[i];

P2OUT=D2[i];

geciktirme();

voide_yazma(void)

int i;

int E1[10]=0xFC,0xFC,0x1C,0x1C,0xFC,0xFC,0x1C,0x1C,0xFC,0xFC;

int E2[10]=0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F;

for(i=0;i<=9;i++)

P1OUT=E1[i];

P2OUT=E2[i];

geciktirme();

voidf_yazma(void)

int i;

int F1[10]=0x38,0x38,0x38,0xF8,0xF8,0x38,0x38,0xF8,0xF8,0xF8;

int F2[10]=0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x1F,0x1F,0x1F;

for(i=0;i<=9;i++)

P1OUT=F1[i];

P2OUT=F2[i];

geciktirme();

Page 42: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

32

voidg_yazma(void)

int i;

int G1[10]=0xC0,0xE0,0x30,0x18,0xD8,0xD8,0x18,0x30,0xE0,0xC0;

int G2[10]=0x1F,0x1F,0x18,0x18,0x1F,0x1F,0x00,0x00,0x1F,0x1F;

for(i=0;i<=9;i++)

P1OUT=G1[i];

P2OUT=G2[i];

geciktirme();

voidh_yazma(void)

int i;

int H1[10]=0xC8,0xC8,0xC8,0xC8,0xF8,0xF8,0xC8,0xC8,0xC8,0xC8;

int H2[10]=0x1C,0x1C,0x1C,0x1C,0x1F,0x1F,0x1C,0x1C,0x1C,0x1C;

for(i=0;i<=9;i++)

P1OUT=H1[i];

P2OUT=H2[i];

geciktirme();

voidi_yazma(void)

int i;

int I1[10]=0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0;

int I2[10]=0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03;

for(i=0;i<=9;i++)

Page 43: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

33

P1OUT=I1[i];

P2OUT=I2[i];

geciktirme();

voidj_yazma(void)

int i;

int J1[10]=0xF0,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00;

int J2[10]=0x03,0x07,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E;

for(i=0;i<=9;i++)

P1OUT=J1[i];

P2OUT=J2[i];

geciktirme();

voidk_yazma(void)

int i;

int K1[10]=0x1C,0x1C,0x1C,0x9C,0xFC,0xFC,0x9C,0x1C,0x1C,0x1C;

int K2[10]=0x3C,0x1E,0x0F,0x07,0x00,0x00,0x07,0x0F,0x1E,0x3C;

for(i=0;i<=9;i++)

P1OUT=K1[i];

P2OUT=K2[i];

geciktirme();

voidl_yazma(void)

Page 44: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

34

int i;

int L1[10]=0xF8,0xF8,0xF8,0x38,0x38,0x38,0x38,0x38,0x38,0x38;

int L2[10]=0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00;

for(i=0;i<=9;i++)

P1OUT=L1[i];

P2OUT=L2[i];

geciktirme();

voidm_yazma(void)

int i;

int M1[10]=0x1C,0x1C,0x1C,0x1C,0x1C,0x9C,0xDC,0xFC,0x7C,0x3C;

int M2[10]=0x38,0x38,0x38,0x38,0x38,0x39,0x3B,0x3F,0x3E,0x3C;

for(i=0;i<=9;i++)

P1OUT=M1[i];

P2OUT=M2[i];

geciktirme();

voidn_yazma(void)

int i;

int N1[10]=0x1C,0x1C,0x1C,0x1C,0x9C,0x9C,0xDC,0x7C,0x7C,0x3C;

int N2[10]=0x3E,0x3E,0x3B,0x3B,0x39,0x39,0x38,0x38,0x38,0x38;

for(i=0;i<=9;i++)

P1OUT=N1[i];

P2OUT=N2[i];

Page 45: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

35

geciktirme();

voido_yazma(void)

int i;

int O1[10]=0xE0,0xF0,0x38,0x38,0x38,0x38,0x38,0x38,0xF0,0xE0;

int O2[10]=0x03,0x07,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x07,0x03;

for(i=0;i<=9;i++)

P1OUT=O1[i];

P2OUT=O2[i];

geciktirme();

voidp_yazma(void)

int i;

int P1[10]=0x38,0x38,0x38,0xF8,0xF8,0x38,0x38,0x38,0xF8,0xF8;

int P2[10]=0x00,0x00,0x00,0x03,0x07,0x0C,0x0C,0x0C,0x07,0x03;

for(i=0;i<=9;i++)

P1OUT=P1[i];

P2OUT=P2[i];

geciktirme();

voidr_yazma(void)

int i;

Page 46: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

36

int R1[10]=0x38,0x38,0x38,0xB8,0xF8,0xF8,0xF8,0x38,0xF8,0xF8;

int R2[10]=0x0C,0x06,0x03,0x01,0x00,0x07,0x0F,0x0C,0x07,0x03;

for(i=0;i<=9;i++)

P1OUT=R1[i];

P2OUT=R2[i];

geciktirme();

voids_yazma(void)

int i;

int S1[10]=0xE0,0xF0,0x18,0x00,0xC0,0x60,0x30,0x30,0xF0,0xE0;

int S2[10]=0x03,0x07,0x06,0x03,0x00,0x00,0x00,0x0C,0x0F,0x07;

for(i=0;i<=9;i++)

P1OUT=S1[i];

P2OUT=S2[i];

geciktirme();

voidt_yazma(void)

int i;

int T1[10]=0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFC,0xFC,0xFC;

int T2[10]=0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x3F;

for(i=0;i<=9;i++)

P1OUT=T1[i];

P2OUT=T2[i];

geciktirme();

Page 47: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

37

voidu_yazma(void)

int i;

int U1[10]=0xFE,0xFE,0xFE,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E;

int U2[10]=0x7E,0x7E,0x7E,0x70,0x70,0x70,0x70,0x70,0x70,0x70;

for(i=0;i<=9;i++)

P1OUT=U1[i];

P2OUT=U2[i];

geciktirme();

voidv_yazma(void)

int i;

int V1[10]=0x80,0xC0,0xE0,0x70,0x70,0x38,0x38,0x38,0x1C,0x1C;

int V2[10]=0x03,0x03,0x07,0x0E,0x0E,0x1C,0x1C,0x1C,0x38,0x38;

for(i=0;i<=9;i++)

P1OUT=V1[i];

P2OUT=V2[i];

geciktirme();

voidy_yazma(void)

int i;

int Y1[10]=0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0x70,0x38,0x1C,0x1C;

Page 48: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

38

int Y2[10]=0x01,0x01,0x01,0x01,0x01,0x03,0x07,0x0E,0x1C,0x38;

for(i=0;i<=9;i++)

P1OUT=Y1[i];

P2OUT=Y2[i];

geciktirme();

voidz_yazma(void)

int i;

int Z1[10]=0xF8,0xF0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0xF8,0xF8;

int Z2[10]=0x1F,0x1F,0x01,0x03,0x03,0x07,0x0F,0x1E,0x1F,0x1F;

for(i=0;i<=9;i++)

P1OUT=Z1[i];

P2OUT=Z2[i];

geciktirme();

void geciktirme(void)

volatileunsignedint a;

for (a=0;a<=60000;a++);

Page 49: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

39

Ek-2 Standartlar ve Kısıtlar Formu

Tasarım Projesinin hazırlanmasında Standart ve Kısıtlarla ilgili olarak, aşağıdaki

soruları cevaplayınız.

1. Projenizin tasarım boyutu nedir? Açıklayınız.

Tasarım projesi kapsamında, kafamızda oluşturduğumuz projeyi uygulamaya

dökmeden önce gerekli araştırmalar yapılarak Bitirme Projesine kılavuz oluşturulmaya

çalışılmıştır.

2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü?

Proje kapsamında bu aşamada karşımıza çıkan her türlü problemin üstesinden

gelmeye çalıştık. Bu problemlerden sadece bir kısmı mühendislik adına oluşan

problemlerdi. Bunların da üstesinden gelmeye çalıştık.

3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?

Daha önceki yıllarda elektronik adına hem programlama(yazılım) hem de elektronik

devre tasarımıyla ilgili projemiz kapsamında bize gerekli olan bilgileri kullandık.

4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?

Kullandığımız en önemli mühendislik standardı projemizin ekonomik maliyetlerini

yüksek tutmamak oldu. Malzeme listelerini oluştururken bu konuda her türlü

araştırmalar yapılmıştır.

5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?

a) Ekonomi:

Projemizi tasarlarken gereksiz ekonomik harcamalardan mümkün mertebe

kaçınılmıştır.

b) Çevre sorunları:

Projemiz tamamen doğal ürünlerden oluştuğundan çevreye zarar verecek herhangi

bir unsur oluşmamaktadır.

c) Sürdürülebilirlik:

Projemiz tamamlandıktan sonra gerek tarafımızca gerekse başka kişiler tarafından

eksik görülen kısımlar olduğunda sürdürülerek geliştirilebilir.

d) Üretilebilirlik:

Tasarım Projesi dersi kapsamında tasarladıklarımız Bitirme Projesi dersi kapsamında

üretim aşamasına geçeceğinden üretilebilir bir projedir.

e) Etik:

Page 50: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

40

Projemizde etik ve ahlak kurallarına aykırı hiçbir durum söz konusu değildir.

f) Sağlık:

Tasarlanan projemiz hem çalışan sağlığını hem de toplumun sağlığı tehdit edecek

hiçbir risk taşımamaktadır.

g) Güvenlik:

Tasarlanan ve bitirmeye dönüştürülecek olan proje tamamen güvenilirdir.

h) Sosyal ve politik sorunlar:

Projemiz herhangi bir sosyal veya politik bir sorun oluşturmamaktadır.

Page 51: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

41

Ek-3 Tablo-1

Tablo-1. C programlama dilinde kullanılan değişken tablosu[3]

TİP DEKLARAS

YON

Print(f) Scanf() Minimum Maksimum Byte

Karakter chardegisken; printf(„‟%c‟‟,&degiske

n);

scanf(„‟%c‟‟,&degiske

n);

-128 127 1

Kısa

Tamsayı

shortdegisken

;

printf(„‟%d‟‟,&degiske

n);

scanf(„‟%d‟‟,&degiske

n);

-32768 32767 2

Tamsayı intdegisken; printf(„‟%d‟‟,&degiske

n);

scanf(„‟%d‟‟,&degiske

n);

-32768 32767 2

Uzun

Tamsayı

longint

degisken;

printf(„‟%1d‟‟,&degisk

en);

scanf(„‟%1d‟‟,&degisk

en);

-2147483648 2147483647 4

Ġşaretsiz

Tamsayı

unsignetint

degisken;

printf(„‟%u‟‟,&degiske

n);

scanf(„‟%u‟‟,&degiske

n);

0 65535 2

Ġşaretsiz

Uzun

Tamsayı

longunsignet

degisken;

printf(„‟%1u‟‟,&degisk

en);

scanf(„‟%1u‟‟,&degisk

en);

0 4294967295 4

Virgüllü

Sayı

floatdegisken

;

printf(„‟%f‟‟,&degiske

n);

scanf(„‟%f‟‟,&degiske

n);

1,17549e-38 3,40282e+

38

4

Uzun

Virgüllü

Sayı

double

degisken;

printf(„‟%1f‟‟,&degisk

en);

scanf(„‟%1f‟‟,&degisk

en);

2.22504e-308 1,79769e+

308

8

Page 52: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

42

Ek-4 Malzemeler Listesi

Projede kullanılan malzeme listesi aşağıda belirtilmiştir.

1 adet MSP-FET430UIF

1 adet SMD direnç paketi

1 adet SMD kondansatör paketi

1 adet 8 MHz kristal

1 adet 32768Hz kristal

1 adet MSP430F169

1 tane A4 boyutunda çift katlı epoksi bakır plaket

Su motoru

16 adet BD135 transistör ve valf

18 adet ikili konnektör

2şer tane dişi ve erkek 24’lı IDC konnektör

2şer tane 16’lü dişi ve erkek IDC konnektör

PNP kağıdı

50 cm 1” çaplı demir boru

16şar tane maşon, rekor, nipel

Page 53: BĠTĠRME PROJESĠ SU ĠLE YAZI YAZMA PROJESĠeee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler_archive...T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ Mühendislik Fakültesi Elektrik-Elektronik

43

ÖZGEÇMİŞLER

Melike Gülşen ERDOĞAN 1989 yılında ERZURUM’da doğdu. Ġlk ve orta

öğretimini Kültür Kurumu Ġlköğretim okulunda tamamladı. Lise eğitimini Nevzat

Karabağ Anadolu Öğretmen Lisesinde tamamladı.2008 yıllında Karadeniz Teknik

Üniversitesi, Mühendislik Fakültesi, Elektrik-Elektronik Mühendisliği Bölümünde

Lisans eğitimine başladı. Ġyi derecede Ġngilizce bilmektedir.

Fehmi EROL 1989 yılında ANKARA’da doğdu. Ġlk ve orta öğretimini Kutalmış Bey

Ġlköğretim okulunda tamamladı. Lise eğitimini Yeşilöz Anadolu Lisesinde tamamladı.

2009 yıllında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik-

Elektronik Mühendisliği Bölümünde Lisans eğitimine başladı. Ġyi derecede Ġngilizce

bilmektedir.

Yıldız BOĞAZKÖY 1990 yılında KAYSERĠ’de doğdu. Ġlk ve orta öğretimini Albay

Niyazi Esen Ġlköğretim okulunda tamamladı. Lise eğitimini Nuh Mehmet Küçük Çalık

Anadolu Lisesinde tamamladı. 2009 yıllında Karadeniz Teknik Üniversitesi,

Mühendislik Fakültesi, Elektrik-Elektronik Mühendisliği Bölümünde Lisans eğitimine

başladı. Ġyi derecede Ġngilizce bilmektedir.

Safa BAZOĞLU 1991 yılında TRABZON’da doğdu. Ġlk ve orta öğretimini Cudibey

Ġlköğretim okulunda tamamladı. Lise eğitimini Kanuni Anadolu Lisesinde tamamladı.

2009 yıllında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik-

Elektronik Mühendisliği Bölümünde Lisans eğitimine başladı. Ġyi derecede Ġngilizce

bilmektedir.