T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ



Benzer belgeler
Matematik Operatörleri:

PIC 16F877 nin kullanılması

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

BÖLÜM 1: MİKRODENETLEYİCİLER

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

BÖLÜM Mikrodenetleyicisine Giriş

Çizgi İzleyen Robot Yapımı

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

Configuration bitleri ve reset durumları hakkında kavramlar

BESLEME KARTI RF ALICI KARTI

SIVI TANKLARDA SEVİYE KONTROL SİSTEMİ

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

B.Ç. / E.B. MİKROİŞLEMCİLER

PIC TABANLI, 4 BASAMAKLI VE SER

EEM 419-Mikroişlemciler Güz 2017

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Mobil ve Kablosuz Ağlar (Mobile and Wireless Networks)

PIC Mikrodenetleyicileri

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

Deniz Elektronik Laboratuvarı Tel: D7220_RV5

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 5. Analog veri iletimi

PIC Programlama. Devrim Çamoğlu

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

DCS DCS ENDÜSTRİYEL KONTROL SİSTEMLERİ & YAZILIM

Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Biyomedikal Mühendisliği, Bölümü Tel:

Mikroişlemcili Sistemler ve Laboratuvarı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

XC8 ile PİC uygulamaları

KONTROL VE OTOMASYON KULÜBÜ

Deniz Elektronik Laboratuvarı Tel: D7220_RV4

ACD BİLGİ İŞLEM ACD KABLOSUZ VERİ TOPLAMA SİSTEMLERİ URT-V2 KABLOSUZ VERİ TOPLAMA TERMİNALİ DONANIM TEKNİK BELGESİ. URT-V2 Terminallerinin

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

EasyPic 6 Deney Seti Tanıtımı

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

Hazırlayan: Tugay ARSLAN

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

idea rsbasic KOMUTLARI

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Bir mikroişlemci temel olarak üç kısımdan oluşur. Bunlar merkezi işlem birimi (CPU), giriş çıkış birimi (G/Ç) ve bellektir.

Electronic Letters on Science & Engineering 5(1) (2009) Available online at

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

BÖLÜM X OSİLATÖRLER. e b Yükselteç. Be o Geri Besleme. Şekil 10.1 Yükselteçlerde geri besleme

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Analog Sayısal Dönüşüm

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Şekil1. Geri besleme eleman türleri

İÇİNDEKİLER. 1-1 Lojik ve Anahtara Giriş Lojik Kapı Devreleri... 9

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

LCD (Liquid Crystal Display )

KABLOSUZ SERĐ HABERLEŞME UYGULAMALARI VE RF KONTROL

DENEY 21 IC Zamanlayıcı Devre

Hacettepe Robot Topluluğu

PİC BASİC PROFESSİONAL

AĞ SĠSTEMLERĠ. Öğr. Gör. Durmuş KOÇ

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ BİTİRME ÖDEVİ

Haftalık Ders Saati Okul Eğitimi Süresi

Deney 3: Asenkron Sayıcılar

WAT Endüstriyel Sürücüler

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

SAYISAL MANTIK LAB. PROJELERİ

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Algılayıcılar (Sensors)

EnerjiÖlçümü MINOMETER M7 RADIO 3. Elektronik Isı Pay Ölçer

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

MİDEA ISI POMPASI-HAVUZ /SPA SU ISITMA

MODBUS PROTOKOLÜ ÜZERİNDEN KABLOLU VE KABLOSUZ ENERJİ İZLEME SİSTEMİ

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

3 Fazlı Motorların Güçlerinin PLC ile Kontrolü. Doç. Dr. Ramazan BAYINDIR

T.C Niğde Üniversitesi Mühendislik Mimarlık Fakültesi Elektrik Elektronik Mühendisliği Bölümü

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ

KIRIKKALE ÜNİVERSİTESİ

MST. SERİSİ kva 1-30 kva 3:3 FAZ 1:1 FAZ STATİK VOLTAJ REGÜLATÖRÜ. Tüm Elektrikli Cihazlar için Güvenilir Statik Dizayn

Algılayıcılar / Transmitter

İşletim Sistemleri (Operating Systems)

DC motorların sürülmesi ve sürücü devreleri

William Stallings Computer Organization and Architecture 9 th Edition

Bir bölgede başka bir bölgeye karşılıklı olarak, veri veya haberin gönderilmesini sağlayan.sistemlerdir.

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

Su Depolama Tanklarında Su Seviye Kontrolünün Kablosuz Olarak Yapılması

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

Elektronik Kontrol Paneli

ARTOS7F1 ARIZA TESPİT CİHAZI VE PC OSİLOSKOP 7 FONKSİYON 1 CİHAZDA

PIC KULLANARAK GÜÇ KARSAYISI ÖLÇÜM DEVRESİ TASARIMI VE SİMÜLASYON

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

DENEY 5: GENLİK KAYDIRMALI ANAHTARLAMA (ASK) TEMELLERİNİN İNCELENMESİ

Transkript:

T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SIVI SEVİYE KONTROLÜ VE AKILLI DOLUM-BOŞALTIM SİSTEMLERİ BİTİRME ÇALIŞMASI Hazırlayanlar: Mehmet SANDIKCI 164055 Enes YILDIZ 164045 BAHAR 2011 TRABZON

T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SIVI SEVİYE KONTROLÜ VE AKILLI DOLUM-BOŞALTIM SİSTEMLERİ BİTİRME ÇALIŞMASI Hazırlayanlar: Mehmet SANDIKCI 164055 Enes YILDIZ 164045 Tez Danışmanı: Öğr. Gör. Cahit ALTAN BAHAR 2011 TRABZON

ÖNSÖZ Günümüzde kontrol sistemleri ile ilgili birçok uygulama mevcuttur. Ses kontrollü Bilgisayar ve güvenlik kapıları bu uygulamalara örnek olarak verilebilir. Bu çalışmada sıvı seviye kontrolü, akıllı dolum boşaltım işleyişi ve kablosuz ağ ile uzaktan izlenmesi ele alınmıştır. Çalışmamız boyunca bize zaman ayıran değerli danışman hocamız Sayın Ögr. Gör. Cahit ALTAN, Araştırma Görevlisi Mehmet Ali Usta ya ve arkadaşımız Mehmet Numan Aydoğan a sonsuz teşekkürlerimizi borç biliriz. Ayrıca hayatımız boyunca her türlü maddi ve manevi desteklerini hiçbir zaman esirgemeyen ailelerimize şükranlarımızı sunarız. Enes YILDIZ, Mehmet SANDIKCI Trabzon,2011 II

İÇİNDEKİLER Sayfa No ÖNSÖZ.. II İÇİNDEKİLER.. III ÖZET. VII ŞEKİLLER LİSTESİ... VIII TABLOLAR LİSTESİ. IX SEMBOLLER LİSTESİ.. X KISALTMALAR.. XI 1. GİRİŞ 1 1.1. Sıvı Tanklarda Seviyenin Ölçümü... 2 1.2. Bilginin PIC İle İşlenmesi... 2 1.3. RF Haberleşme Tekniği Kullanılarak İşlenen Bilginin İletilmesi.. 2 1.4. LCD Panel Kullanılarak Bilginin Sunulması. 2 1.5. I-But İle Seviye Ölçüm, Dolum Ve Boşaltım Kontrolünün Yapılması. 2 1.6. Diğer Kullanılan Elektronik Araç ve Gereçler... 3 2. SEVİYE ÖLÇÜM SİSTEMİNİN YAPISI 4 2.1. Sıvı Tanklarda Seviye Kontrolü 4 2.1.1. Sıvı Tanklarda Seviye Ölçme Yöntemleri. 4 2.1.1.1. Şamandıra Metoduyla Seviye Ölçme Yöntemi.. 4 2.1.1.2. Elektrot Metoduyla Seviye Ölçüm Sistemi 5 2.1.1.3. Ultrasonik Ses Dalgalarıyla (Ses üstü sinyaller ) Seviye Ölçümü. 6 2.1.1.4. Basınç Değişimi ile Seviye Ölçümü 6 2.2. Elektrot Metodu ile Seviye Ölçüm Sisteminin İrdelenmesi 7 3. PIC MİKRODENETLEYİCİLERİ 9 3.1. PIC Nedir?... 9 3.2. Bu Projede PIC Tercih Edilmesinin Sebepleri 10 3.3. PIC16F877 Özellikleri ve Yapısı 11 3.3.1. PIC16F877 Portlarının Fonksiyonları 12 3.3.1.1. Port A... 12 3.3.1.2. Port B... 13 III

