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Ü
SES KONTROLLÜ ELEKTRONİK ANAHTAR
BİTİRME ÇALIŞMASI
Hazırlayanlar:
Ali Mert ÇETİN 164051
Utku ŞAHİN 164078
BAHAR 2011
TRABZON
A-PDF Merger DEMO : Purchase from www.A-PDF.com to remove the watermark
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Ü
SES KONTROLLÜ ELEKTRONĠK ANAHTAR
BĠTĠRME ÇALIġMASI
Hazırlayanlar:
Ali Mert ÇETĠN 164051
Utku ġAHĠN 164078
Tez DanıĢmanı: Öğr. Gör. Oğuzhan ÇAKIR
BAHAR 2011
TRABZON
II
ÖNSÖZ
Günümüzde elektronik cihazların birçok uygulaması mevcuttur. Ses kontrollü
bilgisayar, telefon, güvenlik kapıları bu uygulamalara örnek olarak verilebilir. Bu
çalışmada ses kontrollü elektronik bir anahtar tasarlanmış ve gerçekleştirilmiştir.
Çalışmalarımız boyunca bize değerli zamanını ayıran ve verdiği fikirler ile bizi
yönlendiren hocamız Sayın Öğr. Gör. Oğuzhan ÇAKIR’a teşekkür ederiz.
Ayrıca hayatımız boyunca her türlü maddi ve manevi desteklerini hiçbir zaman
esirgemeyen ailelerimize şükranlarımızı sunarız.
Ali Mert ÇETİN, Utku ŞAHİN
Trabzon, 2011
III
İÇİNDEKİLER
Sayfa No
ÖNSÖZ……………………………………………………………………………….. II
İÇİNDEKİLER……………………………………………………………………….. III
ÖZET…………………………………………………………………………………. IV
ŞEKİLLER DİZİNİ…………………………………………………………………... V
TABLOLAR DİZİNİ…………………………………………………………………. VI
SEMBOLLER DİZİNİ……………………………………………………………….. VII
1. GENEL BİLGİLER ...................................................................................... 1
1.1. MPLAB ......................................................................................................... 1
1.2. HI-TECH PICC ............................................................................................ 1
1.3. LM7805 ........................................................................................................ 1
1.4. PIC16F877A ................................................................................................ 2
1.4.1. Reset Devresi ................................................................................................ 4
1.4.2. Osilatör Devresi ............................................................................................ 4
1.4.3. Port Yapısı .................................................................................................... 5
1.4.4. Bellek Yapısı ................................................................................................ 5
1.4.5. RAM Yapısı .................................................................................................. 5
1.4.6. Durum Kaydedici .......................................................................................... 6
1.4.7. Adresleme Modları ....................................................................................... 7
1.4.8. PIC16 Ailesi Komut Seti .............................................................................. 8
1. 5. EAGLE ......................................................................................................... 8
1.6. ELEKTRET MİKROFONLAR .................................................................... 9
2. YAPILAN ÇALIŞMALAR, BULGULAR VE TARTIŞMA ...................... 10
2.1. Giriş ............................................................................................................... 10
2.2. Donanım ........................................................................................................ 10
2.3. Yazılım .......................................................................................................... 12
2.4. İş Planı ……………………………………………………………………... 18
3. SONUÇLAR ................................................................................................. 19
4. ÖNERİLER ................................................................................................... 20
5. KAYNAKLAR ............................................................................................. 21
6. ÖZGEÇMİŞ ................................................................................................. 22
IV
ÖZET
Günümüzde elektronik cihazların birçok uygulaması mevcuttur. Ses kontrollü
bilgisayar, telefon, güvenlik kapıları bu uygulamalara örnek olarak verilebilir. Bu
çalışmada ses kontrollü elektronik bir anahtar tasarlanmış ve gerçekleştirilmiştir.
Sistemin kontrolü PIC16F877A mikrodenetleyicisi ile yapılmıştır. Denetleyici
mikrofondan aldığı analog sinyali saniyede 10.000 kez örnekleyip 10 bit çözünürlüğünde
sayısal dönüştürmektedir. Alınan örneklerin eşik seviyesini geçip geçmediği test
edilmektedir. Eşik seviyesini geçen iki örnek arasındaki zaman 500 ms’den az ise anahtar
kapanmakta ve anahtara bağlı LED yanmaktadır. İki örnek arasındaki zaman 500 ms’den
fazla ise anahtar açılmakta ve LED sönmektedir.
Anahtar Kelimeler: Mikrodenetleyiciler, Ses İşleme, Kontrol
V
ŞEKİLLER DİZİNİ
Sayfa No
Şekil 1. PIC16F877A bacak bağlantıları ................................................................... 2
Şekil 2. Reset devreleri .............................................................................................. 4
Şekil 3. Osilatör devreleri ......................................................................................... 5
Şekil 4. Durum kaydedicisi ....................................................................................... 7
Şekil 5. Kaydedicilerdeki anlık değerler ................................................................... 7
Şekil 6. Donanımın şematik diyagramı ……………………………………………. 10
Şekil 7. Donanımın baskı devre çizimi ………………………………………….... 11
Şekil 8. Anahtar açık iken sistemin görünüşü ……………………………………... 11
Şekil 9. Anahtar kapalı iken sistemin görünüşü …………………………………… 12
VI
TABLOLAR DİZİNİ
Sayfa No
Tablo 1. PIC16F877A bacak bağlantıları ve açıklamaları ......................................... 3
Tablo 2. RAM yapısı .................................................................................................. 6
Tablo 3. İş planı …………………………………………………………………….. 18
VII
SEMBOLLER DİZİNİ
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
1
1. GENEL BİLGİLER
1.1. MPLAB
MPLAB Microchip'in ürettigi özel bir yazılımdır. MPLAB, mikroişlemci için yazılan
assembler kodlarının dogru çalışıp çalışmadığını kontrol etmek amacıyla kullanılan bir
yazılımdır. Bu program ile asmbly dilinde program yazılabilir, derlenilebilir ve denenebilir.
Asmbly dili ile yazılan bu programlar derlenip. HEX formatındaki dosyalara yazdırılabilir.
Yazılan bu programlar otomasyon fabrikalarına gönderilip çağ açabilecek programlarla
buluşturulabilir. Ayrıca bu program ile bir çok deneme yapılabilir. Asmbly dilinde program
yazmak bu program ile çok daha kolay bir duruma gelmiştir. Hafızasında binlerce pic'in data
verilerini ve ayrıca açıklama dosyalarını da bulundurmaktadır.
1.2. HI-TECH PICC
Hi-Tech, Microchip’in kullanıcılara sunduğu bir derleyicidir. Tek başına bu derleyiciyi
kullanmak mümkün değildir. Bu yüzden mutlaka bir program yazım editörüne ihtiyaç vardır.
Bunun için en çok kullanılan ara yüz programları ise MPLAB ve Hi-Tide ’dır. Windows, Mac
ve Linux sürümleri için derleyicileri mevcuttur [5].
Hi-Tech profesyonel bir derleyici olduğu için maliyeti yüksektir. Ancak ücretsiz olan
kısıtlı PICC-lite sürümü de mevcuttur. Bazı mikroişlemcilere 2k ROM ve 2 Bank kullanma
imkanı vermektedir.
1.3. LM7805
Elektronik elemanların güç tüketimlerinin hızla azalmaya devam ettiği günümüzde,
Lm78XX serisi pozitif gerilim düzenleyicileri, devre tasarımında sıklıkla kullanılmaktadır [6].
Üç bacağa sahip olan LM7805 devre elemanı giriş gerilimi 5 volt ile 24 volt arası
seçilebilmektedir. Soğutucu blok ile devrenin ısınma problemine karşı önlem alınmakla
birlikte; 24 voltu aşan giriş gerilimi değerlerinde devre aşırı ısınma sorunu ile karşı karşıya
kalmaktadır ve soğutucu blok yeterli olamamaktadır. Bazı özellikleri şu şekildedir;
Çıkış akımı 1,5 A kadar olabilir.
Çıkış gerilimleri: 5; 5,2; 6; 8; 8,5; 9; 10; 12;15;18;24V
Termik aşırı yük koruması
2
Kısa devre koruması
Çıkış geçiş SOA koruması
1.4. PIC16F877A
PIC mikrodenetleyiciler içinde en yaygın olanıdır [1, 2, 3, 4]. PIC16F84A’nın gelişmiş
modelidir. Orta sınıf PIC mikrobilgisayarlardaki çoğu özellik kendisinde bulunur. Bacak
bağlantılar Şekil 1’de özellikleri Tablo 1’de görülmektedir. Özellikleri şunlardır:
Program belleği : 8K x 14-bit (8 x 1024 x 14-bit)
RAM belleği : 368 bayt
EEPROM belleği : 256 bayt
Portları : 5 farklı port (A, B, C, D, E) toplam 33 I/O ucu
Kesme : 14 adet
Zamanlayıcı : 3 adet ön değeri ayarlanabilir
USART : 1 adet
ADC : 1 tane 8 kanallı 10-bitlik ADC
Yakalama devresi : 2 adet
Karşılaştırma dev. : 2 adet
PWM devresi : 2 adet
Seri port : 1 adet I2C ve SPI destekli
Paralel port : 1 adet
Şekil 1. PIC16F877A bacak bağlantıları
3
Tablo 1. PIC16F877A bacak bağlantıları ve açıklamaları
No İsim Açıklaması
2-7 RA0-5 A Portu (6-bit) Giriş-Çıkış
33-40 RB0-7 B Portu (8-bit) Giriş-Çıkış
15-18, 23-26 RC0-7 C Portu (8-bit) Giriş-Çıkış
19-22, 27-30 RD0-7 D Portu (8-bit) Giriş-Çıkış
8, 9, 10 RE0-2 E Portu (3-bit) Giriş-Çıkış
26 RX USART asenkron alıcı
25 TX USART asenkron verici
18 SCK Senkron seri saat girişi
18 SCL SPI ve I2C modları için çıkış
26 DT Senkron veri
25 CK Senkron saat
24 SDO SPI veri çıkışı
23 SDI SPI veri girişi
23 SDA Veri I/O
17, 16 CCP1,2 Yakalama girişi / Karşılaştırıcı çıkışı / PWM çıkışı
13 OSC1/CLKIN Osilatör girişi / Harici saat girişi
14 OSC2/CLKOUT Osilatör çıkışı / Saat çıkışı
1 MCLR Reset ucu (Düşük aktif)
1 Vpp Programlama voltajı girişi
1 THV Yüksek voltaj test kontrol modu
4 VREF+/- Referans voltajı
7 SS Senkron seri port için köle (slave) seçici
6 TOCKI 0. Zamanlayıcı için saat girişi
15 T1OSO 1. Zamanlayıcı için osilatör çıkışı
16 T1OSI 1. Zamanlayıcı için osilatör girişi
15 T1CKI 1. Zamanlayıcı için saat girişi
40 PGD Seri programlama için veri bilgisi
39 PGC Seri programlama için saat sinyali
36 PGM Düşük voltaj programlama girişi
No İsim Açıklaması
4
33 INT Harici kesme
8 RD Paralel köle port okuma kontrol
9 WR Paralel köle port yazma kontrolü
10 CS Paralel köle seçme kontrolü
19-22, 27-30 PSP0-7 Paralel köle port
11, 32 Vdd Dijital I/O pinleri için besleme voltajı
12, 31 Vss Toprak
1.4.1. Reset Devresi
Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)
üzerinden beslemeye bağlamak yeterlidir (Şekil 2). Bu devre ile otomatik reset (POR)
yapılabilmekte ve devreye enerji verildiğinde PIC reset olmaktadır. Eğer PIC herhangi bir
çalışma anında resetlenmek isteniyorsa devreye ilave olarak bir buton eklenebilir.
Şekil 2. Reset devreleri
1.4.2. Osilatör Devresi
Mikrobilgisayarın çalışması için bir saat sinyali gereklidir. Bu sinyal hassas zamanlama
gerektiren uygulamalarda kristal, rezonatör veya kristal osilatör bağlanarak sağlanabilir (Şekil
3). Hassas zamanlama gerektirmeyen uygulamalarda ise direnç-kapasite bağlanarak veya
mikrobilgisayarın dahili osilatörü kullanılarak da gerekli saat sinyali üretilebilir.
Saat sinyali beş farklı şekilde elde edilebilir.
Düşük güçlü kristal kullanılarak (LP Modu, 0 - 4 MHz)
5
Kristal/Rezonatör kullanılarak (XT Modu, 100 kHz – 4 MHz)
Yüksek hızlı kristal/rezonatör kullanarak (HS Modu, 4 – 20 MHz)
Direnç-Kapasite kullanılarak (RC Modu, 0 – 4 MHz)
Dahili osilatör kullanılarak (Yalnızca dahili osilatörü olan PIC’lerde)
Şekil 3. Osilatör devreleri
1.4.3. Port Yapısı
PIC16F877A’nın beş adet portu vardır. Bu portlarda kullanılan pinler program
esnasında giriş veya çıkış olarak ayarlanabilir. Program başında giriş olarak ayarlanmış bir pin
program esnasında çıkış olarak ayarlanabilir. Bir porttaki pinlerin hepsi giriş veya çıkış olarak
seçilebileceği gibi tek tek de ayarlanabilir. Pinlerin kurulumunu belirleyen kaydedicide
kendisine karşılık gelen bitin 0 olması çıkış, 1 olması ise giriş olarak ayarlandığını gösterir.
1.4.4. Bellek Yapısı
PIC16F877A’da bellek yapısı program ve veri hafıza alanlarından oluşmuştur. Orta
sınıf PIC mikrodenetleyicilerde üç değişik hafıza bulunur.
Program hafıza alanı : Program
Dosya kaydediciler : Veri
EEPROM hafıza alanı : Veri
1.4.5. RAM Yapısı
PIC16F877A’da geçici veriler RAM’da saklanır. Bu kısım diğer mikrobilgisayarlardan
farklı olarak banklardan oluşmuştur. PIC16F877A’da RAM dört banktan oluşmaktadır.
Banklar arasında geçişler Durum Kaydedicisi (Status Register) ile gerçekleştirilir. Durum
6
kaydedicisinin RP1 (RAM Sayfası 1, RAM Page 1) ve RP0 (RAM Sayfası 0, RAM Page 0)
numaralı bitleri ile istenen bank seçilir (Tablo 2).
Bank 0 : RP1 = 0, RP0 = 0
Bank 1 : RP1 = 0, RP0 = 1
Bank 2 : RP1 = 1, RP0 = 0
Bank 3 : RP1 = 1, RP0 = 1
Örneğin önce Bank 1’e sonra tekrar Bank 0’a geçmek için aşağıdaki komutlar yazılır.
BSF STATUS, RP0 ; Durum kaydedicisinin RP0 bitini birle
BCF STATUS, RP0 ; Durum kaydedicisinin RP0 bitini sıfırla
Tablo 2. RAM yapısı
BANK 0 BANK 1 BANK 2 BANK 3
0x00 0x80 0x100 0x180
Özel Özel Özel Özel
Amaçlı Amaçlı Amaçlı Amaçlı
Kaydedici Kaydedici Kaydedici Kaydedici
0x1F 0x9F 0x10F 0x18F
0x20 0xA0 0x110 0x190
Genel Genel Genel
Amaçlı Amaçlı Amaçlı
Kaydedici Kaydedici Kaydedici
Genel (80 bayt) (96 bayt) (96 bayt)
Amaçlı 0xEF 0x16F 0x1EF
Kaydedici 0xF0 0x170 0x1F0
(96 bayt) Özel Özel Özel
Amaçlı Amaçlı Amaçlı
-
1.4.6. Durum Kaydedici
Programdaki işlemleri kontrol eden öncelikli kaydedicidir (Şekil 4). Üç kısımdan
oluşur.
1. Kısım : İşlemlerin aritmetik ve lojik sonuçlarını belirten bayraklardır. Yapılan işlemin
sonucu sıfır ise Sıfır Bayrağı (Z, Zero Flag) bir olur. Toplama ve çıkartma işlemlerinde elde
7
oluşmuşsa Elde Bayrağı (C, Carry Flag) bir olur. Dört bitlik işlemlerde sayı 15’den büyükse
Hane Elde Bayrağı (DC, Digit Carry) bir olur. Diğer durumlarda bayraklar lojik-0’dır.
2. Kısım : Başlama ve uykudan kalkma bitlerinin bulunduğu kısımdır.
3. Kısım : Bank seçme bitlerinin bulunduğu kısımdır.
Şekil 4. Durum kaydedicisi
1.4.7. Adresleme Modları
Orta sınıf PIC mikrobilgisayarlarında üç farklı adresleme kullanılır.
1. İvedi adresleme : Herhangi bir sayı W kaydedicisine (akümülatöre) doğrudan
atanıyorsa bu ivedi adreslemedir.
MOVLW 0x55 ; 55 onaltılı sayısını akümülatöre yükle
2. Doğrudan adresleme : Bir kaydedicideki değeri (F) akümülatöre (W) veya
akümülatördeki (W) bir değeri kaydediciye (F) yüklemekle yapılır.
MOVFW PORTA ; PORTA’daki değeri aküye yükle
MOVWF PORTB ; Aküdeki değeri PORTB’ye yükle
3. Dolaylı adresleme : Bir kaydedicinin göstermiş olduğu değerin işaret ettiği adresteki
veriye ulaşmaya dolaylı adresleme denir. Bunu için FSR ve INDF kaydedicileri birlikte
kullanılır. FSR adresi, INDF ise veriyi tutar. Dosya kaydedicilerimizdeki değerler Şekil 5’de
ki gibi olsun.
Şekil 5. Kaydedicilerdeki anlık değerler
8
MOVFW INDF ; INDF kaydedicisindeki değeri aküye yükle (W = 0x55)
INCF FSR ; FSR’nin içeriğini bir arttır. (FSR = 22)
MOVFW INDF ; INDF kaydedicisindeki değeri aküye yükle (W =0xAA)
1.4.8. PIC16 Ailesi Komut Seti
PIC16 ailesi toplam 35 tane komut ile programlanır. Komutlar üç sınıf altında
toplanabilir.
Bayt Yönlendirme Komutları (BYK)
Bit Yönlendirme Komutları (bYK)
Sabit Sayı ve Denetim Komutları (SSDK)
1. 5. EAGLE
Eagle, elektronik devre tasarımlarında kullanabilecek yaygın bir Layout Editörüdür.
Devre şemaları çıkarılabilir, Autoroute özelliği ile PCB oluşturulabilir. Ücretsiz sürümlerinde
100x80 mm’lik PCB alanında çalışma, tek sayfada işlem yapma, iki katman üzerinde
çalışabilmeye müsade edilmiştir [7].
Eagle programının diğer programlardan artı bir özeliği ise şema ve PCB kısmının bir
birlerine direkt ilişkili olmasıdır. Devre şemasında yapılan her değişikliği anında PCB
kısmında görülebilir.
Eagle, grafik ara yüzlü, kullanımı kolay ve çok güçlü bir baskı devre kartı tasarım
aracıdır. Eagle ismi Easy Applicable Graphical Layout Editor kelimelerinin baş harflerinden
oluşur ve anlam olarak, kolay uygulanabilir grafiksel çizim editörü olarak tanımlanır.
Program üç ana modülden oluşmaktadır:
Çizim editörü
Şema editörü
Autoroute modülü.
Tüm bu modüller tek bir kullanıcı ara yüzüne entegre edildiğinden modüller arası
geçişte herhangi dönüştürme işlemi yapmak gerekmez.
9
1.6. Elektret Mikrofonlar
1960‘lı yıllarda New York’ta ilk elektret mikrofon çalışmaları GERHARD SESSLER
ve JAMES WEST tarafından başlatıldı. Yapım esnasında “bazı dielektriklerin elektriksel
polarizasyonu kaybetmedikleri “ ilkesinden yola çıkılarak elektret çeviriciler geliştirilmiştir.
Japonlar elektreti 2. dünya savaşından önce tanıyorlardı. Daha sonra 2. dünya savaşı
sırasında telefonlarda kullanmaya başladılar.
Rondela şeklindeki, ince bir yarı iletken maddenin iki yüzü, elektrostatik bir yöntemle,
moleküler bir aranjman yapılarak pozitif (+) ve negatif (-) olarak yüklenir. Bu yarı iletkenin
en büyük özelliği, elektrik yüklerini sürekli korumasıdır.Bu tür yarı iletkenlere elektret
(electret) adı verilmiştir.
Hareket özelliği olan bu malzemeler hoparlör imalatı için tercih edildi. Bunlar
başlangıçta telefonlarda kullanılmaya başlandı. Elektret birkaç yıl sonra, sadece telefon
ekipmanı değil ses kayıt ve akustik(güzel ses veren cihazlar) eleman olarak tüm dünyada
yaygın olarak kullanıldı. Bugün elektretler, mikrofonlar ve modern teyplerde kullanılır.
Elektret; ucuz, metalleştirilmiş dielektrik filmden (özellikle teflon) ibarettir ve kondansatör
mikrofon yapımında kullanılır.
10
2. YAPILAN ÇALIŞMALAR, BULGULAR VE TARTIŞMA
2.1. Giriş
Bu çalışmada, PIC16F877A denetleyicisi ile elektronik bir anahtar geliştirlmiştir.
Konsol donanım ve yazılım olmak üzere iki temel kısımdan oluşmaktadır.
2.2. Donanım
Denetleyici, mikrofon, gerilim regülatörü, LEDler ve çevre elemanlardan
oluşmaktadır. Donanımın şematik (Şekil 6) ve baskı devre çizimi (Şekil 7) Eagle v5.11
programı ile hazırlanmıştır [7]. Sistemin genel görünümü Şekil 8 ve çalışması Şekil 9’da
verilmiştir.
Şekil 6. Donanımın şematik diyagramı
11
Şekil 7. Donanımın baskı devre çizimi
Şekil 8. Anahtar açık iken sistemin görünüşü
12
Şekil 9. Anahtar kapalı iken sistemin görünüşü
2.3. Yazılım
Konsol yazılımı PIC C dili kullanılarak geliştirilmiştir. Ses işleme ve kontrol işlevini
yerine getirmektedir. Kontrol yazılımı aşağıda verilmiştir.
#include <htc.h>
#include <pic.h>
#include <delay.h>
// Denetleyiciyi ayarla /////////////////////////////////////////////////
__CONFIG(0X3F71);
// Tanımlamalar ////////////////////////////////////////////////////////
// Pin isimleri
#define MIC RA0 // Mikrofon
#define VREF RA3 // ADC için referans voltaj 0.64 V
#define LED_M RB0 // Mavi LED
#define LED_K RB1 // Kırmızı LED
// Sabitler
13
#define GBANDI 15 // Sesin sönümlenmesi için gereken zaman [x10 ms]
#define ESIK_Z 50 // Açma-kapa için zaman eĢiği [x 10 ms]
#define ESIK_S 20 // Ses eĢiği [x5 mV]
// DeğiĢkenler ///////////////////////////////////////////////////////////
// uc
unsigned char uci; // Sayaç
unsigned char ucj; // Sayaç
unsigned char uck; // Sayaç
unsigned char ucSes; // Sesin genliği
// Fonksiyonlar ////////////////////////////////////////////////////////
void Init(void);
void ADCAc(void);
void ADCKapat(void);
void EEPROMYaz(unsigned char ucAdres, unsigned char ucData);
// uc
unsigned char ADCOku(void);
unsigned char EEPROMOku(unsigned char ucAdres);
// ui
unsigned int uiZaman;
// ANA PROGRAM ///////////////////////////////////////////////////////////
void main(void)
Init();
// LED test
for ( uci = 0; uci < 7; uci++ )
LED_K = 1;
LED_M = 0;
DelayMs(50);
LED_K = 0;
LED_M = 1;
DelayMs(50);
// LEDleri söndür
14
LED_K = 0;
LED_M = 0;
// ADC'yi aç
ADCAc();
while ( 1 )
// Ses genliğini oku
ucSes = ADCOku();
// 1. çınlamayı bekle
if ( ucSes > 10 )
// Güvenlik bandı
LED_K = 1;
DelayMs(50);
LED_K = 0;
// 1. çınlama ile 2. çınlama arasındaki zamanı ölç
uiZaman = 0;
while ( uiZaman < 10000 )
// Ses genliğini oku
ucSes = ADCOku();
// 2. çınlamayı bekle
if ( ucSes > 10 )
// Mavi LED zamana bağlı aç veya kapat
if (uiZaman < 5000) LED_M = 1;
else LED_M = 0;
// Güvenlik bandı
LED_K = 1;
DelayMs(50);
LED_K = 0;
// Döngüden çık
15
uiZaman = 7000;
// Zamanı arttır
uiZaman++;
while (1)
//====================================================================
// BAġLANGIÇ DEĞERLERĠ /////////////////////////////////////////////////
void Init(void)
// Interrupları kapat
GIE = 0;
// Portların verilerini belirle
PORTA = 0x00; // A portunun içeriğini temizle
PORTB = 0x00; // B portunun içeriğini temizle
PORTC = 0x00; // C portunun içeriğini temizle
PORTD = 0x00; // D portunun içeriğini temizle
PORTE = 0x00; // E portunun içeriğini temizle
// Portların yönlerini ayarla
ADCON1 = 0x00000101; // Sola yaslanmıĢ
// Vref = AN3
// A0, A1 analog A2..A5 dijital, E portu dijital
TRISA = 0b00111111; // A portu giriĢ
TRISB = 0b01111100; // B portu giriĢ-çıkıĢ
TRISC = 0b11111111; // C portu giriĢ
TRISD = 0b11111111; // D portu giriĢ
TRISE = 0b00000111; // E portu giriĢ
// BaĢlangıç değerlerini ver
ucSes = 0;
16
// ADC AÇ ///////////////////////////////////////////////////////////////
void ADCAc(void)
// uc
unsigned char i; // Sayaç
// ADC ayarlarını yapıp, ADCyi aç
ADCON0 = 0b00000001; // Fosc/2, AN0, CON_OFF, ADC_ON
// Bekle
for ( i = 0; i < 10; i++ )
// ADC KAPAT ////////////////////////////////////////////////////////////
void ADCKapat(void)
// uc
unsigned char i; // Sayaç
// ADC'yi kapat
ADCON0 = 0b00000000; // Fosc/2, AN0, CON_OFF, ADC_OFF
// Bekle
for ( i = 0; i < 10; i++ )
// ADC OKU //////////////////////////////////////////////////////////////
unsigned char ADCOku(void)
// uc
unsigned char i; // Sayaç
// Analog-Sayısal dönüĢümünü baĢlat
ADCON0 = 0b00000101;
// Bekle
for ( i = 0; i < 10; i++ )
// En anlamlı 8 biti geri döndür
return ADRESH;
17
// EEPROM OKU ///////////////////////////////////////////////////////////
unsigned char EEPROMOku(unsigned char ucAdres)
// Okunacak adresi belirle
EEADR = ucAdres;
// Okunacak EEPROM bölgesini belirle
EEPGD = 0; // Data memory
// Okuma iĢlemini baĢlat
RD = 1;
// Okunan veriyi geri döndür
return EEDATA;
// EEPROM YAZ ///////////////////////////////////////////////////////////
void EEPROMYaz(unsigned char ucAdres, unsigned char ucData)
// Yazılacak adresi belirle
EEADR = ucAdres;
// Yazılacak veriyi belirle
EEDATA = ucData;
// Yazılacak EEPROM bölgesini belirle
EEPGD = 0; // Data memory
// Yazmayı aktifleĢtir
WREN = 1;
// Yazma iĢleminin aktifleĢmesini bekle
EECON2 = 0X55;
EECON2 = 0XAA;
// Yazmayı baĢlat
WR = 1;
18
// Yazma iĢleminin bitmesini bekle
while (WR)
// Yazım iĢlemini pasifleĢtir
WREN = 0;
2.4. İş Planı
Hazırlamış olduğumuz bu bitirme çalışması Tablo 4’de verilen iş planı çerçevesinde
gerçekleştirilmiştir. İş planının düzenlenmesinde çalışmanın tüm döneme yayılması ve her
hafta tez danışmanının denetiminde çalışmanın sürdürülmesi amaçlanmıştır.
Tablo 3. İş planı
Tarih Çalışma
02.02.2011 Konunun belirlenmesi.
09.02.2011 İş planının hazırlanması.
16.02.2011 Sistemin blok diyagramının hazırlanması.
23.02.2011 Gerekli malzemelerin tespiti.
02.03.2011 Gerekli malzemelerin temini.
09.03.2011 Şematik diyagramın çizilmesi.
16.03.2011 Baskı devre şemasının çizilmesi.
23.03.2011 Baskı devre üretimi.
06.04.2011 Malzemelerin montajı.
13.04.2011 Donanımın test edilmesi.
20.04.2011 Yazılımın hazırlanması.
27.04.2011 Sistemin test edilmesi.
04.05.2011 Bitirme kitapçığının hazırlanması.
11.05.2011 Bitirme kitapçığının kontrolü.
19
3. SONUÇLAR
Bu çalışmada, ses kontrollü elektronik bir aahtar tasarlanmış ve gerçekleştirilmiştir.
1. Sistemin tasarımı yapılmıştır.
2. Tasarıma göre gerekli donanım tespit ve temin edilmiştir.
3. Şematik ve baskı devre çizimleri yapılmıştır.
4. Donanımın baskı devresi üretilip montajı gerçekleştirilmiştir.
5. Kontrol yazılımı geliştirilmiş ve sistem test edilmiştir.
20
4. ÖNERİLER
1. Röle eklenerek büyük yükler anahtarlanabilir.
2. Yazılım geliştirilerek basit düzeyde ses tanıma yapılabilir.
3. Açma-kapa zamanları uygulamaya göre değiştirilebilir.
21
5. KAYNAKLAR
[1] İbrahim, Doğan, PIC C ile ses projeleri, İstanbul, 1999.
[2] Ak, Nursel, PIC programlama, İstanbul, 2007.
[3] Altınbaşak, Orhan, Mikrodenetleyiciler PIC Programlama, İstanbul, 2008.
[4] Microchip Technology Incorporated., PIC16F87X Data Sheet 28/40-Pin 8-Bit
CMOS FLASH Microcontrollers, USA, 2001.
[5] Microchip Technology Inc., Getting Started with the HI-TECH C Compiler for
IC10/12/16 MCUs, Microchip PICDEMTM 2 PLUS Board and MPLABR ICD
2, Australia, 2010.
[6] Fairchild Semiconductor Corporation, LM78XX/LM78XXA 3-Terminal 1A
Positive Voltage Regulator, USA, 2010.
[7] CadSoft Computer, EAGLE EASILY APPLICABLE GRAPHICAL LAYOUT
EDITOR Tutorial Version 5, 7th Edition, USA, 2010.
22
6. ÖZGEÇMİŞ
Ali Mert ÇETİN 1987’de Ankara’da doğdu. İlköğrenimini Kooparaatifler İlkokulu ve
orta öğrenimini Namık Kemal Ortaokulu’nda, lise öğrenimini Prof. Dr. Şevket Raşit
Hatipoğlu’nde yaptı. 2005 yılında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi,
Elektrik-Elektronik Mühendisliği Bölümü’nde Lisans Programı’na başladı. Yabancı dil olarak
İngilizce bilmektedir.
Utku ŞAHİN 1987’de Kayseri’de doğdu. İlköğrenimini Hürriyet İlkokulu ve orta
öğrenimini Kırıkkale Anadolu Lisesi’nde, lise öğrenimini Kırıkkale Fen Lisesi’nde yaptı.
2005 yılında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik-Elektronik
Mühendisliği Bölümü’nde Lisans Programı’na başladı. Yabancı dil olarak İngilizce
bilmektedir.