3.3.1.3. Port C... 13 3.3.1.4. Port D... 13 3.3.1.5. Port E... 13 3.3.2. Özel Fonksiyonlar... 14 3.3.2.1. Paralel Slave Port 14 3.3.2.2. USART 14 3.3.2.3. Master Synchronous Serial Port (MSSP)... 14 3.3.2.4. Analog / Sayısal Çevirici Birimi. 15 3.3.2.5. Yakalama / Karşılaştırma ve PWM Birimi. 15 3.3.3 RAM Bellek 15 3.3.4. PIC16F877 nin Besleme Uçları ve Beslenmesi. 16 3.3.5. PIC16F877 nin Reset Uçları.. 16 3.3.6. PIC16F877 nin Saat Uçları ve Osilatör Tipleri.. 16 3.3.6.1. Kristal Osilatör / Seramik Rezonatör... 17 3.3.6.2 RC Osilatör... 17 3.4. Pic Basic... 18 3.4.1. Pic Basic te Matematik Operatörleri 18 3.4.2. Pic Basic te Karşılaştırma Operatörleri 19 3.4.3. Pic Basic te Mantıksal Operatörler.. 20 3.4.4. Pic Basic te Komutlar.. 20 3.4.5. Pic Basic Programlama Hakkında Açıklamalar... 25 3.4.5.1. Debug Komutu İçin Gerekli Tanımlamalar. 25 3.4.5.2. Debugin Komutu İçin Gerekli Tanımlamalar.. 25 3.4.5.3. Hserin, Hserout Komutu İçin Gerekli Tanımlamalar.. 25 3.4.5.4. DTMF ve Freqout Komutlarının Kullanımı İçin Gerekli Devre. 26 3.4.5.5. I2CREAD, I2CWRITE Komutlarının Kullanımı İçin Gerekli Devre. 26 3.4.5.6. LCD Komutları İçin Gerekli Tanımlamalar. 26 3.4.5.6.1. LCD de Karakter Yazma Dışındaki İşlemler... 27 3.4.5.7. Pauseus Komutuyla Kullanılabilecek Minimum Bekleme Süreleri 27 3.4.5.8. Pot Komutunun Kullanımı İçin Gerekli Devre. 27 3.4.5.9. PWM Komutunun Kullanımı İçin Gerekli Devre. 28 3.4.5.10. Serin Komutunda Mode a Belirtilebilen Hız Tanımları... 28 IV

4. KABLOSUZ HABERLEŞME 29 4.1. Radyo Frekanslı Sistemler 29 4.1.1. Sistemin Özellikleri. 30 4.1.2. Sistemi Oluşturan Unsurlar.. 30 4.2. Serbest Uzay Modeli 30 4.3. Frekans Yelpazesi 31 4.4. Modülasyon İşlemleri.. 32 4.4.1. Modüle Edilmiş Sinyal Zarfları... 32 4.4.2. Modülasyon Teknikleri 32 4.4.3. Dalga Boyu Modülasyonu Genlik Modülasyonu (DBM). 33 4.5. Sıvı Tanklarda Seviye Kontrol Sisteminde Kullanılan Haberleşme 35 Modülleri. 4.5.1. Verici Ünitesi (ATX 34). 35 4.5.1.1. Verici Ünitesi Teknik özellikleri.. 35 4.5.1.1.1. Verici Ünitesi Bacak tanımlamaları.. 36 4.5.2. Alıcı Ünitesi (ARX 34) 36 4.5.2.1. Alıcı Ünitesi Teknik özellikleri 36 4.5.2.2. Bacak tanımlamaları. 37 4.5.3. İletişim Mesafesi... 38 5. DEVREDE KULLANILAN DİĞER EKİPMANLAR 39 5.1. I-But. 39 5.1.1. DS1990A seri numaralı ibutton.. 39 5.1.1.1. Temel Özellikler.. 40 5.1.1.2. Aksesuar Örnekleri.. 40 5.1.1.3. Donanım Konfigürasyonu... 41 5.1.2. DS9092 I-button Probu... 42 5.1.2.1. DS9092 I-But Prob Özellikleri 43 5.2. DC Motorlar. 43 5.2.1. DC Motorların Çalışma Prensibi.. 44 5.2.1.1 Manyetik Alan İçerisinde Hareket Eden İletkenin Durumu 45 5.2.1.2. Manyetik Alan İçerisinde İçinden Akım Geçen İletkenin Durumu. 45 5.3. Röle... 45 V

5.3.1. Röleler Hakkında Bilgi. 45 5.4. Transistör.. 47 5.4.1. BC547 Transistörü 47 5.5. LM7805 5 Volt Gerilim Düzenleyici 48 5.5.1. LM7805 Nedir?... 48 5.6. HD44780 2x16 Likit Kristalli Ekran.. 49 5.7. Tuş Takımı... 51 6. DEVRE TASARIMI 52 6.1. Verici Taraf Devre Tasarımı. 52 6.1.1. Verici Devresi Pic Basic Program Kodu.. 53 6.2. Alıcı Kısım Devre Tasarımı.. 66 6.2.1. Alıcı Kısım Pic Basic Program Kodu 67 7. SONUÇLAR 69 8. ÖNERİLER 70 9. KAYNAKLAR 71 10. ÖZGEÇMİŞ 72 VI

ÖZET Proje sayesinde tank içerisindeki herhangi bir sıvının seviye kontrolü, seviyeye bağlı dolum ve boşaltım denetimi ve kablosuz ağ yardımı ile diğer sistemde boşaltılan ve doldurulan miktar bilgisinin analizi yapılmaktadır. Sıvı seviyesi, dolum, boşaltım menülerine ulaşmak için ana menüden istenen doğru I-Button kullanılarak geçiş yapılmasını öngörmektedir. Bu sayede yabancı kişilerin sisteme müdahale etme olasılığı yok edilerek sistem güvenilirliği artırılmıştır. Depodan su boşaltma işlemi vanayı kontrol eden DC motor yardımıyla olmaktadır. Sistem kontrolü PIC16F877 mikrodenetleyicisi ile yapılmıştır. Denetleyici tanktan aldığı seviye bilgisini değerlendirerek tanktan su boşaltımı için maksimum kaç birim su boşaltılabileceği ayrıca tankta su azaldığında tankın doldurulması gerektiğini bize bildirmektedir. Tank doldurulurken ve boşaltılırken ne kadar birim sıvı değişikliği olduysa bu bilgileri denetleyen denetleyici kablosuz ağ ile diğer sisteme bu bilgileri göndererek, ayrı bir sistemden bu sıvı değişikliklerini inceleme olanağı elde etmiş oluyoruz. VII

ŞEKİLLER LİSTESİ Sayfa No Şekil 1.1 Projenin Genel Çalışma Şeması....1 Şekil 2.1 Şamandıra Yöntemiyle Seviye Ölçümü....5 Şekil 2.2 Elektrot Yöntemiyle Seviye Ölçümü....6 Şekil 2.3 Basınç Değişimi İle Seviye Ölçü.. 7 Şekil 2.4 Seviye Propları İçin Kullanılan Bakır Çubuk...8 Şekil 3.1 PIC16F877 Bacak Tanımlamaları.. 12 Şekil 3.2 DTMF ve Freqout Komutlarının Kullanımı İçin Gerekli Devre.26 Şekil 3.3 I2CREAD, I2CWRITE Komutlarının Kullanımı İçin Gerekli Devre.26 Şekil 3.4 Pot Komutunun Kullanımı İçin Gerekli Devre 27 Şekil 3.5 Pot kullanımı İçin Gerekli Devre.28 Şekil 4.1 Genlik Modülasyonlu Dalganın Oluşumu.....33 Şekil 4.2 Genlik Modülasyonu...34 Şekil 4.3 ATX 34 Verici Modülü...36 Şekil 4.4 ARX 34 Alıcı Ünitesi.....37 Şekil 5.1 Projede Kullanılar I-Buttonlar.40 Şekil 5.2 DS1990A nın İç Devre Yapısı...41 Şekil 5.3 DS9092 I-Button Problarının Şekli...42 Şekil 5.4 Projede Kullanılan I-But Probu 42 Şekil 5.5 Projede Kullanılan DC Motor..43 Şekil 5.6 Doğru Akım Makinasının Prensip Şeması...44 Şekil 5.7 Röle ve Transistör İle Oluşturulan Tetikleme Devresi.47 Şekil 5.8 LM7805 Tümdevresi...49 Şekil 5.9 Projede Kullanılan 2*16 Lcd Ekran.50 Şekil 5.10 Proje İçin Tasarlanan 3*4 Tuş Takımı...51 Şekil 6.1 Verici Kısım Simülasyon Devresi 53 Şekil 6.2 Alıcı Kısmı Simülason Devresi...66 Şekil 7.1 Projenin Yaklaşık Tamamlanmış Hali.68 VIII

TABLOLAR LİSTESİ Sayfa No Tablo 3.1 Osilatör Çeşitleri..17 Tablo 3.2 Frekansa Göre Kondansatör Seçimi.....17 Tablo 3.3 Pic Basic te Matematik Operatörler.18 Tablo 3.4 Pic Basic te Karşılaştırma Operatörleri 19 Tablo 3.5 Pic Basic te Mantıksal Operatörler...20 Tablo 3.6 Pic Basic te Komutlar... 20 IX

SEMBOLLER LİSTESİ A : Amper I : Akım V : Volt AC : Alternatif Akım DC : Doğru Akım ma : Miliamper Hz : Hertz Ω : Ohm : Büyük Eşit db : Desibel c : Işık hızı EA - M(t) : Modüle edilmiş işaretin genliği EC : Taşıyıcının genliği Em : Modüle edilecek işaretin genliği FAKB : Alt kenar band frekansı fc : Taşıyıcının frekansı fm : Modülasyon frekansı FÜKB : Üst kenar band frekansı h : Anten boyu Gr : Alıcının kazancı Gt : Vericinin kazancı λ : Dalga boyu Ls : Uzay zayıflaması Pr : Alıcının hassasiyeti Pt : Vericinin gücü Wct : Taşıyıcı sinyalinin açısal frekansı Wmt : Bilgi sinyalinin açısal frekansı X

KISALTMALAR ADC AKB ALU AM ASK Bps BANK C CPU DC FM FSK FSR GPR LAN LCD PM PIC PORT PSK RF RAM SFR SPI USART ÜKB WAN : Analog sayısal dönüştürücü : Alt kenar bandı : Aritmetik lojik ünite : Genlik modülasyonu : Genlik değişimli anahtarlama : Saniyedeki bit sayısı : Küme : Taşma biti : Merkezi işlem birimi : Basamak taşma biti (Yarım elde biti) : Frekans modülasyonu : Frekans değişimli anahtarlama : Dosya seçim kaydı : Genel amaçlı kayıt alanı : Yerel alan ağı : Likit kristal gösterge : Faz modülasyonu : Çevresel Ara Yüz Denetleyici : Mikro denetleyicinin giriş çıkış ünitesi : Faz değişimli anahtarlama : Radyo frekansı : Rasgele erişim belleği : Özel işlem kaydedicisi :Yazılım Patent Enstitüsü : Evrensel senkron asenkron alıcı verici : Üst kenar bandı : Uzak alan ağı XI

1.GİRİŞ Bu projede amaçlanan sıvı seviyesinin ölçümünün yapılmasından sonra sıvı seviye bilgisinin PIC (programlanabilir mikro denetleyici) tarafından çeşitli amaçlara uygun işlenerek (Şifreleme, şifre çözme...vs) kablosuz haberleşme tekniği olan RF (radyo frekansı) metodu ile bir yerden belli bir yere aktarılmasıdır. Ayrıca tank içerisindeki sıvının istenildiği zaman, istenilen miktarda boşaltılmasını ve I-But ile sadece yetkili kişinin işlem ve süreci yönetmesini sağlamaktır. Proje temel olarak dört bölümden meydana gelmektedir; 1. Sıvı tankında seviyenin ölçümü, 2. Bilginin PIC ile işlenmesi, 3. RF haberleşme tekniği kullanılarak işlenen bilginin iletilmesi 4. LCD panel kullanılarak bilginin sunulması 5.I-But ile seviye ölçüm, dolum ve boşaltım kontrolünün yapılması Projenin genel şeması şekil 1.1 ile gösterilmektedir. Şekil 1.1 Projenin Genel Çalışma Şeması

2 1.1. Sıvı Tanklarda Seviyenin Ölçümü Projenin ilk kısmını oluşturan bu bölümde sıvı tanklarda seviye ölçümü yapılırken kullanılabilecek bazı metotlar hakkında bilgiler sunulmaktadır. Bu bölümde ayrıca projenin gerçeklenmesi için tercih edilen elektrotla sıvı seviyesi ölçüm metodu hakkın da ayrıntılı anlatım ve konu ile ilgili genel bir şekil de bulunmaktadır. 1.2. Bilginin PIC İle İşlenmesi PIC in proje içerisindeki kullanılış amacı, seviye bilgisinin işlenerek RF haberleşme modülüne aktarılmasıdır. 1.3. RF Haberleşme Tekniği Kullanılarak İşlenen Bilginin İletilmesi RF haberleşme tekniğinin nasıl yapıldığı ve bu teknik için uygun görülen modül hakkında bilgilendirmenin yapıldığı aşamadır. 1.4. LCD Panel Kullanılarak Bilginin Sunulması Son olarak ise kullanıcının sıvı tank içerisindeki sıvı seviyesinin pratik şekilde öğrenilmesi için bilginin gösterilmesinin yapıldığı aşamadır. 1.5. I-But İle Seviye Ölçüm, Dolum Ve Boşaltım Kontrolünün Yapılması I-But kendi içerisinde sahip olduğu şifre sayesinde süreçlerin yönetilmesini ve bu şekilde sistemi sadece yetkili olarak atanan kişilerin kullanmasını sağlamaktadır,

3 1.6. Diğer Kullanılan Elektronik Araç ve Gereçler Kullanılan diğer araç ve gereçler hakkında bilgilendirmenin yapıldığı aşamadır. Proje temel olarak üç ana modülden oluşmaktadır. Bu modüller: 1-) Sıvı içeren tank üzerine yerleştirilecek olan çevre modül. Bu modül; sıvı seviyesini ölçmede kullanılacak elektrotları (sıvının iletkenliğinden faydalanarak), elde edilen seviye bilgisini şifreleyerek iletime hazır hale getirecek PIC ve merkez modül ile haberleşmeyi sağlayacak verici modülünü içermektedir. 2-) Sıvı bilgisini kullanıcıya gösterecek olan merkez modül. Bu modül; çevre modüller ile haberleşmeyi sağlayacak alıcı modülünü, alınan veriyi çözümleyerek sıvı seviye bilgisini elde edecek PIC i ve bilgiyi kullanıcıya sunacak olan LCD (Likit kristal ekran) paneli içermektedir. 3-) Sıvı dolum ve boşaltımını istenen miktarda ayarlamak ve bunun kontrolünü sağlayacak I-But modül. Bu modül; One-wire iletişim ile I-But içerisindeki şifre PIC e aktarılarak sisteme erişim imkanını yetkili kişilere sağlamayı içermektedir.

2. SEVİYE ÖLÇÜM SİSTEMİNİN YAPISI Seviye ölçüm sistemi donanımsal olarak üç temel yapıdan oluşmaktadır.bu üç temel yapı aşağıda sırasıyla anlatılmaktadır. 2.1. Sıvı Tanklarda Seviye Kontrolü 2.1.1. Sıvı Tanklarda Seviye Ölçme Yöntemleri Sıvı seviye ölçümü, günlük hayatta sıvı mekaniği ile çalışan araçlar (otomobillerin, uçakların vs.. yakıt deposu, yağlama sistemi veya hidrolik kaldıraçlar) veya depolama amaçlı tanklarda büyük önem taşımaktadır. Günümüzde teknolojinin de gelişmesiyle sıvı seviyesini belirlemede kullanılan metot sayısı gitgide artmaktadır. Sıvı tanklarda seviye ölçümü bir çok yöntem ile gerçekleştirilebilmektedir. Bunlar; Şamandıra metodu kullanılarak seviye ölçümü Elektrot kullanılarak seviye ölçümü Ultrasonik sinyaller kullanarak seviye ölçümü, Basınç farkı kullanılarak seviye ölçümü, 2.1.1.1. Şamandıra Metoduyla Seviye Ölçme Yöntemi Şamandıralı seviye ölçme sistemleri basit bir yapıya sahiptir. Sıvıların kaldırma kuvvetinin prensibini esas alarak çalışırlar. Bu sistemde yüzen bir cisim iki kuvvete maruz kalmaktadır.

5 Şekil 2.1 Şamandıra Yöntemiyle Seviye Ölçümü Bunlar yerçekiminden kaynaklanan aşağı doğru çekim kuvveti, cismin yüzebilirliğinden kaynaklanan yer çekimine zıt yönlü kuvvettir. Şekil 2.1 de verilen sistemde taşıtların yakıt depolarının doluluk durumunu elektronik yöntemlerle ölçülebilmektedir. Depo doluyken şamandıra yukarı hareket eder ve potun direnci azalır. Azalan direnç pottan daha fazla akım geçirir ve sürücü kabininde bulunan depo göstergesinin (bu aslında ampermetredir) ibresi maksimum değeri gösterir. Depo boşaldıkça şamandıra aşağı doğru iner ve potun değeri büyür. Direnç değeri büyüyen pot az akım geçirir. Bu ise ampermetrenin ibresini saptırır. 2.1.1.2. Elektrot Metoduyla Seviye Ölçüm Sistemi Bu yöntemde sıvıların iletkenliğinden faydalanılır. Şekil 2.2 de verilen devrede depo içinde bulunan iletken sıvının (su, asit, boya vb.) seviyesi yükseldikçe deponun dibindeki direnç ile devreyi tamamlayan elektrotlardan akım akacaktır. Elektrotların bazına bağlı olduğu transistorler iletime geçecek ve kolektörlerinde bulunan ledler yanacaktır.

6 Şekil 2.2 Elektrot Yöntemiyle Seviye Ölçümü 2.1.1.3. Ultrasonik Ses Dalgalarıyla (Ses üstü sinyaller ) Seviye Ölçümü Tankın tepesine yerleştirilmiş ve tankın referans yüksekliği önceden öğretilmiş radar devresi, 3-30 GHz arasındaki bir frekanstaki sinyali sıvıya doğru göndermektedir. Daha sonra sinyali gönderme ile ilk yansıyan sinyal arasındaki zaman farkını kullanarak boşluğun yüksekliğini hesaplamaktadır. Referans yükseklik ile boşluk yüksekliğinin farkını hesaplayan devre, ayrı bir sinyal ile sıvı seviyesi bilgisini oluşturmaktadır. 2.1.1.4. Basınç Değişimi ile Seviye Ölçümü Tanka yerleştirilmiş basınç ölçerlerde sıvı ve gaz basıncı ile elde edilen gerilimler bir voltmetre yardımıyla görüntülenir. Özellikle otomobillerin ve uçakların su ve yağ ölçümleri bu yöntem ile yapılmaktadır. Aşağıda şekil 2.3 de basınç ile seviye ölçüm sistemi şekli verilmiştir.

7 Şekil 2.3 Basınç Değişimi İle Seviye Ölçü 2.2. Elektrot Metodu ile Seviye Ölçüm Sisteminin İrdelenmesi Elektrot ile seviye ölçüm sistemi uygulanış açısından pratikliği ve yaygınlığı olan bir metod olması nedeniyle bu proje için referans alınan bir modeldir. Bu yöntemde sıvıların iletkenliğinden faydalanılır. Depo içinde bulunan iletken sıvının (su, asit, boya vb.) seviyesi yükseldikçe deponun dibindeki besleme kaynağı ile devreyi tamamlayan elektrotlardan akım akacaktır. Ayrıntılı anlatılacak olan PIC in girişlerini lojik 1 yapılabilmesi için 2,5 V tan büyük bir gerilim uygulanması gerekmektedir. Bu yüzden sıvı seviyesini ölçtüğümüz düzeneğimizin çıkışlarını 10 k luk dirençler bağlayarak gerilim oluşturması amaçlanmaktadır. Böylelikle PIC in girişlerine verilmesi gereken gerilim seviyeleri seviye problarından elde edilecektir. Projede bakır çubukların 2 şerli gruplar halinde tek bi seviye ölçümü için çubukların paralel ve birbirlerine çok yakın olarak yerleştirilmesi sonucu seviye bilgilerini elde ettik. Kullanılan bakır çubuk şekil 2.4 de verilmiştir. Projede 8 seviye bilgisi amaçladık ve böylece şekilde görülen çubuklardan 16 adet kullanarak bunu mümkün kıldık.

8 Şekil 2.4 Seviye Propları İçin Kullanılan Bakır Çubuk

3. PIC MİKRODENETLEYİCİLERİ 3.1. PIC Nedir? PIC Serisi mikroişlemciler MICROCHIP firması tarafından geliştirilmiştir ve üretim amacı, çok fonksiyonlu mantıksal uygulamaların hızlı ve ucuz bir mikroişlemci ile yazılım yoluyla karşılanmasıdır. PIC in kelime anlamı - Peripheral Interface Controller - giriş çıkış işlemcisidir. İlk olarak 1994 yılında 16 bitlik ve 32 bitlik büyük işlemcilerin giriş ve çıkışlarındaki yükü azaltmak ve denetlemek amacıyla çok hızlı ve ucuz bir çözüme ihtiyaç duyulduğu için geliştirilmiştir. Çok geniş bir ürün ailesinin ilk üyesi olan PIC16C54 bu ihtiyacın ilk meyvesidir. PIC işlemcileri RISC benzeri işlemciler olarak anılır. PIC16C54 12 bit komut hafıza genişliği olan 8 bitlik CMOS bir işlemcidir. 18 bacaklı dip kılıfta 13 G / Ç bacağına sahiptir, 20 MHz osilator hızına kadar kullanılabilir ve 33 adet komut içermektedir. 512 byte program EPROM u ve 25 byte RAM`i bulunmaktadır. Bu hafıza kapasitesi ilk bakışta çok yetersiz gelebilir ama bir RISC işlemci olması birçok işlevin bu kapasitede uygulanmasına olanak vermektedir. PIC serisi tüm işlemciler herhangi bir ek bellek veya giriş / çıkış elemanı gerektirmeden sadece 2 adet kondansatör, 1 adet direnç ve bir kristal ile çalıştırılabilmektedir. Tek bacaktan 40 ma akım çekilebilmekte ve tümdevre toplamı olarak 150 ma akım akıtma kapasitesine sahiptir. Tümdevrenin 4 MHz osilator frekansında çektiği akım çalışırken 2 ma, bekleme durumunda ise 20µA kadardır. PIC 16C54 ün fiyatının yaklaşık 2.0 Amerikan Doları civarında olduğu düşünülürse bu işlemcinin avantajı kolayca anlaşılır. PIC 16C54 un mensup olduğu işlemci ailesi 12Bit 16C5X olarak anılır. Bu gruba temel grup adı verilir. Bu ailenin üyesi diğer işlemciler PIC16C57, PIC16C58 ve dünyanın en küçük işlemcisi olarak anılan 8 bacaklı PIC12C508 ve PIC 12C509 dur. Interrupt kapasitesi, ilk işlemci ailesi olan 12Bit 16C5X ailesinde bulunmamaktadır. Daha sonra üretilen ve orta sınıf olarak tanınan 14Bit 16CXX ailesi birçok açıdan daha yetenekli bir grup işlemcidir. Bu ailenin temel özelliği interrupt kapasitesi ve 14 bitlik komut işleme hafızasıdır. Bu özellikler PIC i gerçek bir işlemci olmaya ve karmaşık işlemlerde kullanılmaya yatkın hale getirmiştir. PIC16CXX ailesi en geniş ürün yelpazesine sahip ailedir. 16CXX ailesinin en önemli özellikleri seri olarak devre üstünde dahi programlanması -ki bu özellik PIC16C5x de epey karmaşıktır, paralel programlanabiliyordu- interrupt kabul edebilmesi,

10 33 G / Ç, A/S Çevirici, USART, I2C, SPI gibi endüstri standardı giriş çıkışları kabul edecek işlemcilere ürün yelpazesinde yer vermesidir. PIC 16CXX ailesinin amatör elektronikçiler arasında en çok tanınan ve dünyada üzerinde en çok proje üretilmiş bireyi PIC16C84 veya yeni adıyla PIC16F84 dur. PIC16F84 un bu kadar popüler olması onun çok iyi bir işlemci olmasından ziyade program belleğinin EEPROM - Elektrikle silinip yazılabilen bellek - olmasından kaynaklanmaktadır. Seri olarak dört adet kabloyla programlanması da diğer önemli avantajıdır. Bugüne kadar amatörce bir işlemciyle uğraşmış herkesin en büyük sıkıntısı EPROM veya EPROM tabanlı işlemcileri programladıktan sonra morötesi ışık kaynağı ile silip tekrar programlamaktır. Bu çok zahmetli ve bir amatör için ekipman gerektiren yöntem olmuştur. Evde üretilmesi zor olan özel bir programlayıcı da madalyonun diğer yüzüdür. PIC16F84, tasarımcılar tarafından internette en bol programlayıcısı bulunabilen işlemcilerden biridir. PIC16F84 EEPROM barındırdığından EPROM silmek diye bir kavram söz konusu değildir. EEPROM belleği programlayan programlayıcı devre 1 saniye içinde aynı belleği silebilmektedir. Bu özellik tasarımcıya çok hızlı ve defalarca deneyerek program geliştirme avantajını getirmektedir. Bu tasarımcı için çok önemli ve gerekli bir özelliktir. Benzetim programları genel fikir vermek açısından çok yararlı olsalar da ciddi tasarımlarda devreyi fiziksel olarak gerçeklemek, deneyler yapmak kesinlikle gereklidir. Bu denemeleri yaparken işlemciyi devrenizden sökmek dahi gerekmez. Bu tip programlamaya ISP -In System Programming - denmektedir[1]. 3.2. Bu Projede PIC Tercih Edilmesinin Sebepleri PIC, Harvard mimarisi temelli 8 bitlik bir mikro denetleyicidir. Bu mimaride, bellek ve veri için ayrı yerleşik veri yolları bulunmaktadır. Böylelikle mikroişlemcinin, veriye ve program belleğine eş zamanlı erişimi sayesinde işlem hızı arttırılmış olur. Geleneksel mikro denetleyicilerde veri ve programı taşıyan bir tek yerleşik veri yolu bulunur. Bu, PIC'le karşılaştırıldığında işlem hızını en az iki kat yavaşlatır. Tüm komutlar 12 veya 14 bit'lik bir program bellek sözcüğüne sığar. Yazılımın, programın veri kısmına atlamaya ve veriyi komut gibi çalıştırması mümkün değildir. Bu risk, 8 bitlik tek veri yolu kullanan ve Harvard mimarisi temelli olmayan mikro denetleyicilerde ortaya çıkmaktadır. 16Cxx ve 16Fxx ailesi mikro denetleyicileri programlamak için 35 farklı assembly komutu bulunmaktadır. PIC tarafından kullanılan komutların hepsi saklayıcı (register) temellidir ve 14 bit uzunluğundadır. CALL, GOTO ve bit test eden BTFSS, INCFSZ gibi komutlar

11 dışında, her bir komut, tek bir çevrimde çalışır. Başarılı bir uygulama veya ürün isteniyorsa yazılım hatasız olmalıdır. Yazılım assembly veya ikili kodlar halinde oluşturulabileceği gibi PicBasic, C gibi yüksek seviyeli dillerle de oluşturulabilir. PIC, osilatör ve yerleşik saat yolu (clock bus) arasına bağlı yerleşik bir (divide by 4) 4 lü bölünmeye sahiptir. Bu özellikle 4 MHz'lik kristal kullanıldığında komut sürelerinin hesaplanmasında kolaylık sağlar. Her bir komut döngüsü 1 ms' dir. PIC oldukça hızlı bir mikro denetleyicidir. Örneğin 5 milyon komutluk bir programın, 20 MHz' lik bir kristalle adımlanması yalnız 1 saniye sürer. Bu süre 386 SX 33 mikroişlemcisinin hızının neredeyse 2 katıdır.pic tamamıyla statik bir mikroişlemcidir. Başka bir deyişle saati durdurulduğunda, tüm saklayıcı içeriği korunur. Pratikte bunu tam olarak gerçekleştirmek mümkün değildir. PIC'i uyutma moduna getirdiğinizde, saat durur ve PIC, uyutma işleminden önce hangi durumda olduğunu kullanıcıya hatırlatacak çeşitli bayraklar kurar. PIC uyuma modunda yalnızca 1 ma'dan küçük bir değere sahip bekleme (standby) akımı çeker. 3.3. PIC16F877 Özellikleri ve Yapısı PIC16F877, belki en popüler PIC işlemcisi olan PIC16F84 ten sonra kullanıcılarına yeni ve gelişmiş olanaklar sunmasıyla hemen göze çarpmaktadır. Program belleği FLASH ROM olan PIC16F877 de, yüklenen program PIC16F84 te olduğu gibi elektriksel olarak silinip yeniden yüklenebilmektedir. Özellikle PIC16C6X ve PIC16C7X ailesinin tüm özelliklerini barındırması, PIC16F877 yi kod geliştirmede de ideal bir çözüm olarak gündeme getirmektedir. Konfigürasyon bitlerine dikkat etmek şartıyla C6X veya C7X ailesinden herhangi bir işlemci için geliştirilen kod hemen hiçbir değişikliğe tabi tutmadanf877 e yüklenebilir ve çalışmalarda denenebilir. Bunun yanı sıra PIC16F877, PIC16C74 ve PIC16C77 işlemcileriyle de bire bir bacak uyumludur[2].

12 Şekil 3.1 PIC16F877 Bacak Tanımlamaları 3.3.1. PIC16F877 Portlarının Fonksiyonları 3.3.1.1. Port A Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 6 bit genişliğindedir (PICF84 de 5 bittir). RA0, RA1, RA2, RA3, RA4 ve RA5 bitleri analog / sayısal çevirici olarak konfigüre edilebilmektedir. Buna ek olarak RA2 ve RA3 gerilim referansı olarak da konfigüre edilebilmektedir. (bu durumda bu bitler aynı anda A / S çevirici olarak kullanılamamaktadır). İşlemciye ilk defa gerilim uygulandığında RA4 hariç diğer beş PORTA biti A / S çeviricidir. Eğer RA portunun bazı bitlerini sayısal giriş / çıkış olarak kullanmak istersek ADCON1 yazmacında değişiklik yapmamız gerekmektedir. Yazmaçlardaki değişikliklerin nasıl yapılacağı, tümdevrenin kataloğunda bulunmaktadır. Bu projede A portu analog giriş olarak kullanılmış ve algılayıcılardan gelen sıcaklığa bağlı gerilim değerleri A / S çevirici yardımıyla sayısallaştırılmıştır.

13 3.3.1.2. Port B Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. B portunun her bacağı dahili bir dirençle Vdd ye bağlıdır. Bu özellik varsayılan olarak etkin değildir. Ancak OPTION yazmacının 7. bitini 0 yaparak B portunun bu özelliği etkinleştirilebilir. RB4 - RB7 bacakları aynı zamanda bacakların sayısal durumlarında bir değişiklik olduğunda INTCON yazmacının 0. biti olan RBIF bayrağını 1 yaparak kesme oluşturmaktadır. Bu özelliği, işlemci SLEEP konumundayken, devreye bağlı tuş takımının her hangi bir tuşa basıldığında işlemcinin yeniden etkinleşmesi için kullanabilir. Bütün bunların yanı sıra RB6 ve RB7 yüksek gerilim programlama, RB3 ise düşük gerilim programlama modlarında da kullanılmaktadır. 3.3.1.3. Port C Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. Tüm port bacakları Schmitt Trigger girişlidir. TRISE yazmacının 4. biti olan PSPMODE bitini 1 yaparak parallel slave mode da kullanılabilir. Bu fonksiyon aracılığıyla 8 bit genişliğindeki her hangi bir mikroişlemci bus ına bağlanabilir. 3.3.1.4. Port D Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. Tüm port bacakları Schmitt Trigger girişlidir. TRISE yazmacının 4.biti olan PSPMODE bitini 1 yaparak paralel slave modda kullanılabilir. Bu fonksiyon aracılığıyla 8 bit genişliğindeki herhangi bir mikroişlemci bus ına bağlanabilir. 3.3.1.5. Port E Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 3 bit genişliğindedir. RE0, RE1 ve RE2 bacaklarında Schmitt Trigger giriş tamponları vardır. Her bir bacak analog / sayısal çevirici olarak konfigüre edilebilmektedir. Eğer port d, paralel slave port olarak konfigüre edilirse, RE0, RE1 ve RE2 bacakları port d nin bağlandığı mikroişlemci bus ına sırasıyla READ, WRITE ve CHIP SELECT kontrol girişleri olarak kullanılabilmektedir. Bunun için TRISE uygun biçimde ayarlanmalıdır. İlgili yazmaçlar ve adresleri aşağıdaki gibidir. RE portlarının A / S veya sayısal giriş / çıkış

14 olarak seçiminde kullanılmaktadır. İşlemciye ilk defa gerilim uygulandığında üç port e biti de A / S çeviricidir. Eğer RE portunun bazı bitlerini sayısal giriş / çıkış olarak kullanmak istenirse ADCON1 yazmacında değişiklik yapılması gerekecektir. 3.3.2. Özel Fonksiyonlar 3.3.2.1. Paralel Slave Port TRISE yazmacının PSPMODE biti 1 yapıldığında PORTD 8 bit genişliğinde mikroişlemci portu olarak kullanabilir. Bu arada RE0, RE1 ve RE2 yi, TRISE ve ADCON1 yazmaçlarında ilgili ayarları yaparak sayısal giriş olarak da tanımlamak gerekmektedir. Böylece harici bir mikroişlemci, RE0, RE1 ve RE2 yi kontrol olarak kullanarak 8 bitlik veri bus ına bağlı PIC16F877 nin port d kısmına hem veri yazabilmekte, hem de okuyabilmektedir. 3.3.2.2. USART USART, yani senkron / asenkron alıcı verici PICF877 deki iki seri giriş / çıkış biriminden biridir. Seri iletişim arayüzü ( SCI ) olarak da bilinen USART, monitör veya PC gibi aygıtlara tam çift yönlü asenkron bağlantıda kullanılmak üzere konfigüre edilmiştir. A / S veya S / A arayüzlerine, seri kullanılmak üzere konfigüre edilebilmektedir. USART aşağıdaki gibi konfigüre edilebilmektedir. Asenkron : Tam çiftyönlü Senkron : Master, yarım çift yönlü Senkron : Slave, yarım çift yönlü RC6 verici, RC7 ise alıcı port olarak kullanılmaktadır. RCSTA ( 0x18 ) ve TXSTA ( 0x98) yazmaçları da konfigürasyonda kullanılmaktadır. 3.3.2.3.Master Synchronous Serial Port (MSSP) MSSP birimi, diğer çevre birimleri veya mikroişlemcilerle seri iletişimde kullanılmaktadır. Bu çevre birimleri seri EEPROM, kaydırmalı yazmaçlar ( shift register ), gösterge sürücüleri, A / S çeviriciler vb. olabilir. MSSP birimi aynı anda aşağıdaki iki moddan birine konfigüre edilebilir. RC5: Seri veri çıkışı ( SDO: Serial data out ) RC4: Seri veri girişi ( SDI: Serial data in )

15 RC3: Seri saat ( SCK: Serial clock ) Bu modlardan birine göre konfigüre etmek içinse SSPSTAT (senkron seri port durum yazmacı, 0x94), SSPCON (senkron seri port kontrol yazmacı, 0x14) ve SSPCON2 (senkron seri port kontrol yazmacı 2,0x91) yazmaçları ayarlanmalıdır. 3.3.2.4. Analog / Sayısal Çevirici Birimi A / S çevirici birimi 16C7X ailesinden farklı olarak 10 bittir. Toplam 8 A / S kanal bulunmaktadır. PIC16F877 nin güzel bir özelliği de işlemci SLEEP modunda iken bile A / S çeviricinin geri planda çalışmasıdır. A / S kanalları için RA4 hariç diğer RA portları ve RE portları kullanılabilir. 3.3.2.5. Yakalama / Karşılaştırma ve PWM Birimi Her capture / compare ve pwm birimi 16 bitlik yakalama yazmacı, 16 bitlik karşılaştırma yazmacı veya 16 bitlik PWM (darbe genişlik modülasyonu) yazmacı olarak kullanılmaktadır. Yakalama modunda, TMR1 yazmacının değeri, RC2 / CCP1 bacağının durumunda bir gelişme olduğunda CCPR1H:CCPR1L yazmaçlarına yazılmakta ve PIR1 yazmacının 2. biti olan CCP1IF kesme bayrağı 1 olmaktadır. RC2 bacağının durumu, her düşen kenarda, her yükselen kenarda, her yükselen 4. veya 16. kenarda kontrol edilecek şekilde CCP1CON yazmacı aracılığıyla ayarlanarak konfigüre edilebilir. Karşılaştırma modu ise CCPR1 yazmacındaki 16 bitlik değer düzenli olarak TMR1 yazmaç değeriyle karşılaştır ve bir eşitlik olduğunda RC2 / CCP1 bacağı CCP1CON yazmacında yaptığımız ayara göre 1, 0 olur veya durumunu korur. PWM modunda ise RC2 / CCP1 bacağı 10 bit çözünürlükte darbe genişlik modülasyonlu bir işaret üretecek şekilde konfigüre edilebilir. PR2 yazmacı darbe genişlik periyodunun tayininde kullanılmaktadır. 3.3.3. RAM Bellek PIC16F877 nin 0x00~7Fh adres aralığına ayrılmış olan RAM belleği vardır. Bu bellek içerisindeki dosya yazmaçları içerisine yerleştirilen veriler PIC işlemcisinin çalışmasını kontrol etmektedir. File register adı verilen özel veri alanlarının dışında kalan diğer bellek alanları, normal RAM bellek olarak kullanılmaktadırlar.

16 3.3.4. PIC16F877 nin Besleme Uçları ve Beslenmesi PIC16F877 nin besleme gerilimi 11, 12 ve 31, 32 numaralı bacaklardan uygulanmaktadır. 11 ve 32 numaralı Vdd ucu +5 V a ve 12, 31 numaralı Vss ucu toprağa bağlanır. PIC e ilk defa enerji verildiği anda meydana gelebilecek gerilim dalgalanmaları nedeniyle oluşabilecek istenmeyen arızaları önlemek amacıyla 100nF lık dekuplaj 19 kondansatörünün devreye bağlanması gerekmektedir. PIC ler CMOS teknolojisi ile üretildiklerinden 2 ila 6 Volt arasında çalışabilmektedirler. +5 V luk bir gerilim ise ideal bir değer olmaktadır. 3.3.5. PIC16F877 nin Reset Uçları Kullanıcının programı kasti olarak kesip başlangıca döndürebilmesi için PIC in 1 numaralı ucu MCLR olarak kullanılmaktadır. MCLR ucuna 0 Volt uygulandığında programın çalışması başlangıç adresine döner. Programın ilk başlangıç adresinden itibaren tekrar çalışabilmesi için, aynı uca +5 Volt gerilim uygulanmalıdır. 3.3.6. PIC16F877 nin Saat Uçları ve Osilatör Tipleri PIC16CXX mikrodenetleyicilerinde 4 çeşit osilatör bulunmaktadır. Kullanıcı bu 4 çeşitten birini seçerek iki konfigürasyon bitini (FOSC1 ve FOSC2) programlayabilir. Bu osilatör çeşitleri Tablo 3.21 te verilmiştir. PIC16F877 de saat uçları 13. ve 14. bacaklardır. Hazırlanacak olan PIC programlarında kullanılan osilatör tipi PIC programının çalışma hızını ve hassasiyetini etkileyeceğinden dolayı amaca uygun bir osilatör devresi kullanılmalıdır. Tablo 3.1 te farklı osilatör çeşitleri ve özellikleri görülmektedir. Osilatör tipinin seçiminde dikkat edilecek bir başka nokta ise, seçilecek olan osilatörün kullanılan PIC in özelliğine uygun olmasıdır. Örnek verecek olursak; en fazla 10 MHz çalışma frekansına sahip bir PIC16F877 için 20 MHz lik bir osilatör kullanmak doğru olmaz. Fakat daha düşük bir frekans değeri ile çalışan bir osilatör devresi kullanılabilir.

17 Tablo 3.1 Osilatör Çeşitleri OSİLATÖR TİPİ TANIMI ÖZELLİĞİ FREKANSI LP Kristal osilatör veya seramik rezonatör Asgari akım 40 KHz XT Kristal osilatör veya seramik rezonatör Genel amaçlı 4 MHz HS Kristal osilatör veya seramik rezonatör Yüksek hız 20 MHz RC Direnç/Kapasitör zaman sabiti Düşük maliyet 4 MHz 3.3.6.1. Kristal Osilatör / Seramik Rezonatör XT, LP ve HS modları, RC osilatörlere nazaran çok daha hassastırlar. Bu modlar, kristal osilatör veya rezonatörlerin, OSC1 / CLKIN ve OSC2 / CLKOUT uçlarına bağlanmalarıyla kurulmaktadır. Tablo 3.2 te hangi frekansta kaç pf lık kondansatör kullanılması gerektiği belirtilmiştir. Tablo 3.2 Frekansa Göre Kondansatör Seçimi OSİLATÖR TİPİ FREKANS KONDANSATÖR LP 32 KHz 33-68 pf 200 KHz 15-37 pf 100 KHz 47-100 pf XT 500 KHz 20-68 pf 1 MHz 15-68 pf 2 MHz 15-47 pf HS 4 MHz 15-33 pf 8 MHz 15-47 pf 20 MHz 15-47 pf 3.3.6.2. RC Osilatör Zamanlamanın çok hassas olmadığı durumlarda RC ikilisi osilatör kaynağı olarak kullanılmaktadır. RC osilatör, maliyetin azaltılmasını sağlamaktadır. Kullanıcı dış R ve C elemanlarının toleransı nedeniyle meydana gelen değişiklikleri de dikkate almalıdır. Direncin değeri 3 ila 100 KOhm arasında seçilmelidir. 1 MOhm gibi yüksek direnç değerleri osilatörü gürültü ve nem gibi çevresel etkilere karşı duyarlı hale getirir. Direnç 2 KOhm değerinin altında ise, osilatör kararsız hale gelebilmekte, hatta tamamıyla durabilmektedir.

18 3.4. Pic Basic LCD, EEPROM, analog dijital çevirme, seri haberleşme, shift register, çeşitli şekillerde sinyal çıkışı almak ve birçok sık görülen uygulamanın Pic le kolay yapılabilmesi için bu işleri yapan Assembly komutları makrolar halinde toplanmış ve Pic Basic dili oluşturulmuştur. Bu porgram dili bu tür işleri sadece parametreleri olan birer komuta indirgemiştir. Bunlara örnek olarak 24Cxx serisi EEPROM larla bilgi alışverişini sağlayan I2CREAD, I2CWRITE, LCD ekrana yazı yazan LCDOUT, koşul kontrolünü sağlayan IF...THEN...ELSE...ENDIF ve WHILE...WEND, Pic in içindeki EEPROM la bilgi alışverişini sağlayan READ, WRITE ve senkron ve asenkron seri haberleşmeyi sağlayan SHIFTIN, SHIFTOUT, SERIN, SEROUT komutları gösterilebilir[4]. 3.4.1. Pic Basic te Matematik Operatörleri: Tablo 3.3 Pic Basic te Matematik Operatörler Operatör Açıklaması + Toplama - Çıkarma * Çarpma ** 16 bit çarpma W0 = 250 W1 = W0 ** 1000 250000 = %111101000010010000 Sonucun üst 16 bitini W1 e atar. / Bölme // Bölümden kalan B = 12 C=5 A = B // C B nin C ye bölümünden kalan 2 yi A ya atar. << Sola kaydırma B0 = B0 << 3 BO ın içindeki bitler üç kez sola kaydı. >> Sağa kaydırma ABS Mutlak değer A=5 B=2 C=(B A) C=253 C = ABS (B A) C = 3 COS Kosinüs 0-360 derece 0-255 binary karşılıklarıyla ifade ediliyor.

19 B0=63 B1=COS B0 B1=0 B0 daki 63 sayısı 90 derecenin karşılığı. SIN Sinüs DIG Sayının içinden hane seçme B0=123 B1=B0 DIG1 B1=2 MAX Verilen iki sayı arasından en büyük sayıyı seçer MIN Verilen iki sayı arasından en küçük sayıyı seçer NCD Sayının içinde en soldaki 1 bitinin kaçıncı bit olduğunu verir B0=NCD %01001000 B0=7 DCD Söylenen biti 1 yapar, gerisini sıfırlar REV Değişken içinde yanındaki sayı kadar alt bitin sırasını ters çevirir A=01000011 B=A REV3 B=01000110 SQR Karekök alır B=4 A=SQR B A=2 B=5 A=SQR B A=2 & İki sayının binary karşılığını VE işlemine sokar İki sayının binary karşılığını VEYA işlemine sokar ^ İki sayının binary karşılığını ÖZELVEYA işlemine sokar ~ Bir sayının binary karşılığını DEĞİL işlemine sokar &/ İki sayının binary karşılığını VEDEĞİL işlemine sokar / İki sayının binary karşılığını VEYADEĞİL işlemine sokar ^/ İki sayının binary karşılığını ÖZELVEYADEĞİL işlemine sokar 3.4.2. Pic Basic te Karşılaştırma Operatörleri Tablo 3.4 Pic Basic te Karşılaştırma Operatörleri =, == Eşit <>,!= Eşit değil < Küçüktür > Büyüktür <= Küçük eşit >= Büyük eşit

20 3.4.3. Pic Basic te Mantıksal Operatörler Tablo 3.5 Pic Basic te Mantıksal Operatörler AND, && OR, XOR, ^^ NOT AND NOT OR NOT XOR Mantıksal VE Mantıksal VEYA Mantıksal ÖZELVEYA Mantıksal VEDEĞİL Mantıksal VEYADEĞİL Mantıksal ÖZELVEYADEĞİL 3.4.4. Pic Basic te Komutlar Tablo 3.6 Pic Basic te Komutlar @ ADCIN Channel, Var ASM..ENDASM BRANCH Index, [Label...] CALL Label CLEAR CLEARWDT COUNT Pin, Period, Var DATA Location, Constant DEBUG Var {,Var} DEBUGIN {Timeout, Label} [Var] Tek satırlık assembly komutu kullanmak için. Channel daki analog değerin karşılığını Var a atar. Assembly komut grubu kullanmak için. Label dizisinde Index sayısını karşılayan seçeneğe yönlendirir. Assembly deki CALL komutunun aynısı Bütün değişkenleri sıfırlar WDT nin içindeki değeri sıfırlayarak WDT yi kapatır. Belirli bir periyod içinde gelen puls sayısını Var a atar Pic e program yüklenirken dahili EEPROM a Location adresinden başayarak Constant ları yükler Define komutuyla önceden belirlenmiş bir pin üzerinden önceden belirlenmiş bir hızda (baud rate) seri haberleşme yoluyla Var daki veriyi yollar. Define komutuyla önceden belirlenmiş bir pin üzerinden önceden belirlenmiş bir hızda (baud rate) seri haberleşme yoluyla gelen veriyi Var a atar.

21 DISABLE DISABLE DEBUG DISABLE INTERRUPT DTMFOUT Pin, {Onms, Offms,} [Tone] EEPROM Location, Constant ENABLE ENABLE DEBUG ENABLE INTERUPT END FOR i=start TO End Task NEXT i FREQOUT Pin, Onms, Frequency GOSUB Label GOTO Label HIGH Pin HPWM Channel, Dutycycle, Frequency HSERIN {ParityLabel,} {Timeout,Label,} [Var] HSEROUT [Var] I2CREAD DataPin, Interrupt girişi ve Debug işlemlerini engeller. Debug işlemini engeller. INTCON.GIE yi sıfırlayarak interrupt girişini kapatır. Tone tuşunun telefondaki sesini Onms süresi boyunca tuşlar arasında Offms süresi kadar bekleterek çıkarır. Onms ve Offms belirtilmemişse 200ms Onms, 50 ms Offms süresi kullanır. DATA yla aynı işi yapar DISABLE komutundan sonra interrupt girişine ve Debug komutuna izin verir. DISABLE komutundan sonra Debug komutuna izin verir. DISABLE komutundan sonra interrupt girişine izin verir. Assembly deki END in aynısıdır. Start değerinden End değerine kadar i yi birer birer arttırarak Task i uygular. Pin bacağında Onms süresi boyunca Frequency frekansında sinüs dalgası üretir. Call komutuyla aynı işi yapar. Assembly deki GOTO işleminin aynısı. Pin bacağını bir yapar. 16F877 gibi PWM modülü olan mikrodenetleyicilerde bu modülün Channel numaralı kanalından %(Duty+1)/2.56 duty cycle da Frequency frekansında PWM çıkışı sağlar 16F77 gibi USART özelliği olan mikrodenetleyicilerde donanım asenkron seri haberleşme hattından veri bekler, gelen veriyi Var a atar, Timeout ms süre boyunca veri gelmezse Label bloğuna gider. 16F77 gibi USART özelliği olan mikrodenetleyicilerde Var daki veriyi donanım asenkron seri haberleşme hattına yollar. Control ve Address verilerini yollar, harici EEPROM un

22 ClockPin, Control, Address, Var I2CWRITE DataPin, ClockPin, Control, Address, Var IF..THEN..ELSE..ENDIF INPUT Pin LCDIN Address, Var LCDOUT Item {LET} Var = Value LOOKDOWN Search, [List], Var Address bölgesinden gelen veriyi Var a atar. Control ve Address bilgilerini yollayıp, harici EEPROM un Address bölgesine Var daki veriyi atar. If ten sonra gelen şart doğruysa Then den sonraki işlemi, değilse Else ten sonraki işlemi yapar. Belirtilen Pin i giriş yapar. LCD deki RAM in Address bölgesindeki veriyi Var a atar. Item deki değeri LCD ye gönderir Var a Value daki işlem veya değeri atar. Gerekli değil Search teki veriyi List in içinde arar, o verinin List teki 0 dan başlayarak kaçıncı veri olduğunu Var a atar. LOOKDOWN2 Search,Test, LOOKDOWN dan farkı List in içinde 16 bit gerektiren [List], Var (256 dan büyük) değerler kullanılabilmesi ve Test için karşılaştırma operatörü kullanılırsa şartı sağlayan ilk sayıyı seçmesidir. LOOKUP Index, [List], Var List in içinde Index teki sayıya karşılık gelen veriyi Var a atar. LOOKUP2 Index, [List], Var LOOKUP tan farkı List in içinde 256 dan büyük sayı kullanılabilmesidir. LOW Pin Belirtilen Pin i sıfırlar. NAP Period 18*2 Period ms süre için uyku moduna girer. ON DEBUG GOTO Label Debug geldiğinde Label daki işlemleri yapar. ON INTERRUPT GOTO Interrupt geldiğinde Label daki işlemleri yapar. Label OUTPUT Pin Pin i çıkış bacağı yapar. PAUSE Period Period daki sayı kadar milisaniye bekler. PAUSEUS Period Period daki sayı kadar mikrosaniye bekler. POT Pin, Scale, Var Pin deki potansiyometrenin ayarına göre Scale içindeki

23 PULSIN Pin, State, Var PULSOUT Pin, Period PWM Pin, Duty, Cycle RANDOM Var RCTIME Pin, State, Var READ Address, Var READCODE Address, Var RESUME RETURN REVERSE Pin SELECT CASE Var CASE Expr1 Statement CASE Expr2 Statement CASE ELSE Statement END SELECT SERIN Pin, Mode, {Timeout, Label}, [Qual], Var SERIN2 Pin, Mode, {Timeout, Label}, [Qual], Var uygun değeri Var a atarak Pin e gelen State (0 veya 1) pulsun süresinin kaç 10us (4MHz; 20MHz de 2us) olduğunu Var a atar. Pin üzerinden Period daki sayı kadar 10us(4MHz; 20MHz de 2us) süresince olan işaretin(0 veya 1) tersi puls verir. Pin den % (Duty+1)/2.56 duty cycle da Cycle daki değer kadar periyod boyunca PWM çıkışı sağlar. 0-255 arasında rastgele bir sayı seçip Var a atar. Pin in State(0 veya 1) durumunda kalma süresinin kaç 10us (4MHz; 20MHz de 2us) olduğunu Var a atar. Dahili EEPROM un Address bölgesindeki bilgiyi Var a atar. READ komutundan farkı 16 bit verileri kullanması. Interrupt la devreye giren program bloğunu bitirir, ana programın kaldığı yere geri dönüş sağlar. Call la çağrılan program bloğunu bitirir, ana programın kaldığı yere geri dönüş sağlar. Pin girişse çıkış yapar, çıkışsa giriş yapar. Var ın içindeki değeri Expr lerin içinde arar, bulduğu seçeneğin altındaki Statement komutunu işler, bulamazsa Case Else in altındaki Statement komutunu işler. Pin e bağlı asenkron seri haberleşme hattından Mode la belirtilen hızda (baud rate) veri bekler, gelen veriyi Var a atar, Timeout ms süre boyunca veri gelmezse Label bloğuna gider. [Qual] varsa verinin içinde Qual dan sonraki ilk veriyi Var a atar. SERIN den farkı standart bağlantı hızlarından farklı hızlar (baud rate) kullanılmasına izin vermesidir. Mode daki sayı (1000000/hız)-20 olarak hesaplanır.

24 SEROUT Pin,Mode, [Var] SEROUT2 Pin, Mode, [Var] SHIFTIN Datapin, Clockpin, Mode, Var SHIFTOUT Datapin, Clockpin, Mode, Var SLEEP Period SOUND Pin, [Note, Duration,{Note, Duration} ] STOP SWAP Var1, Var2 TOGGLE Pin WHILE Condition Statement WEND WRITE Address, Var WRITECODE Address,Var XIN Datapin, Zeropin, {Timeout, Label}, [Var] XOUT Datapin, Zeropin, [Housecode\Keycode Var ın içindeki verileri Pin üzerinden Mode hızında (baud rate) asenkron seri haberleşme hattına gönderir. SEROUT tan farkı standart bağlantı hızlarından farklı hızlar (baud rate) kullanılmasına izin vermesidir. Mode daki sayı (1000000/hız)-20 olarak hesaplanır. Datapin e bağlı senkron seri haberleşme hattından Clockpin e bağlı ortak osilasyonu kullanarak Mode la belirtilen transfer protokolünü kullanarak veri alır ve Var a atar. Datapin e bağlı senkron seri haberleşme hattına Clockpin e bağlı ortak osilasyonu kullanarak Mode la belirtilen transfer protokolünü kullanarak Var daki verileri gönderir. Period s süresi için uyku modunda kalır. Pin üstünden Note (1-127) notasını Duration*12ms süreyle üretir. Sonsuz nop döngüsü. Var1 ve Var2 nin içeriklerini takas eder. Pin deki değeri (0 veya 1) tersine çevirir. Condition doğrulandığı sürece Statement komutunu uygular. Var daki veriyi dahili EEPROM un Address bölgesine atar. WRITE komutundan farkı 16 bit verileri kullanması. Datapin ve Zeropin e bağlı X-10 interface entegresinden veri bekler, gelen veriyi Var a atar, Timeout ms süre boyunca veri gelmezse Label bloğuna gider. Datapin ve Zeropin e bağlı X-10 interface entegresine Housecode ve Keycode verilerini yollar.

25 3.4.5. Pic Basic Programlama Hakkında Açıklamalar Burada verilen örneklerde görünmese de Pic Basic te program içinde kullanılan açıklama metinleri önlerine işareti eklenerek ayrılırlar. Zamanlama kullanan bütün fonksiyonlar standart olarak 4 Mhz lik kristal osilatör kullanılacağı öngörülerek ayarlanmıştır. Örneğin 20 MHz lik bir osilatör kullanılacaksa programın başında Define osc 20 komutuyla yeni osilatör programa tanıtılır. Aşağıda görülen tanımlamalar o komutların kullanılacağı programın başında yazılmalıdır. 3.4.5.1. Debug Komutu İçin Gerekli Tanımlamalar DEFINE DEBUG_REG PORTB DEFINE DEBUG_BIT 0 DEFINE DEBUG_BAUD 2400 DEFINE DEBUG_MODE 1 Debug verisinin yollanacağı bacağı RB0 olarak seçti. Debug verisinin yollanacağı hızı 2400 olarak belirledi. Debug verisini invert ederek gönderecek, 0 olsaydı olduğu gibi gönderecekti. 3.4.5.2. Debugin Komutu İçin Gerekli Tanımlamalar DEFINE DEBUGIN_REG PORTB Debug verisinin alıcağı bacağı seçti. DEFINE DEBUGIN_BIT 0 DEFINE DEBUGIN_BAUD 2400 Debug verisinin alınacağı hızı 2400 olarak belirledi. DEFINE DEBUGIN_MODE 1 Debug verisinin invert edilmiş olarak geleceği anlatıldı, 0 olsaydı olduğu gibi geleceği anlaşılacaktı. 3.4.5.3. Hserin, Hserout Komutu İçin Gerekli Tanımlamalar DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 2400

26 3.4.5.4. DTMF ve Freqout Komutlarının Kullanımı İçin Gerekli Devre Şekil 3.2 de dtmf ve freqout komutlarının kullanımı için gerekli devre verilmiştir. Pic 1K 1K Output 100nF 100nF Şekil 3.2 DTMF ve Freqout Komutlarının Kullanımı İçin Gerekli Devre 3.4.5.5. I2CREAD, I2CWRITE Komutlarının Kullanımı İçin Gerekli Devre Şekil 3.3 de I2cread ve I2cwrite komutlarının kullanımı için gerekli devre verilmiştir. 5 V P i c S C L K A 0 S D A T A 1 A 2 V s s 2 4 L C x x V c c W P S C L K S D A T Şekil 3.3 I2CREAD, I2CWRITE Komutlarının Kullanımı İçin Gerekli Devre 3.4.5.6. LCD Komutları İçin Gerekli Tanımlamalar DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 4 DEFINE LCD_RSREG PORTB DEFINE LCD_REBIT 0 DEFINE LCD_RWREG PORTB DEFINE LCD_RWBIT 1 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 2 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2

27 3.4.5.6.1. LCD de Karakter Yazma Dışındaki İşlemler LCDOUT $FE, 1 LCDOUT $FE, 2 LCDOUT $FE, $0C LCDOUT $FE, $0E LCDOUT $FE, $0F LCDOUT $FE, $10 LCDOUT $FE, $14 LCDOUT $FE, $C0 LCDOUT $FE, $94 LCDOUT $FE, $D4 Ekranı temizleme Üst satırın ilk harfine gitme İmleçi gizler Alt çizgiyi açar Yanıp sönen imleçi açar İmleçi bir adım sola alma İmleçi bir adım sağa alma İmleçi ikinci satırın ilk harfine götürme İmleçi üçüncü satırın ilk harfine götürme İmleçi dördüncü satırın ilk harfine götürme 3.4.5.7. Pauseus Komutuyla Kullanılabilecek Minimum Bekleme Süreleri 4MHz osilatör 24us 8MHz osilatör 12us 10MHz osilatör 8us 20MHz osilatör 3us 3.4.5.8. Pot Komutunun Kullanımı İçin Gerekli Devre Şekil 3.4 de pot komutunun kullanımı için gerekli devre verilmiştir. 1 Pic 2 5-50K 3 100nF Şekil 3.4 Pot Komutunun Kullanımı İçin Gerekli Devre

28 3.4.5.9. PWM Komutunun Kullanımı İçin Gerekli Devre Şekil 3.5 de Pwm komutunun kullanımı için gerekli devre verilmiştir. Pic 10K 1 Analog Output 1uF 2 Şekil 3.5 PWM Komutunun Kullanımı İçin Gerekli Devre 3.4.5.10. Serin Komutunda Mode a Belirtilebilen Hız Tanımları T sinyalin aynı şekilde, N ise invert edilerek aktarıldığını belirtir. Yandaki sayı saniyede gönderilen veri paketi sayısıdır. T2400 N2400 T1200 N1200 T9600 N9600 T300 N300

4. KABLOSUZ HABERLEŞME Başlangıçta sadece ses haberleşmesini karşılamak amacıyla tasarlanan haberleşme şebekeleri artık veri iletişimini de kapsayacak şekilde tasarlanabilmektedir. Veri hızını kullanılan frekans ve frekans üstündeki frekans aralığı belirler. Sınırlı bant hızlarında veri hızları sınırlıdır. 19200 bps hız için 25kHz, 9600 bps hız için ise 12.5kHz kanal aralığı yeterlidir. Veri bütünlüğü trafik içinde bozulmamalı, beklememeli ve kaybolmamalıdır. Sistem hatalara karşı koruma ve düzeltme teknikleri içermelidir. Kullanım Alanları ; Endüstriyel Otomasyon Sistemleri Su Pompa İstasyonları Kontrol ve Otomasyon Sistemleri Boru Hatları Uzak Mesafeli Network Sistemleri (WAN) Sınırlı Alanlarda Kablosuz Network Sistemleri (LAN) Trafik Lambaları Kontrolu Süreç Kontrolü...vs Gelişen teknolojide kablosuz veri transferi de önemini artırarak koruyacağı kesindir. 4.1. Radyo Frekanslı Sistemler Radyo Frekanslı (RF) Sistemler, adından da anlaşılacağı üzere, verinin radyo dalgalarıyla kablosuz olarak cihaz ve bilgisayar arasında iletilmesini sağlar. Bu tarz uygulamalarda anında (online) iletişim sağlanmakta ve iletişim sırasında kablo ve haberleşme birimleri kullanılmadığından, kablodan veya haberleşme birimlerinden kaynaklanabilecek problemler yaşanmamaktadır. Ayrıca, veri alış verişi doğrudan arka plandaki uygulamaların çalıştığı platformlarla (bilgisayar sistemleriyle) yapıldığından, genellikle cihazlar üzerinde program yazma gereksinimi olmadan "tak ve çalıştır" yapısındadır.

30 4.1.1. Sistemin Özellikleri -Ana bilgisayar sistemiyle kablosuz ve anında haberleşilir. -Anlık sorgulamalar kablosuz ve hızlı biçimde yapılır. -Veri anlık olarak ve kablosuz gönderilir. -433 mhz, 450-470 MHz ve 2.4 GHz frekanslarında çalışılabilir. -Toz, tazyikli su ve helikopter testlerinden geçmiş, endüstriyel standartlara sahip cihazlar kullanılır. -Mevcut uygulamalarda büyük değişiklik yapmadan kullanılır. -Kısa sürede kullanıma geçilir. 4.1.2. Sistemi Oluşturan Unsurlar -433 MHz,450 470 Mhz Dar Band, 2.44 GHz Spread Spectrum. -Gerekli kapsama alanını sağlayacak kadar istasyon ünitesi. -Veri toplama ve entegrasyon yazılımı. -Gerekli kapsama alanını sağlayacak kadar sisteme giriş noktası. 4.2. Serbest Uzay Modeli Radyo sistemleri bilgileri, serbest bir uzayda dağılır. Doğal olarak diğer dağıtım sistemlerinde karşılaşılan problemlerle bu dağıtım sistemlerinde karşılaşmak söz konusu değildir. Örneğin kablolu sistemler fiziksel bir ortama gereksinim duyarlar ve bunları bazı coğrafik alanlara kurmak hemen hemen olanaksızdır. Radyo sistemlerini özelliklerini aşağıdaki şekilde özetlemek olasıdır; Göl ve nehir gibi engellerin kolayca aşılmasını sağlar. Bu ortamlarda kullanılması olası bakır malzemelere su ulaşmasını engellemek için çok pahalı özel bazı malzemelere gereksinim vardır. Dağların ve derin vadilerin aşılmasında da çok büyük güçlükler yaşanır. Bu gibi yerlerde hem kuruluş çok güçtür hem de çok pahalıdır. Yöresel telefon sağlayıcıları veya telefon şebekesini kolayca aşmak olanaklıdır.