T.C.
KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
SESLİ KOMUTLARLA ARAÇ
KONTROLÜ
243455 Doğan Can SAMUK
228418 Havva ÖZKAYA
Yrd. Doç. Dr. Yusuf SEVİM
Mayıs, 2014
TRABZON
T.C.
KARADENİZ TEKNİK ÜNİVERSİTESİ
Mühendislik Fakültesi
Elektrik-Elektronik Mühendisliği Bölümü
SESLİ KOMUTLARLA ARAÇ
KONTROLÜ
243455 Doğan Can SAMUK
228418 Havva ÖZKAYA
Yrd. Doç. Dr. Yusuf SEVİM
Mayıs, 2014
TRABZON
BİTİRME PROJESİ ONAY FORMU
243455 Doğan Can SAMUK ve 228418 Havva ÖZKAYA tarafından Yrd. Doç. Dr.
Yusuf SEVİM yönetiminde hazırlanan “SESLİ KOMUTLARLA ARAÇ KONTROLÜ”
başlıklı lisans tasarım 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 : Doç. Dr. Ayten ATASOY ………………………….......
Jüri Üyesi 2 : Yrd. Doç. Dr. Gökçe HACIOĞLU ………………………….......
Prof. Dr. İsmail H. ALTAŞ
Bölüm Başkanı
iii
ÖNSÖZ
Bu bitirme projesi Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik-
Elektronik Mühendisliği Bölümü lisans programı dahilinde yapılmıştır. Proje dışardan
verilecek sesli komutlarla hareket edebilen robot aracı esas almaktadır.
Mezun olduktan sonra mühendislik hayatımızda bize referans olabilecek bu çalışma,
lisans eğitimimiz boyunca almış olduğumuz temel bilgilerin yanı sıra daha önce yapmış
olduğumuz ödev ve projelerde kazanılan deneyimlerin kullanılması suretiyle
gerçekleşmiştir.
Bitirme çalışması boyunca desteğini gördüğümüz danışman hocamız Sayın Yrd.
Doç. Dr. Yusuf SEVİM'e teşekkürlerimizi sunarız. Ayrıca bize değerli vakitlerini ayırıp,
projenin gerçekleşmesine katkı sağlayan Yrd. Doç. Dr. Orhan KESEMEN, Öğr. Gör.
Oğuzhan ÇAKIR'a da yardımlarından ötürü teşekkür ederiz. Son olarak bu çalışmayı
destekleyen Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölüm
Başkanlığına içten teşekkürlerimizi sunarız.
Ayrıca eğitim hayatımız boyunca desteklerini üzerimizden esirgemeyen ailelerimize
de teşekkürlerimizi sunmayı borç biliriz.
Doğan Can SAMUK
Havva ÖZKAYA
Mayıs, 2014
iv
İÇİNDEKİLER
Sayfa No
BİTİRME PROJESİ ONAY FORMU ii
ÖNSÖZ iii
İÇİNDEKİLER iv
ÖZET vi
ŞEKİLLER DİZİNİ vii
ÇİZELGELER DİZİNİ ix
SEMBOLLER VE KISALTMALAR x
1. GİRİŞ 1
1.1. Literatür Araştırması 2
1.1.1. Ses Komut Tanıma ile Gezgin Araç Kontrolü 2
1.1.2. Seri Port ile Haberleşebilen Uzaktan Kumandalı Kameralı Araç 3
1.1.3. Ses Kontrollü Web Tarayıcı 3
1.1.4. RF Modüllerle Kontrol Edilen Paletli Keşif Aracı 3
1.1.5. PIC ve Step Motorla Sürülen Bir Mobil Robotun Uzaktan Kamera 4
Sistemi ile Kontrolü
1.1.6. Sesli Komutlar ile Araç Kontrolü 4
1.2. Çalışma Takvimi 5
2. TEORİK ALTYAPI 7
2.1. Sistemin Blok Diyagramı 7
2.2. Tasarım 8
2.3. Robot Araç Yapımında Kullanılacak Yöntemler 8
2.3.1. Haberleşme Devresi 9
2.3.1.1. RS232 Bağlantı Kablosu 9
2.3.1.2. MAX232 Sürücü 10
2.3.1.3. Dönüştürücü PIC 10
2.3.1.4. RF Verici 10
2.3.2. Kumanda Devresi 11
2.3.2.1. PIC16F877A Mikro Denetleyici 12
2.3.2.2. Motor Sürücü Entegresi 14
2.3.2.3. RF Alıcı 16
2.3.2.4. DC Motorlar 17
2.3.2.5. DC Güç Kaynağı 17
2.3.2.6. LM7805 Gerilim Regülatörü 18
2.4. Ses Tanıma 18
2.4.1. Ses Sinyalinin Bilgisayar Ortamına Alınması 21
2.4.2. Ses Sinyalinin Enerjisinin Hesaplanması 21
2.4.3. Ses Sinyalinin Başlangıcını Tespit Etme 22
2.4.4. Ses Sinyalinin Bitişini Bulma 22
2.4.5. Çerçeveleme 22
2.4.6. Pencereleme 22
2.4.7. Fast Fourier Transform 23
2.4.8. Mel Filtre Bankası 24
2.4.9. Ayrık Cosinüs Dönüşümü 25
v
2.4.10. MFCC Katsayılarının Bulunması 25
2.4.11. K-Nearest Neighbors Algoritması 26
3. SİMÜLASYON ÇALIŞMALARI 28
3.1. Haberleşme Devresi Simülasyonu 28
3.2. Kumanda Devresi Simülasyonu 29
3.3. Aracın Sağa ve Sola Dönmesi İçin Kullanılacak Yöntem 30
4. DENEYSEL ÇALIŞMALAR 31
4.1. Yazılımların Açıklanması 31
4.2. Devrelerin Gerçeklenmesi 33
5. SONUÇLAR 37
6. YORUMLAR VE DEĞERLENDİRME 38
KAYNAKLAR 39
EKLER 40
EK-1 IEEE ETİK KURALLARI 40
EK-2 DİSİPLİNLER ARASI ÇALIŞMA 43
EK-3 STANDARTLAR VE KISITLAR FORMU 45
EK-4 PIC16F87XA DATA SHEETS 47
ÖZGEÇMİŞLER 48
vi
ÖZET
Günümüzde hızla gelişen teknoloji ile birlikte robot kullanımına ihtiyaç artmıştır.
Kullanım alanları çeşitlilik gösteren robotlardan sanayi dalında, endüstriyel
uygulamalarda, askeri sahalarda, güvenlik sistemlerinde ve daha birçok alanda
faydalanılmaktadır.
Yapılan çalışmada sesle kontrol edilebilen bir robot araç tasarlanmıştır. Sesle
kontrol sayesinde robotla direkt iletişim imkânı sağlanarak, yapılacak uygulamalarda
daha hızlı kontrol edilmesi sağlanır. Proje iki kısımdan oluşmaktadır. İlk kısımda PIC
yardımıyla kontrol edilebilen robot araç tasarlanmıştır. Yapılan yazılımla birlikte robot
aracın hareket alanları belirlenmiştir. İkinci kısım ise ses tanıma bölümünden
oluşmaktadır. MATLAB programı yardımıyla KNN (K-Nearest Neighbors) algoritması
kullanılarak ses tanıma kısmı gerçeklenmiştir. Ses tanıma kısmı tamamlandıktan sonra
yazılımın robot araçla haberleşmesi yapılıp aracın sesle kontrolü sağlanmıştır.
vii
ŞEKİLLER DİZİNİ
Sayfa No
Şekil 2.1 : Sistemin genel blok diyagramı ............... 7
Şekil 2.2 : Haberleşme devresi bağlantı diyagramı ............... 9
Şekil 2.3 : RS232 kablosunun şematik gösterimi ............... 10
Şekil 2.4 : RF vericinin şematik gösterimi ............... 11
Şekil 2.5 : Kumanda devresi bağlantı diyagramı ............... 12
Şekil 2.6 : PIC16F877A pin diyagramı ............... 13
Şekil 2.7 : Motor sürücü entegresinin şematik gösterimi ............... 15
Şekil 2.8 : RF alıcının şematik gösterimi ............... 16
Şekil 2.9 : Güç kaynağı bağlantıları ............... 17
Şekil 2.10 : LM7805 şematik gösterimi ............... 18
Şekil 2.11 : Özellik çıkarımları blok diyagramı ............... 19
Şekil 2.12 : Ses tanıma yazılımının algoritması ............... 20
Şekil 2.13 : İleri sözcüğünün ham hali ............... 21
Şekil 2.14 : Birinci ileri komutunun dalga şekli ............... 23
Şekil 2.15 : İkinci ileri komutunun dalga şekli ............... 23
Şekil 2.16 : Birinci ileri komutunun fourier dönüşümü ............... 24
Şekil 2.17 : İkinci ileri komutunun fourier dönüşümü ............... 24
Şekil 2.18 : Mel filtresi uygulanmış işaret ............... 25
Şekil 2.19 : MFCC katsayıları ............... 26
Şekil 3.1 : Haberleşme devresinin simülasyonu ............... 28
Şekil 3.2 : Kumanda devresinin simülasyonu ............... 29
Şekil 4.1 : PIC C Compiler programı başlangıç ekranı ............... 31
Şekil 4.2 : Klavyeden kontrol için ara yüz ekranı ............... 32
Şekil 4.3 : Haberleşme devresi PCB çizimi ............... 33
Şekil 4.4 : Gerçeklenen haberleşme devresinin fotoğrafı ............... 34
Şekil 4.5 : Kumanda devresi PCB çizimi ............... 34
viii
Şekil 4.6 : Gerçklenen kumanda devresinin fotoğrafı ............... 35
Şekil 4.7 : Robot aracın gerçeklenmiş hali ............... 36
ix
ÇİZELGELER DİZİNİ
Sayfa No
Çizelge 1.1 : İş Kısımları-Zaman çalışma takvimi .......... 5
Çizelge 2.1 : PIC16F877A mikro denetleyicisinin temel özellikleri .......... 14
Çizelge 3.1 : Motor hareket durumları .......... 30
Çizelge E2.1 : Malzeme/Teçhizat-Maliyet Çizelgesi .......... 43
x
SEMBOLLER VE KISALTMALAR
A Amper
mAh miliAmper saat
V Volt
DC Direct Current (Doğru Akım)
kHz kiloHertz
kB kiloByte
RF Radio Frequency (Radyo Frekansı)
RS232 Recommendend Standart 232
PCB Printed Circuit Board (Baskı Devre)
PIC Peripheral Interface Controller (Çevresel Ünite Denetleme Arabirimi)
RAM Random Access Memory (Rastgele Erişilebilir Bellek)
PWM Pulse Width Modulation (Darbe Genişlik Modülasyonu)
UART Universal Asynchronous Receiver/Transmitter (Evrensel Asenkron
Alıcı/Verici)
I2C Inter-Integrated Circuit
I/O Input/Output (Giriş/Çıkış)
ºC Celsius
MIPS Million of Instructions Per Second
ADC Analog to Digital Converter (Analog Dijital Çevirici)
LED Light Emitting Diode (Işık Yayan Diyot)
Li-Po Lithium Polymer
FFT Fast Fourier Transform
MFCC Mel Frequency Cepstral Coefficient
KNN K-Nearest Neighbors
1. GİRİŞ
Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım
aşamasında ilk olarak robot projeleri hakkında genel bilgiler toplanmıştır. Daha önce
yapılmış robot projeleri çalışmalarında genelde bilgisayarda oluşturulan kumanda
devresi yardımıyla robotun kontrolü sağlanabilmekteydi. Yapılan bu projelere nazaran
sesle kontrol sayesinde çeşitli amaçlarla kullanılan robotların, bilgisayar başında
klavyeden kontrolü yerine sesle kontrolü sağlanabilecek ve bu şekilde robotlarla yapılan
çalışmaların daha pratik ve daha hızlı bir şekilde yürütülmesine olanak sağlanmış
olacaktır.
Projeyi ana hatlarıyla iki kısma ayırabiliriz. İlk kısımda bilgisayar yardımıyla
uzaktan kontrol edilebilen araç tasarlanacaktır. İkinci kısımda yazılım ile birlikte ses
tanıma işlemi yapılacaktır. Ses tanıma kısmı tamamlandıktan sonra yazılımın robot
aracın kontrolünde kullanılacak yazılımla haberleşmesi sağlanarak aracı sesle kontrol
etme imkânı gerçekleşmiş olacaktır.
Projenin ilk kısmında, aracın yapımı aşamasında kumanda devresi ve haberleşme
devresi olarak başlıca iki devre mevcuttur. Kumanda devresinde bulunan
mikrodenetleyici ve motor sürücü entegreleri yardımıyla, yapılacak yazılımla birlikte
aracın sağa, sola, ileri ve geri hareketi sağlanacaktır. Mikrodenetleyici olarak microchip
firmasının üretmiş olduğu PIC16F877A seçilmiştir. Bu tercihin nedenleri daha sonra
ayrı başlık altında ele alınacaktır. Bu kısımda yapılacak yazılımda C programlama dili
kullanılarak PIC’in programlanması amaçlanmıştır. Haberleşme devresinde ise
kullanılacak RF (Radyo Frekansı) alıcı verici modül sayesinde, alıcı kumanda
devresinde ve verici bilgisayara bağlı olacak şekilde robot araçla uzaktan iletişim
imkânı sağlanabilecektir. Bu uzaklık kullanılacak RF modülünün özelliklerine göre
artıp azalabilir. Yapacağımız projede hedeflenen kullanacağımız RF alıcı verici
modülüyle yirmi metreye kadar sorunsuz haberleşme sağlanabilmesidir. Bilgisayardan
verilerin alınması seri port yardımıyla RS232 bağlantı kablosu yardımıyla
gerçekleştirilmiştir. Haberleşme devresinin diğer elemanları ise MAX232 sürücü ve
verileri dönüştürmede kullanılan PIC16F877A'dır.
İkinci kısımda ise ses işleme konusunda yapılan çalışmalar hakkında bilgi
toplanmıştır. Yapılan araştırmalar neticesinde yazılım kısmının, MATLAB programı
2
yardımıyla ve KNN yöntemi kullanılarak gerçekleştirilmesine karar verilmiştir. KNN
metodunun tercih edilmesinin nedeni bu metodun karmaşık problemlerdeki başarı
oranının yüksek olması ve konuşma sinyallerinin KNN algoritmasında kullanılan
yöntemlere uygun olmasıdır. Bu konuda daha detaylı bilgi ve çalışma yapacak olanlar
için kaynakları tavsiye edilebilir. Yapılacak yazılımda robot aracın hareket yönleri göz
önüne alınarak verilecek komutlar buna göre seçilecektir. İkinci kısımda yapılacak bu
yazılımla birlikte robot aracın klavyeden tuşlar yerine verilecek sesli komutlarla kontrol
edilmesi sağlanacaktır.
Sonuçta projede hedeflenen insan hayatını kolaylaştıran ve birçok uygulamada
kullanılan robotların, verilecek sesli komutlarla kontrolü sağlanarak bunlar üzerinde
insanların hâkimiyet olanağının artırılması ve robotlarla yapılan uygulamaların daha
pratik, hızlı bir şekilde gerçekleştirilmesidir. Sesli komutlarla kontrol edilebilen araç
sayesinde robota hâkimiyet olanağımız artacağından zamandan kazanç sağlanabilir Bu
sayede zehirli gaz sızıntısı, yangın, deprem gibi durumlarda girilmesi güvenli olmayan
yerlerde sesle kontrol edilebilen araç sayesinde bölgenin keşfi daha hızlı sağlanıp can
kaybı en aza indirilebilecektir.
1.1. Literatür Araştırması
Günümüzde robotların, sanayi dalından endüstriyel uygulamalara, askeri alanlardan
güvenlik sistemlerine kadar pek çok uygulama alanı vardır. Hal böyle olunca da robot
alanında yapılan çalışmalar gittikçe artmaktadır. Ayrıca konuşma tanıma uygulamasının
da insan hayatını kolaylaştırma açısından önemi büyük olduğundan, bu konu literatürde
geniş bir yer tutmaktadır.
Bugüne kadar uzaktan kontrol edilen araç ve sesli komut tanıma ile ilgili yapılan
uygulamalar aşağıda verilmiştir.
1.1.1. Ses Komut Tanıma ile Gezgin Araç Kontrolü
- ‘Ses Komut Tanıma ile Gezgin Araç Kontrolü’ başlıklı çalışma konferans
bildirimi olarak yayınlanmıştır. Bu çalışmada ses tanıma kısmının
gerçeklenmesinde Ortak Vektör Yaklaşımı metodu kullanılmıştır. Bu yöntemde
kişiye bağımlı sesli komut tanıma tercih edilmiştir. Ses işleme kısmı MATLAB
3
programında yazılmıştır. Aracın kontrolünde kullanılacak sesli komutlar ileri,
geri, sağa dön, sola dön ve dur şeklindedir [1]. Bizim yapacağımız projede de bu
komutlar aynıdır. Ancak MATLAB ile yapılan yazılımda yöntem olarak KNN
algoritması (K-Nearest Neighbors) kullanılması tercih edilmiştir.
1.1.2. Seri Port ile Haberleşebilen Uzaktan Kumandalı Kameralı Araç
- ‘Seri Port ile Haberleşebilen Uzaktan Kumandalı Kameralı Araç’ başlıklı
çalışma lisans tezi olarak yapılmıştır. Bu çalışmada RF yardımıyla bilgisayar
tarafından uzaktan kumanda edilebilen araç tasarlanmıştır. Tasarlanan aracın
üzerinde kamera ve karanlık ortamların aydınlatılmasını sağlamak için LED
bulunmaktadır [2]. Kendi projemizde yapacak olduğumuz araç için bu çalışmada
aracın tasarımında kullanılan yöntemlerden faydalanılmıştır. Proje de kontrol
için mikro denetleyici olarak bizim de kendi projemizde kullanacak olduğumuz
PIC seçilmiştir. Bizim projemizden farklı olarak kontrol kısmı bilgisayar
tarafından klavyeden yapılmaktadır.
1.1.3. Ses Kontrollü Web Tarayıcı
- ‘Ses Kontrollü Web Tarayıcı’ başlıklı makalede H. Çakır ve B. Okutan sesli
komutlarla kullanılabilen web tarayıcısı tasarlamıştır. Belirlenen web
adreslerinin açılması, bu çalışmada sesli komutlar yardımıyla yapılmaktadır.
Yazılım kısmı ise bizim projemizden farklı olmakla birlikte C# programlama
dilinde yapılmıştır [3]. Kendi projemiz için yapacak olduğumuz ses tanıma
yazılımında bu çalışmada kullanılan yöntemler örnek olarak alınmıştır.
1.1.4. RF Modüllerle Kontrol Edilen Paletli Keşif Aracı
- ‘RF Modüllerle Kontrol Edilen Paletli Keşif Aracı’ adlı makalede Ş. Yüksel, G.
Ekincioğlu, İ. Develi, K. Tunçer, E. Zabun uzaktan kontrol edilebilen ve görüntü
işleyebilen paletli araç tasarlamıştır. Görüntü işleme için servo motorlar ile
kontrol edilebilen kamera kullanılmıştır. Ayrıca araçta sensörler kullanılarak
önünde ve arkasındaki cisimleri algılayıp yön değiştirebilme kabiliyeti vardır.
4
Bu projede aracın kontrolü için diğer projelerden farklı olarak ARDUNO UNO
işlemci kullanılmıştır [4].
1.1.5. PIC ve Step Motorla Sürülen Bir Mobil Robotun Uzaktan Kamera
Sistemi ile Kontrolü
- ‘PIC ve Step Motorla Sürülen Bir Mobil Robotun Uzaktan Kamera Sistemi ile
Kontrolü’ başlıklı lisans tezinde RF sinyalleri kullanılarak üzerinde kamera
bulunan aracın uzaktan kontrolü yapılmıştır. Aracın kontrolü için PIC mikro
denetleyici kullanılmıştır. Kullanılan kamera yardımıyla alınan görüntülerin
bilgisayar ortamına aktarımı yapılmıştır [5].
1.1.6. Sesli Komutlar İle Araç Kontrolü
- 'Sesli Komutlar İle Araç Kontrolü' başlıklı lisans tezi bizim projemizle birebir
örtüşmekle birlikte bazı noktalarda bu iki proje birbirinden ayrılmaktadır. Araca
verilecek komutlar ve ses tanımada kullanılan metodlar aynı iken, haberleşme
için kullanılan yöntem ve ses tanımada kullanılan programlama dili bu lisans
tezinde farklılık göstermektedir. Aracın haberleşmesi işlemci sunucu mimarisi
ile Ethernet üzerinden yapılırken, ses tanımada yazılan kodlar için C
programlama dili tercih edilmiştir [6].
5
1.2. Çalışma Takvimi
Yapılan projenin gerçekleme aşamasında izlenen basamaklar aşağıda verilen Tablo
1.1'e göre yapılmıştır.
Çizelge 1.1. İş Kısımları-Zaman çalışma takvimi
İş Kısımları Eylül Ekim Kasım Aralık Ocak Şubat Mart Nisan Mayıs
1. İş kısmı X
2. İş kısmı X
3. İş kısmı X
4. İş kısmı X
5. İş kısmı X
6. İş kısmı X
7. İş kısmı X
8. İş kısmı X
9. İş kısmı X
10. İş kısmı X
11. İş kısmı X
12. İş kısmı X
13. İş kısmı X
14. İş kısmı X
6
Yapılacak olan iş kısımlarının ayrıntılı olarak ele alınması:
1. İş kısmı : Proje Konusunun Belirlenmesi
2. İş kısmı : Proje Hakkında Genel Bilgilerin Toplanması
3. İş kısmı : Literatürde Bulunan Benzer Çalışmaların İncelenmesi
4. İş kısmı : Projede Kullanılacak Yöntemlerin Belirlenmesi
5. İş kısmı : KNN Metodunun İncelenmesi
6. İş kısmı : PIC Mikroişlemcisinin Tanınması ve Kullanılacak İşlemcinin Seçimi
7. İş kısmı : Gerçeklenecek Devrelerin Simülasyonunun Yapılması
8. İş kısmı : Tasarım Projesinin Yazılması ve Teslimi
9. İş kısmı : Gerekli Malzemelerin Temin Edilmesi
10. İş kısmı : Gerekli Yazılımların Oluşturulmaya Başlanması
11. İş kısmı : Devrelerin Gerçeklenmesi ve Test Edilmesi
12. İş kısmı : Baskı Devrelerinin Çizimi ve Oluşturulması
13. İş kısmı : Ses Tanıma Yazılımının Projeye Eklenmesi
14. İş kısmı : Bitirme Tezinin Yazılması ve Teslim Edilmesi
2. TEORİK ALTYAPI
Bu kısımda ilk olarak tasarlanması planlanan sistemin blok diyagramı verilecektir.
Daha sonra yazılacak programlarda kullanılan yöntemler ve gerçeklenen devrelerde
kullanılan elemanların görevleri hakkında bilgiler sıralanacaktır. Sistemin
gerçeklenmesinde kullanılacak yöntemler bu kısımda ana hatlarıyla ele alınacaktır.
2.1. Sistemin Blok Diyagramı
Sistemin genel akış diyagramı aşağıda verilmiştir. Yapılacak yazılımlar ve
tasarlanacak devrelerde kullanılacak yöntemler Şekil 2.1'de verilen blok diyagramı göz
önüne alınarak yapılacaktır.
Şekil 2.1. Sistemin genel blok diyagramı
Mikrofondan
Sesin
Alınması
PC
PIC
RF Alıcı
RF Verici
PIC
DC Motor
Motor
Sürücü
Devresi
MATLAB
Ses Tanıma
Yazılımı
8
Sistemin genel olarak çalışmasını özetleyecek olursak mikrofon yardımıyla alınan
ses bilgisayarda yazılan ses tanıma yazılımı içerisinde karşılaştırma işleminden geçer.
Bu karşılaştırma sonunda bilgisayardan gelen veri RS232 kablo yardımıyla PIC’e
aktarılır. PIC dönüştürme işlemini yaparak bilgileri vericiye ulaştırır. RF verici, alıcıyla
iletişime geçerek kendisine gelen bilgileri alıcısına aktarır. PIC alıcıdan aldığı bilgiler
doğrultunda bir çıkış sinyali üreterek motor sürücü entegreye komut verir. Motor sürücü
entegre ise PIC’ten gelen komutlara göre DC motorların çalışma durumunu belirlemiş
olur.
2.2 Tasarım
Tasarım aşaması ses tanıma ve robot araç tasarımı olarak iki kısma ayrılmaktadır. Bu
kısımda ses tanıma kısmında kullanılacak metotlar ve robot aracın yapımında
gerçeklenecek devreler hakkında bilgiler verilecektir.
2.3. Robot Araç Yapımında Kullanılacak Yöntemler
Tasarlanacak olan robot aracın kontrolü PIC mikro denetleyici yardımıyla
yapılacaktır. Aracın uzaktan kontrol edilmesi istendiği için RF modüllerden
yararlanılacaktır. Bu modül alıcı ve verici elemanlar sayesinde uzaktan kontrol
gerektiren uygulamalarda kullanılır. Tasarlayacağımız robot araçta kullanılacak RF
modül ile aracın yirmi metre uzaklığa kadar kontrolünün sağlanabilmesi amaçlanmıştır.
Aracın kontrolü için kullanılacak PIC ‘ in yazılımı C programlama dilinde olacaktır.
Yazılımda esas alınan klavyeden tuşlar yardımıyla robot aracın “sağ” , “sol” , “ileri” ,
“geri” ve dur komutlarına uygun hareketinin sağlanmasıdır. Bu hareketlerin
sağlanabilmesi için yapılacak yazılımda aracın mekanik kısmında bulunan DC
motorların yön kontrolü ve çalışma süreleri ayarlanacaktır.
Yapılacak olan robot araçta haberleşme devresi ve kumanda devresi olmak üzere iki
ayrı devre mevcuttur [4].
9
2.3.1. Haberleşme Devresi
Haberleşme devresi bilgisayarda yapılan yazılımla birlikte, kontrol devresinde
bulunan PIC ile haberleşmeyi sağlamak için gereklidir. Haberleşme devresinde
kullanılacak elemanlar ve bunların görevleri aşağıda anlatılacaktır. Bu devrenin kabaca
bağlantı şeması Şekil 2.2'de verilmiştir.
Şekil 2.2. Haberleşme devresi bağlantı diyagramı
Haberleşme Devresi Elemanları:
- RS232 Bağlantı Kablosu
- MAX232 Sürücüsü
- PIC
- RF Verici
2.3.1.1. RS232 Bağlantı Kablosu
Bilgisayarlardaki seri portlarda kullanılan, devredeki diğer elemanlara gönderilen
bilginin iletilmesini, elemanlardan gelecek bilginin alınmasını sağlayan konektördür.
Bilgi gönderimi ve alımı asenkron olarak yapılır. 12 Volt ile çalışır.
Şekil 2.3'ten de görüldüğü gibi RS232 kablonun 9 ucu mevcuttur. Seri porttan
haberleşmek için 3 ve 5 nolu uçların kullanılması yeterlidir. 3 nolu uç veri iletimini
sağlarken 5 nolu uç toprağa bağlanır.
PC RS232 MAX232 Verici PIC
10
1 2 3 4 5
6 7 8 9
Şekil 2.3. RS232 kablosunun şematik gösterimi
2.3.1.2. MAX232 Sürücü
Gerilim seviyesinin ayarlanmasına yarar. RS232 bağlantı kablosu 12 Volt ile
çalıştığından kullanılan bu sürücü ile birlikte gerilim seviyesi mikroişlemcinin çalıştığı
5 Volt olarak ayarlanır. Bu entegre bilgisayarın portundan gelen verileri kullanılacak
vericinin çalışması için uygun şekle dönüştürerek bir bakıma tampon görevi
görmektedir.
2.3.1.3. Dönüştürücü PIC
Haberleşme devresinde kullanılan PIC bilgisayardan RS232 kablo yardımıyla gelen
verileri 4 bit olarak dönüştürerek RF vericinin anlayacağı şekilde kodlar. Bu şekilde
bilgisayardan alınan verilerin kullanılmasına olanak sağlanır. Yani burada kullanılan
PIC bir nevi ara eleman görevi görmektedir.
2.3.1.4. RF Verici
Bu verici sayesinde kumanda devresinde bulunan alıcı ile haberleşme sağlanarak
bilgisayarda yapılan yazılımın PIC’ le haberleşmesi sağlanmış olur. RF verici modülü
olarak TX433 tercih edilmiştir. Bu verici modül sayesinde kapalı alanda yirmi metreye
kadar sorunsuz haberleşme sağlanabilmektedir. Şekil 2.4'te RF vericinin şematik
gösterimi verilmiştir.
11
2
1 3
4
Şekil 2.4. RF vericinin şematik gösterimi
2.3.2. Kumanda Devresi
Kumanda devresinde temel amaç kullanılacak mikro denetleyici yardımıyla DC
motorların yönlerinin kontrol edilmesidir. Kumanda devresi mikro denetleyici ile
birlikte yapılacak kontrolde gerekli diğer elemanları ve sinyaller aracılığıyla
bilgisayardan gelen bilgilerin alınmasını sağlayan alıcı modülü içerir.
Kumanda Devresi Elemanları:
- PIC Mikro denetleyici
- Motor Sürücü Entegresi
- 7805 Gerilim Regülâtörü
- RF Alıcı
- DC Motorlar
- DC Güç Kaynağı
- Çeşitli değerlerde Direnç ve Kondansatörler
Kumanda devresinde kullanılacak olan PIC mikro denetleyici sistemin çalışması için
olmazsa olmaz elemanıdır. Bu yüzden kullanılacak elemanların tanıtımında PIC mikro
GND
ANT DATA
TX433
VCC
12
denetleyicisi ayrıntılı olarak aşağıda ele alınacaktır. Kumanda devresinin kabaca
bağlantı şeması Şekil 2.5'te verilmiştir.
Şekil 2.5. Kumanda devresi bağlantı diyagramı
2.3.2.1. PIC16F877A Mikro Denetleyici
Kumanda devresinde kullanılacak olan PIC devrenin beyin görevi gören ana
elemanıdır. Konumu itibariyle alıcıdan aldığı bilgiler doğrultusunda çıkış sinyali
üreterek motor sürücü entegreler yardımıyla DC motorların kontrol edilmesinde
kullanılacaktır. Alıcıya gelen bilgiler ise bilgisayarda yapılacak olan programlama
yardımıyla verici tarafından iletilecektir. Ayrıca haberleşme devresinde de dönüştürücü
PIC kullanılmıştır. Bu sayede bilgisayardan gelen veriler RF vericinin algılayacağı ve
işlem yapabileceği şekle dönüştürülmüştür.
Kolay programlanabilmesi nedeniyle PIC'ler günümüzde birçok uygulamada
kullanılmaktadır. Aydınlatma devreleri, sanayide kullanılan robot kolu uygulamaları,
uzaktan kontrol edilebilen robot araç yapımı bunların bazılarıdır. Fiyatları, hızları,
bellek kapasiteleri ve işlevleri bakımından günümüzde kullanılan birçok farklı PIC tipi
mevcuttur. Microchip firması tarafından üretilen bu PIC’ler kelime boylarına ve yazılan
komutların uzunluğuna göre dört grupta toplanır. Bir mikro denetleyici kendi
içerisindeki veri alış-verişini kaç bit ile yapıyorsa bu bit sayısına kelime boyu denir.
PIC’lerin RAM belleği 8 bit uzunluğunda olmasına rağmen belleklerine yazılan
komutlar 12-14-16 bit kelime boyu uzunluğunda olabilir [7].
Devremizde özellikleri itibariyle kullanılmaya uygun olan PIC16F877A mikro
denetleyici kullanılacaktır.
Alıcı PIC Sürücü
Entegresi
DC
Motorlar
13
Şekil 2.6. PIC16F877A pin diyagramı [8]
Şekil 2.6’da PIC16F877A mikro denetleyicisinin bacak bağlantıları gösterilmiştir.
İsimlendirilmesinde kullanılan “F” harfi FLASH belleğe sahip olmasından
kaynaklanmaktadır. Bu bellek tipine EEPROM bellek tipi de denir. Bu bellek sayesinde
clock girişine uygulanan enerji kesilse bile program bellekte saklanır, silinmez. Clock
girişine tekrar enerji verildiğinde ise program kaldığı yerden devam eder [7].
Şekilde görüldüğü gibi 40 adet pini mevcuttur. Giriş çıkış pinleri olarak 33 adet pini
kullanılabilir. Giriş pinlerinden alınan verilere göre PIC içerisindeki çalışan program
değerlendirme yaparak çıkış pinlerinden gerekli sinyalleri üretir.
Çok az enerji harcaması ve düşük maliyetleri nedeniyle özellikle fazla kontrol
gerektirmeyen uygulamalarda tercih edilirler. Çıkış sinyalinin akımı devrede kontrol
edilecek olan DC motorları sürmede yetersiz olduğundan bu akımı yükseltecek olan
motor sürücü entegresiyle birlikte kullanılacaktır.
Tablo 2.1.'de PIC16F877A mikro denenetleyicisinin temel özellikleri verilmiştir.
14
Çizelge 2.1. PIC16F877A mikro denetleyicisinin temel özellikleri [8]
Değişken İsmi Değeri
Bellek Tipi Flash
İşlemci Hızı (MIPS) 5
Program Hafızası (KB) 14
RAM Hafızası (Bytes) 368
Data EEPROM (Bytes) 256
Çalışma Sıcaklığı ( ) -40, +125
Karşılaştırıcı 2
ADC 8 ch, 10-bit
Zamanlayıcılar 2x8-bit, 1x16-bit
Çalışma Gerilimi (V) 2.2 - 5.5
Dijital İletişim Çevre Birimleri 1-UART, 1-A/E/USART, 1-SPI, 1-I2C1-
MSSP (SPI/I2C)
PWM Çevre Birimleri 2 CCP
Pin Sayısı 40
Kumanda devresinde kullanılan diğer yardımcı elemanlar ve görevleri aşağıda
verilmiştir.
2.3.2.2. Motor Sürücü Entegresi
Mikro denetleyicinin gönderdiği çıkış sinyalinin akımı DC motorları kontrol etmede
yetersiz olduğundan motor sürücü entegreleri kullanılır. Bunlar mikro denetleyiciden
gelen sinyalleri kuvvetlendirerek DC motorların sürülmesini sağlar. Çalıştırılabilmesi
için EnableA ve EnableB uçlarının enerjilendirilmesi gerekmektedir. SensA ve SensB
uçlarına direnç bağlayarak motorun çektiği akım azaltılabilir ve böylece motorların
dönüş hızının da ayarlanması mümkün olabilir. Motor sürücü entegreleri dört giriş ve
dört çıkış ucundan oluşmaktadır. Bu özellikleri nedeniyle iki tane DC motorun kontrol
edilmesine olanak sağlar.
15
Projede motor sürücü entegresi olarak L298D entegresi kullanılmıştır. Bu entegrenin
içerisinde 2 adet H-köprüsü bulunmaktadır. 2 ampere kadar akım taşıyabildiğinden
küçük güçlü DC motorların kontrolünde rahatlıkla kullanılabilir. Aşağıda Şekil 2.7'de
motor sürücü entegresinin şematik gösterimi verilmiştir.
9 4
5
7
10 2
12 3
6 13
11 14
1
15
3
Şekil 2.7. Motor sürücü entegresinin şematik gösterimi
Şekil 2.7'den de görüldüğü gibi 15 adet bacağı mevcuttur. Bacakların görevleri
aşağıda veilmiştir [9].
Input1 ve Input2 : Bunlar birinci H-köpüsünün girişine bağlıdırlar. +5 volt gerilim ile
çalışırlar. Motorun ileri veya geri yönde dönmesi Input 1'e 5V, Input2'ye 0V veya
Input1'e 0V, Input2'ye 5V uygulayarak sağlanır. İki girişe uygulanan voltajın değeri
aynı ise motor dönmez.
Input3 ve Input4 : Bu bacaklar ikinci H-köprüsünün girişinde kullanılırlar. Çalışma
prensipleri Input1 ve Input2 ile aynıdır.
Output1 ve Output2 : Birinci H-köprüsünün çıkış uçlarıdır. Bu uçlar motorun + ve -
uçlarına bağlanır. Bağlı oldukları girişlerin durumuna göre motor hareket eder.
IN1 VCC VS
IN2
IN3 OUT1
IN4 OUT2
ENABLEA OUT3
ENABLEB OUT4
SENSA
SENSB GND
16
Output13 ve Output14 : Bu bacaklar ise ikinci H-köprüsünün çıkış uçlarıdır. Bu uçlar
kullanılacak diğer motorun + ve - uçlarına bağlanır. Bağlı oldukları girişlerin durumuna
göre motor hareket eder.
EnableA ve EnableB : Motor sürücü entegresinde bulunan H-köprülerini
etkinleştirmek için bu uçlar +5V ile enerjilendirilir.
SensingA ve SensingB : Bu uçlar direkt toprağa bağlanabileceği gibi direnç üzerinden
de toprağa bağlanabilir.
VS : Motorların çalışması için gerekli olan gerilim bu uçtan verilir. DC güç kaynağının
verdiği gerilimde salınımlar varsa bu uçla toprak arasına ayrıca kapasite bağlanabilir.
VSS : Motor sürücü entegrenin çalışabilmesi için bu uç +5V ile beslenir.
GND : Bu uç direkt toprağa bağlanır.
2.3.2.3. RF Alıcı
Bilgisayara bağlı verici tarafından gönderilen bilgileri alarak PIC’ e aktarır. Bu
sayede PIC alıcı tarafından alınan bilgileri kullanarak gerekli kontrol işaretlerini üretir.
RF alıcı modül olarak RX433 tercih edilmiştir. Şekil 2.8'de RF alıcı biriminin şematik
gösterimi verilmiştir.
4 5
6
1
7
2 3 8
Şekil 2.8. RF alıcının şematik gösterimi
VCC1 VCC2
DATA1
ANT
DATA2
RX433
GND1 GND2 GND3
17
2.3.2.4. DC Motorlar
Bunlar devrenin mekanik kısmında bulunan ve aracın sağa, sola, ileri, geri hareket
etmesini sağlayan elemanlardır. Bu motorların en önemli özellikleri yüksek tork, düşük
dönme hızıdır. Yüksek tork aracın bir engelle karşılaşması durumunda engeli aşmasına
yardım ederken, düşük hız ise aracın savrulmasını önler ve stabil hareket etmesini
sağlar.
2.3.2.5. DC Güç Kaynağı
DC motorların çalışması için gerekli enerjiyi sağlamada kullanılır. DC güç kaynağı
olarak kumanda devresinde 7.4V 2250 mAh Li-Po pil kullanılacaktır. Bu piller şarj
edilebilir olmaları ve yüksek çıkış akımına sahip olmaları nedeniyle robot araç
uygulamalarında sıkça kullanılırlar. Örneğin 1A ile çalışan motor yaklaşık 2.25 saat
çalıştırılabilir. Ayrıca ağırlıklarının da diğer bataryalara nazaran daha az olması
avantajlarındandır. Kumanda devresindeki PIC ve motor sürücü entegresinin enerjisi 9V
pil ile sağlanır. Haberleşme devresindeki PIC'in enerjisi ise bilgisayardan gelen
gerilimin MAX232 sürücüsü ile +5V'a çevrilmesiyle sağlanır. Şekil 2.9'da bu
bağlantılar gösterilmiştir.
Şekil 2.9. Güç kaynağı bağlantıları
Motor
Sürücü
DC
Motorlar
Li-Po
Batarya PIC
16F877A
9V Pil
18
2.3.2.6. LM7805 Gerilim Regülâtörü
PIC ile yapılan uygulamalarda genelde küçük hacimli olmaları ve değişik giriş
gerilimi için çıkış geriliminin ayarlanması nedeniyle çokça kullanılırlar. Bu regülâtör
pozitif gerilim regülâtörü kategorisinde yer alır. Son iki rakamı çıkış gerilimi olan
+5V’u temsil eder. Devredeki görevi gerilimi sınırlamaktır. DC güç kaynağından alınan
gerilimi mikro denetleyicinin çalışması için gerekli olan 5 Volta sınırlar. Şekil 2.10'da
LM7805 gerilim regülatörünün şematik çizimi gösterilmiştir. Burada 1 nolu uç giriş, 2
nolu uç toprak 3 nolu uç ise çıkıştır.
1 3
2
Şekil 2.10. LM7805 şematik gösterimi
2.4. Ses Tanıma
Günümüzde ses tanıma ile yapılan uygulamalara ilgi gün geçtikçe artmaktadır. Ses
tanıma ile ilgili yapılan çalışmalar elli yılı aşkın bir süreye dayanmaktadır. Ancak ses
tanımanın içinde barındırdığı disiplinlerden dolayı yapılan çalışmalar halen arzu edilen
seviyede sonuç verebilecek nitelikte değildir [10]. İlk zamanlarda yapılan çalışmalar
daha çok makine veya robotu konuşturmak amaçlı olmasına rağmen daha sonraki
çalışmalar gelişen teknolojiye paralel olarak makine ve robotların ses ile kontrol
edilmesi şeklinde olmuştur. Kullandığımız bilgisayarların insan sesini algılama, tanıma
gibi işlemleri yapabilmesi sesle yapılacak kontrollerde büyük avantajlar sağlamaktadır.
Genel olarak ses tanıma sistemlerinde gerçekleştirilen aşamalar sesin kaydedilmesi,
kaydedilen sesin işlenmesi, yazılım yardımıyla karşılaştırma işleminin yapılması ve
tanınan sesle yapılacak uygulamanın gerçekleşmesi şeklindedir [3]. Yapacağımız
78XX
VCC OUT
GND
19
projede kullanılacak yöntem de bilgisayar ortamında ses tanıma işleminin
gerçekleşmesidir.
Ses dalgaları farklı frekans değerine sahip sinüs dalgalarından oluşur. Dolayısıyla ses
sinyali analog sinyaldir. Bilgisayar ortamında analog sinyalle işlem yapmak zordur. Bu
yüzden analog sinyali örnekleyerek dijital sinyale çevirmemiz gerekir. Elde ettiğimiz bu
örneklerin karşılaştırma amaçlı kullanılabilmesi için ses sinyalini bazı ön işlemlerden
geçirmemiz gerekir [11].
Şekil 2.11’de dijital sinyale çevirdiğimiz ses sinyalinin özelliklerinin nasıl çıkarıldığı
ile ilgili blok diyagramı görülmektedir. Özellik çıkartımı, mikrofon yardımıyla
bilgisayara alınan ses sinyalinin işlenerek gezgin araca verilecek olan sağ, sol, dur, ileri
ve geri komutlarının karakteristik özelliklerini belirlemek amacıyla yapılmıştır. Ses
sinyalinin özelliklerinin çıkartımı ile ilgili bir çok yöntem vardır. Biz bu projede MFCC
(Mel Frequency Cepstral Coefficient) katsayılarını kullandık.
Ses
Şekil 2.11. Özellik çıkarımları blok diyagramı
Ses tanıma yazılımı yapılırken ilk önce araca verilecek olan komutlardan oluşan bir
veritabanı hazırlanır. Araca komut verildiği zaman söylenen kelimeyle veritabanında
olan kelimeler karşılaştırılır. Söylenen komutun diğer komutlara ne kadar benzediği
hesaplanır. Eğer oran küçükse araca verdiğimiz komut veritabanındaki komutlardan biri
değildir. Eğer hesaplanan değer büyükse verdiğimiz komut benzeme oranı yüksek olan
kelimedir. Bulunan bu kelimeyle aracın hareketi istenilen yönde gerçekleştirilir [11].
Yaptığımız ses tanıma yazılımını algoritması Şekil 2.12’de görüldüğü gibidir.
Çerçeveleme Pencereleme FFT Mel Filtre
Bankası
Logaritma Kepstrum
Katsayıları
Ayrık Cosinüs
Dönüşümü
KNN
Metoduna Giriş
20
Şekil 2.12. Ses tanıma yazılımının algoritması
Başla
Ses sinyalini
al ve örnekle
Sesin
enerjisini
hesapla
Sesin
başlangıcını
bul
Sesin bitişini
bul
Çerçeveleme
Pencereleme
FFT
DCT
Kepstrum
katsayıları
1
1
Veritabanında
ki kelimelerle
karşılaştır
Kelime
benziyor
mu?
Evet
Hayır
Araca
uygula
KNN'e giriş
21
2.4.1. Ses Sinyalinin Bilgisayar Ortamına Alınması
Mikrofon yardımı ile bilgisayar ortamına alınan ses sinyali ses kartına iletilir. Ses,
ses kartından kullanılmak üzere belleğe aktarılır.
Bilgisayar digital sinyaller üzerinden işlem yapar. Ses sinyali analog sinyaldir.
Bilgisayar ortamında ses sinyali üzerinde işlem yapabilmemiz için digital sinyale
çevirmemiz gerekir. Bu dönüştürme işlemini yapabilmek için ses sinyalini
örneklememiz gerekir. Örnekleme, sinyali eşit aralıklara bölerek işlem yapmaktır.
Örneğin ileri sözcüğünün herhangi bir işlem uygulanmamış ham hali şekil 2.13’deki
gibidir.
Şekil 2.13. İleri sözcüğünün ham hali
2.4.2. Ses Sinyalinin Enerjisinin Hesaplanması
Bilgisayar ortamına alınan ses sinyali gürültü sinyallerini de içerisinde bulundurur.
Gürültü sinyalleri ses sinyali olarak algılanabilir. Bu yüzden ses sinyalinin nerede
başlayıp nerede bittiğini anlamak için enerjisi hesaplanır. Böylece gürültülü olan,
konuşma olmayan kısımlar işlemlere tabi tutulmaz [3]. Bu çalışmada kullanılan teknik
root mean square dır. Root mean square, ses dalgasının her noktasında aldığı değerlerin
kareleri toplamına eşittir.
22
2.4.3. Ses Sinyalinin Başlangıcını Tespit Etme
Ses sinyalinin başladığını anlamamız için belirli bir eşik seviyesi belirlememiz
gerekir. Belirlenen eşik seviyesini aştığında ve belirli bir süre bu eşik seviyesinde
kaldığında konuşmacı tarafından söylenen kelimenin başlangıcı bulunmuştur [3].
2.4.4. Ses Sinyalinin Bitişini Bulma
Ses sinyalinin bittiğini anlamak için enerji seviyelerine bakarız. Belirli bir enerji
seviyesinin altına düştüğünde ve bir süre bu enerji seviyesinde devam ederse konuşma
sona ermiştir [3].
2.4.5. Çerçeveleme
Ses verisinin hepsini aynı anda değerlendirmek yerine ses sinyalini çerçevelere
bölerek işlem yapmak daha doğrudur. Çünkü ses sinyalinin içerisinde konuşmanın
olmadığı kısımlar da bulunmaktadır ve bu anlamsız kısımlar konuşmanın olduğu
kısımları maskelemektedir [12].
2.4.6. Pencereleme
Bir önceki adımda çerçevelenmiş ses sinyalinin başındaki ve sonundaki süreksizliğin
giderilmesi için ses sinyaline pencereleme işlemi uygulanır. Böylece söylenen
kelimenin orta kısmı önem kazanırken baş ve son kısımları önemini kaybeder. Bu
sayede ses sinyalindeki bozulma giderilmiş olur [13].
Ayrıca çerçevelenmiş ses sinyaline fourier dönüşümü uygulayabilmek için de
pencereleme işlemi yapılır. Alınan ses sinyalinin hepsini aynı anda işleyemeyiz. Bu
nedenle ses işaretini parçalara böleriz. Ses işaretini parçalara bölerek fourier
dönüşümünü de kolaylıkla hesaplayabiliriz [11].
Pencereleme aralığını belirlerken şu üç faktöre dikkat etmemiz gerekir [11].
Seçilen pencere aralığında sesin özellikleri değişmemelidir.
Pencerenin boyu ilerleyen adımlarda elde edilecek olan kepstrum katsayılarının
oluşması için uygun aralıkta seçilmelidir.
23
Art arda gelen pencereler sesin bazı kısımlarını atlayacak kadar kısa
olmamalıdır.
Biz çalışmamızda Hamming penceresini kullandık. Bu sayede pencerelediğimiz ses
sinyalinin karakteristiğini belirleyen katsayıları hesapladık [12].
2.4.7. Fast Fourier Transform
Hızlı Fourier Dönüşümü olarak geçen bu yöntem ses sinyalini oluştuğu frekanslara
ayırırarak zaman domeninde değil frekans domeninde işlememizi sağlar. FFT ile
pencerelenmiş işaretin her bir noktadaki genlik değeri hesaplanır [11].
İnsan aynı sözcüğü tekrar söylese bile oluşan ses sinyali aynı olmayabilir. [11].
Örneğin ileri komutunu ilk söylediğimizde oluşan görüntü ile ikinci söylediğimizde
oluşan görüntü aynı değildir. Şekil 14 ve 15’te görüldüğü gibi ileri komutunu ilk
söylediğimizde ve ikinci kez söylediğimizde oluşan görüntüler farklı olur.
Şekil 2.14. Birinci ileri komutunun dalga şekli
Şekil 2.15. İkinci ileri komutunun dalga şekli
24
İleri sözcüğünü ifade eden bu iki sinyale bakıldığında birbirlerine benzerler fakat
birebir aynı değildirler. Ancak sinyalleri fourier dönüşümü yardımıyla gürültüden
arındırıp benzerliklerini artırabiliriz.
Şekil 2.16. Birinci ileri komutunun fourier dönüşümü
Şekil 2.17. İkinci ileri komutunun fourier dönüşümü
Şekil 16 ve 17’ye baktığımızda sinyallerin fourier dönüşümü alındığında birbirine
daha çok benzediğini görürüz.
2.4.8. Mel Filtre Bankası
Sesin filtreleme işleminin yapıldığı bu banka üçgen dalgaların bir araya gelmesinden
oluşur. Bunların yapısı bant geçiren filtrenin karakteristiğine benzemektedir. Elde
edilecek kepstrum katsayısı kadar üçgen kullanılır. Bant genişlikleri sabittir. 1 Khz in
25
altında lineer, 1 Khz in üstünde logaritmik olarak artmaktadır. Şekil 2.18’de ileri
kelimesinin sinyaline uygulanmış mel filtre bankası görülmektedir. Frekans ile mel
frekansı arasındaki ilişki aşağıdaki eşitlikte verilmiştir.
Şekil 2.18. Mel filtresi uygulanmış işaret
Mel filtre bankasından geçirilen işaretin logaritması alınır ve ayrık cosinüs
dönüşümü yapılmak üzere hazır hale getirilir.
2.4.9. Ayrık Cosinüs Dönüşümü
MFCC katsayılarını elde etmek için mel filtre bankasının çıkışındaki işarete ayrık
cosinüs dönüşümü uygulamamız gerekir. Ayrık cosinüs dönüşümüyle frekans
domeninden tekrar zaman domenine geçeriz. Frekans domeninden zaman domenine ters
fourier dönüşümüyle de geçilebilir. Fakat işaretin imajiner kısmını kullanmıyoruz. Bu
nedenle ters fourier dönüşümü yerine ayrık cosinüs dönüşümünü kullanmayı tercih
ettik.
2.4.10. MFCC Katsayılarının Bulunması
MFCC katsayılarının bulunması için sırasıyla şu aşamaları gerçekleştirdik.
1. Ses sinyalinin Fourier dönüşümü alınır.
26
2. Fourier dönüşümünün çıkışındaki işaret mel filtre bankasından geçirilir.
3. Logaritması alınır.
4. Logaritması alınan işaretin ayrık cosinüs dönüşümü hesaplanır.
Bu aşamaların sonucunda elde edilen katsayıları KNN metodunda giriş katsayıları
olarak kullandık. Şekil 2.19’da ileri kelimesinin verilen adımlardan geçirilmesinden
sonra MFCC katsayıları görülmektedir.
Şekil 2.19. MFCC katsayıları
2.4.11. K-Nearest Neighbors (K-En Yakın Komşu) Algoritması
Gelişen teknolojiyle birlikte ses tanıma ile ilgili çalışmalar artmaktadır. Ses tanıma
yapabilmek için kullanılabilecek birçok yöntem vardır. Bu yöntemlerden kullanışlı olan
yöntem k-en yakın komşu algoritması yöntemidir. KNN algoritması bir çeşit
sınıflandırıcıdır. Bu yöntemle verilerin daha önceden veritabanında olan verilere olan
benzerliği hesaplanır, en yakın k verisi ortalamasına ve belirlenen eşik değerine göre
verileri sınıflara yerleştirir [14]. İki örnek arasındaki yakınlık derecesi aşağıda verilen
formül yardımıyla hesaplanır.
27
Bu yöntemde model kurulmasına gerek yoktur. Eğitim verisi içerisinde bulunan
bütün örneklerle karşılaştırma işlemi yapılır. Uygulaması ve anlaşılması basit
olduğundan dolayı bu yöntem tercih edilendir. Ancak eğitim için kullanılacak örnek
sayısı arttıkça bu örnekleri saklamak için çok fazla hafızaya ihtiyaç duyulmaktadır.
Projede kaydedilen seslerin MFCC katsayılarını çıkarılmış ve dışarıdan girilecek sesin
MFCC katsayısı bu kaydedilen seslerle KNN algoritması yardımıyla karşılaştırılarak en
yakın sesle eşleşmesi sağlanmıştır.
3. SİMÜLASYON ÇALIŞMALARI
Bu kısımda devrelerin gerçeklenmesi için yapılan deneysel çalışmalar, simülasyonlar
ve yazılımlar hakkında bilgiler verilecektir.
3.1. Haberleşme Devresi Simülasyonu
Şekil 3.1'de haberleşme devresinin proteus çizimi verilmiştir. Yapılan bu simülasyon
sayesinde devrenin çalışması hakkında ön bilgilerin elde edilmesi amaçlanmıştır.
Haberleşme devresinin simülasyonunda PIC16F877A, RF verici, MAX232 Sürücü ve
RS232 kablo kullanılmıştır. Devrenin çalışmasını RS232 kablo yardımıyla gelen
verilerin PIC'in içinde gerekli işlemlerden geçerek RF vericiye ulaştırılması şeklinde
özetleyebiliriz. RF verici ise kendisine gelen bilgileri alıcısına ulaştırır.
Şekil 3.1. Haberleşme devresinin simülasyonu
29
3.2. Kumanda Devresi Simülasyonu
Yapılan olan projede kontrolü gerçekleştirilecek motorların Proteus programı
yardımıyla simülasyonu yapılmıştır. Burada amaç gerçeklenecek devre hakkında bu
simülasyon yardımıyla ön bilgilerin edinilmesi ve gerçekleme aşamasında simülasyon
sonuçlarından faydalanılarak sistemin tasarlanmasıdır.
Motor devresinin simülasyonunda PIC16F877A, motor sürücü entegresi, butonlar
ve LED diyotlar kullanılmıştır. Kullanılan motor sürücü entegresi 4 giriş ve 4 çıkışa
sahiptir. Bu sayede 2 girişi sağdaki motoru, diğer 2 girişi ise soldaki motoru kontrol
etmek üzere 2 adet DC motorun sürülmesi mümkündür. Motor sürücü entegresinin
çalıştırılabilmesi için EnableA ve EnableB uçlarının enerjilendirilmesi gereklidir.
Entegrenin giriş uçlarına koyulan LED’ler yardımıyla hangi motorun ne yönde
döndüğünü görmek mümkündür. Motorlar ileri yönde dönüyorsa kırmızı LED, geri
yönde dönüyorsa sarı LED yanmaktadır. Şekil 3.2'de kumanda devresinin Proteus
simülasyonu verilmiştir.
Şekil 3.2. Kumanda devresinin simülasyonu
30
Devrenin çalışmasını özetleyecek olursak ilk önce PIC mikro denetleyicinin
çalışması için gerekli olan kristal bağlantıları yapılmıştır. Daha sonra C programlama
dilinde yazılmış olan programın HEX uzantılı dosyası PIC’in içine yüklenerek
simülasyon yardımıyla program çalıştırılmıştır. PIC’in çıkış sinyalinin güçlendirilmesi
için motor sürücü entegre kullanılmıştır. Motor sürücü entegrenin İnput1 ve İnput2
girişi sağdaki motorun, İnput3 ve İnput4 girişi soldaki motorun çalışması için
kullanılmıştır. Sağdaki motorun çalışmasını ele alacak olursak motorun sol ucuna
Output1 sağ ucuna ise Output2 çıkışları bağlanmıştır. Output1 İnput1’den gelen,
Output2 ise İnput2’den gelen sinyalleri çıkışa aktarır. Bu durumda olası çalışma
durumlarını Tablo 3.1'de verilmiştir.
Çizelge 3.1. Motor Hareket Durumları
İnput1 İnput2 Motor Durumu
Lojik 1 Lojik 1 Motor dönmez
Lojik 1 Lojik 0 Motor ileri yönde döner.
Lojik 0 Lojik 1 Motor geri yönde döner.
Lojik 0 Lojik 0 Motor dönmez.
Burada lojik 1 olarak +5V lojik 0 olarak 0V kastedilmektedir. Aynı durumlar soldaki
motor içinde geçerlidir. Motorların kontrolü için ileri, geri, sağ, sol ve dur butonları
kullanılmıştır.
3.3. Aracın Sağa ve Sola Dönmesi İçin Kullanılacak Yöntem
Aracın hareket edeceği yöne göre sağdaki veya soldaki motorun durdurulmasıyla
yön değiştirme işleminin gerçekleşmesi amaçlanmıştır. Buna göre soldaki motorun
belirli bir süre ile durdurulup sağdaki motorun hareketinin devam etmesiyle sola dönüş,
sağdaki motorun belirli bir süre ile durdurulup soldaki motorun hareketine devam
etmesiyle de sağa dönüş gerçekleşecektir. Bu süre aracın gerçeklenmesinden sonra sağa
ve sola dönüş kabiliyeti gözlenerek değişebilir. Belirlenen bu süre sonunda durdurulan
motorun hareketine kaldığı yerden devam etmesi sağlanarak aracın hareketinin
devamlılığı amaçlanmıştır.
4. DENEYSEL ÇALIŞMALAR
Bu kısımda yapılan yazılımlar ve gerçeklenen devreler hakkında bilgiler verilecektir.
Yazılım olarak aracın kontrolünde kullanılan mikro denetleyici ve ses tanıma kısmında
yapılan yazılım ele alınacaktır. Devre kısmında ise gerçeklenen haberleşme ve kumanda
devresi hakkında bilgiler verilecektir.
4.1. Yazılımların Açıklanması
İlk olarak robot araçta bulunan DC motorların kontrolü için kullanılan PIC16F877A
mikro denetleyicisinin yazılımı yapılmıştır. Yazılım için PIC C Compiler programı
kullanılmıştır. Bu yazılımla birlikte robot aracın klavye yardımıyla seri porttan
gönderilecek komutlarla hareket etmesi amaçlanmıştır. Programda yapılan yazılımla
birlikte aracın 'w' tuşu ile ileri, 'a' tuşu ile sola, 's' tuşu ile geri, 'd' tuşu ile sağa, 'c' tuşu
ile de durma işlemi gerçekleştirilmiştir. Klavyeden kontrol için kodların yazıldığı PIC C
Compiler programı açılır. Programın başlangıç ekranı Şekil 4.1'deki gibidir.
Şekil 4.1. PIC C Compiler programı başlangıç ekranı
32
İlk olarak araç çubuğundan 'Tools' menüsü seçilir. Bu menünün altında açılan
seçeneklerden 'Serial Port Monitor' sekmesine tıklanarak burada kullanılacak COM
noktası ve bununla ilgili seçenekler işaretlenir ve 'OK' butonuna basılarak bilgi
gönderme ekranı açılır. Şekil 4.2'de bilgi gönderme ekranı görülmektedir. Burada aracın
hareketi için kullanılacak olan 'w', 'a', 's', 'd', 'c', tuşlarıyla klavyeden kontrolü
gerçekleştirilmektedir. Bu tuşlar sırasıyla ileri, geri, sağ, sol, dur eylemlerinin
gerçekleştirilmesini sağlar. Bu alana yazılacak olan harf RS232 kablo yardımıyla seri
porttan PIC'e gönderilir ve PIC'in içinde yazılan programa göre aracın hareketi
sağlanmış olur.
Şekil 4.2. Klavyeden kontrol için ara yüz ekranı
Daha sonra ses tanıma yazılımında araç için 5 adet komut belirlenmiştir. Her bir
komut için 5 farklı ses kaydı alınarak 25 adet veriye sahip bir veri tabanı
oluşturulmuştur. Oluşturulan bu veri tabanındaki sesler programın eğitilmesi için
kullanılacaktır. Ses tanıma yazılımı için MATLAB programı ve KNN algoritması
kullanılmıştır. Bu algoritma ile birlikte dışarıdan girilen sesin MFCC katsayıları ile veri
33
tabanındaki seslerin MFCC katsayıları karşlaştırılarak en yakın olan sınıfa atanması
sağlanmıştır. Robot araçla haberleşmesi için ise örneğin, program ileri komutunu
algıladığı anda MATLAB ile seri porttan 'w' bilgisi gönderilerek aracın ileri yönde
hareketi sağlanmıştır. Benzer şekilde diğer komutlar için de seri porttan bilgi gönderimi
yapılarak aracın sesli komutlarla birlikte hareket etmesi amaçlanmıştır.
4.2. Devrelerin Gerçeklenmesi
Robot araç tasarımı aşamasında gerçeklenecek olan haberleşme ve kumanda devresi
ilk olarak breadbord üzerinde denenmiş ve olumlu sonuçlar vermesinin ardından baskı
devre üzerine aktarılmıştır. Baskı devrenin tercih edilmesinin nedeni daha güvenli
olmasının yanında estetik bakımdan da projeye katkı sağlamasıdır. Baskı devre
çizimleri Ares programı yardımıyla yapılmıştır. Gerçekleştirilen haberleşme devresinin
PCB çizimi Şekil 4.3'te gösterilmiştir.
Şekil 4.3. Haberleşme devresi PCB çizimi
Baskı devre çizimi yapıldıktan sonra gerçeklenen haberleşme devresinin fotoğrafı
Şekil 4.4'te gösterilmiştir.
34
Şekil 4.4. Gerçeklenen haberleşme devresinin fotoğrafı
Bu devre bilgisayardan gelen verinin PIC16F877A yardımıyla RF vericiyle
bağlantısının gerçekleşmesini sağlar. Ayrıca devrede bulunan LED'ler yardımıyla
devrenin sağlıklı çalışıp çalışmadığını test etmek mümkündür. Kumanda devresinin
PCB çizimi Şekil 4.5'te verilmiştir.
Şekil 4.5. Kumanda devresi PCB çizimi
35
Baskı devre çizimi yapıldıktan sonra gerçeklenen kumanda devresinin fotoğrafı Şekil
4.6'da gösterilmiştir.
Şekil 4.6. Gerçeklenen kumanda devresinin fotoğrafı
Tasarlanan bu devre yardımıyla RF Alıcı ile alınan bilgi mikro denetleyiciye iletilir
ve mikro denetleyici de gelen bilgi doğrultusunda motor sürücü entegresine gerekli
sinyalleri üretmesi için komut verir. Motor sürücü entegresi yardımıyla araçta bulunan
motorların çalışması sağlanır. Devrede bulunan LED'ler yardımıyla haberleşme ve
kumanda devresinin senkron şekilde çalışıp çalışmadığını gözlemlemek mümkündür.
Tasarlanan robot aracın son hali Şekil 4.7'de gösterilmektedir.
36
Şekil 4.7. Robot aracın gerçeklenmiş hali
5. SONUÇLAR
'Sesli Komutlarla Araç Kontrolü' projesi kapsamında verilen sesli komutlara göre
hareket edebilen robot araç tasarlanmıştır. Ayrıca aracın sesli komutların dışında
klavyeden atanan belirli tuşlar sayesinde manüel olarak da kontrolü mümkündür. Bu
projede veri aktarımı ve kontrol işlemlerini gerçekleştirmek amacıyla PIC16F877A
işlemcisi kullanılmış, sesli komutların algılanması ise MATLAB programı yardımıyla
Yapay Sinir Ağları yöntemi kullanılarak gerçekleşmiştir. Aracın uzaktan haberleşmesi
için RF modüllerinden faydalanılmıştır. Bilgisayara takılan RS232 kablo yardımıyla seri
porttan haberleşme işlemi yapılarak bilgilerin PIC'e ulaşması sağlanmıştır.
Hedeflenenler doğrultusunda başarılı bir şekilde gerçekleştirilen bu proje askeri
uygulamalarda bölge keşiflerinde, endüstriyel uygulamalarda kullanılan robotların
kontrolünde kullanılabilir. Ayrıca aracın üzerinde kamera sistemi kurularak insanların
erişemeyeceği yerlerde, tasarlanan bu araç yardımıyla bölge hakkında bilgi edinilebilir.
Zehirli gaz sızıntısı, deprem, yangın gibi durumlarda kullanılacak ses kontrollü robot
araç yardımıyla bölge hakkında daha hızlı bilgi toplanıp can ve mal kaybı en aza
indirilebilir.
Proje geliştirilmeye açık olması nedeniyle de gelecekte bu alanda yapılacak projeler
için önem arz etmektedir. Tasarlanan araca birçok yeni özellik eklenip uygulama
alanları genişletilebilir. Örneğin araca verilecek sesli komut sayısı artırılarak daha
kapsamlı kontrol olanağı sağlanabilir veya aracın uzaktan kumanda edilmesinde
kullanılan RF modülün kapasitesi artırılarak daha uzak mesafelerden araç kontrol
edilebilir. Aracın üzerine konulacak sensörler yardımıyla önünde engel bulunması
durumunda hareketini durdurması da geliştirilebilir bir yön olarak düşünülebilir.
Sonuç olarak hazırlanan çalışma çizelgesine paralel gidilerek istenilen sonuca
ulaşıldığı söylenebilir.
6.YORUMLAR VE DEĞERLENDİRME
Bu çalışmada sesle kontrol edilebilen bir robot araç tasarımı yapılmıştır. Tasarlanan
sistemde kullanılan devrelerin simülasyonları yapılmış ve bunlar gerçeklenecek
devrelerde referans olarak kullanılmıştır. Tasarlanan aracın kontrol yazılımı C
programlama dili ile ses tanıma yazılımı ise MATLAB programı yardımıyla
gerçekleştirilmiştir. Gerçekleştirilen bu proje bu alanda çalışma yapacak olanlar için
fikir verme açısından önemlidir. Bununla birlikte projenin geliştirilmesi ile ilgili olarak
aşağıdaki maddeler dikkate alınabilir.
Projede kullanılan RF modülün yerine verici gücü daha yüksek bir RF modül
kullanılarak haberleşme ve kontrol mesafesi artırılabilir.
Tasarlanan aracın üzerine kablosuz olarak görüntü aktarabilen kamera
yerleştirilerek aracın bulunduğu noktanın bilgisi bilgisayar tarafından
gözlenebilir.
Aracın üzerinde kullanılacak sensörler yardımıyla komut gelmesine rağmen
hareketsiz kalması sağlanarak zarar görmesi engellenebilir.
Araçta kullanılan Li-Po pil 7.4V, 2.25Ah'lik güce sahiptir. Kullanılan pilin gücü
artırılarak aracın çalışma süresi artırılabilir.
Araca verilen komutların sayısı beştir. Bu komutların sayısı artırılarak daha
kapsamlı kontrolü sağlanabilir.
KAYNAKLAR
[1]. R. Edizkan, B.Tiryaki, T. Büyükcan, İ. Uzun, “Ses Komut Tanıma ile Gezgin
Araç Kontrolü” , IX. Akademik Bilişim Konferansı Bildirileri, Dumlupınar
Üniversitesi, Kütahya, 31 Ocak-2 Şubat 2007.
[2]. İ. Çavuşoğlu, F. Kırmızı, “Seri Port ile Haberleşebilen Uzaktan Kumandalı
Kameralı Araç”, Bitirme Tezi, Yıldız Teknik Üniversitesi, Elektrik Elektronik
Mühendisliği Bölümü, İstanbul, Haziran 2007.
[3]. H. Çakır, B. Okutan, “Ses Kontrollü Web Tarayıcı”, Bilişim Teknolojileri
Dergisi Cilt:4 Sayı: 1, Ocak 2011.
[4]. Ş. Yüksel, G. Ekincioğlu, İ. Develi, K. Tunçer, E. Zabun, “RF Modüllerle
Kontrol Edilen Paletli Keşif Aracı Tasarımı”, TMMOB EMO Ankara Şubesi
Haber Bülteni, Sayı: 2013.1, 2013.
[5]. İ. Çayıroğlu, M. Şimşir, “PIC ve Step Motorla Sürülen Bir Mobil Robotun
Uzaktan Kamera Sistemi ile Kontrolü” , Erciyes Üniversitesi Fen Bilimleri
Enstitüsü Dergisi, Sayı: 24, 2008.
[6]. İ.Boztepe, "Sesli Komutlar İle Araç Kontrolü", Karadeniz Teknik Üniversitesi,
Bilgisayar Mühendisliği Bölümü Ana Bilim Dalı, Trabzon, Haziran 2013.
[7]. Altınbaşak O., Mikrodenetleyiciler ve PIC Programlama, İstanbul Altaş
Yayıncılık, 2007.
[8]. “PIC16F87XA Data Sheet”, Microchip, 2009.
[9]. A. A. Varsak, F. Ünal, S.Yılmaz, B. Amanmyradov, "Gözcü Robotunun
Elektromekanik Tasarımı ve Prototip Üretimi", Karadeniz Teknik Üniversitesi,
Elektrik Elektronik Mühendisliği Bölümü, Trabzon, Haziran 2013.
[10]. N. İkizler, İ.H. Çavdar, “Çapraz İlişki Yöntemi Kullanarak Konuşmacı Bağımlı
Türkçe Ayrık Hece Tanıma Sisteminin Gerçeklenmesi”, IEEE, SUI 2001
Kurultayı, Cilt II Gazi Mağosa, 2001.
[11]. H. İ. Bülbül, A. Karacı, "Bilgisayar Ortamında Sesli Komutları Tanıma",
Kastamonu Eğitim Dergisi, Cilt:15, No:1, Sayfa 45-62, Mart 2007.
[12]. İ.Barış, M.Erdamar, E. Sümer, H. Erdem, "Ses İşaretlerinin Yapay Sinir Ağları
ile Tanınması ve Kontrol İşlemleri İçin Uygulanması", Başkent Üniversitesi,
Elektronik Mühendisliği Bölümü, Ankara.
[13]. G.Dede "Yapay Sinir Ağları ile Konuşma Tanıma", Yüksek Lisans Tezi, Ankara
Üniversitesi, Elektronik Mühendisliği Ana Bilim Dalı, Ankara, 2008
[14]. İ.Soğukpınar, S. Çalışkan, "K-Means ve K-En Yakın Komşu Yöntemleri ile
Ağlarda Nüfuz Tespiti, Gebze Yüksek Teknoloji Enstitüsü, Bilgisayar
Mühendisliği Bölümü
40
EKLER
EK-1 IEEE ETİK KURALLARI
IEEE üyeleri olarak bizler bütün dünya üzerinde teknolojilerimizin hayat
standartlarını etkilemesindeki önemin farkındayız. Mesleğimize karşı şahsi
sorumluluğumuzu kabul ederek, hizmet ettiğimiz toplumlara ve üyelerine en yüksek
etik ve mesleki davranışta bulunmayı söz verdiğimizi ve aşağıdaki etik kuralları kabul
ettiğimizi ifade ederiz.
1. Kamu güvenliği, sağlığı ve refahı ile uyumlu kararlar vermenin sorumluluğunu
kabul etmek ve kamu veya çevreyi tehdit edebilecek faktörleri derhal açıklamak;
2. Mümkün olabilecek çıkar çatışması, ister gerçekten var olması isterse sadece
algı olması, durumlarından kaçınmak. Çıkar çatışması olması durumunda,
etkilenen taraflara durumu bildirmek;
3. Mevcut verilere dayalı tahminlerde ve fikir beyan etmelerde gerçekçi ve dürüst
olmak;
4. Her türlü rüşveti reddetmek;
5. Mütenasip uygulamalarını ve muhtemel sonuçlarını gözeterek teknoloji
anlayışını geliştirmek;
6. Teknik yeterliliklerimizi sürdürmek ve geliştirmek, yeterli eğitim veya tecrübe
olması veya işin zorluk sınırları ifade edilmesi durumunda ancak başkaları için
teknolojik sorumlulukları üstlenmek;
7. Teknik bir çalışma hakkında yansız bir eleştiri için uğraşmak, eleştiriyi kabul
etmek ve eleştiriyi yapmak; hataları kabul etmek ve düzeltmek; diğer katkı
sunanların emeklerini ifade etmek;
8. Bütün kişilere adilane davranmak; ırk, din, cinsiyet, yaş, milliyet, cinsi tercih,
cinsiyet kimliği veya cinsiyet ifadesi üzerinden ayrımcılık yapma durumuna
girişmemek;
9. Yanlış veya kötü amaçlı eylemler sonucu kimsenin yaralanması, mülklerinin
zarar görmesi, itibarlarının veya istihdamlarının zedelenmesi durumlarının
oluşmasından kaçınmak;
41
10. Meslektaşlara ve yardımcı personele mesleki gelişimlerinde yardımcı olmak ve
onları desteklemek.
IEEE CODE OF ETHICS
We, the members of the IEEE, in recognition of the importance of our Technologies
in affecting the quality of life throughout the world, and in accepting a personal
obligation to our profession, its members and the communities we serve, do hereby
commit ourselves to the highest ethical and Professional conduct and agree:
1. To accept responsibility in making engineering decisions consistent with the
safety, health and welfare of the public, and to disclose promptly factors that
might endanger the public or the environment;
2. To avoid real or perceived conflicts of interest whenever possible, and to
disclose the to affected parties when they do exist;
3. To be honest and realistic in stating claims or estimates based on available data;
4. To reject bribery in all its forms;
5. To improve the understanding of technology, its appropriate application, and
potential consequences;
6. To maintain and improve our technical competence and undertake technological
tasks for others only if qualified by training or experience, or after full
disclosure of pertinent limitations;
7. To seek, accept, and offer honest criticism of technical work, to acknowledge
and correct errors, and to credit properly the contributions of others;
8. To treat fairly all persons regardless of such factors as race, religion, gender,
disability, age, or national origin;
9. To avoid injuring others, their property, reputation, or employment by false or
mlicious action;
10. To asist colleagues and co-workers in their Professional deveploment and to
support them in following this code of ethics.
42
MÜHENDİSLER İÇİN ETİK KURALLARI
Etik Kuralları İle İlgili Faydalı Web Siteleri
IEEE Code Of Ethics
http://www.ieee.org/about/corporate/governance/p7‐8.html
NSPE Code Of Ethics for Engineers
http://www.nspe.org/resources/ethics/code-ethics
American Society of Civil Engineers, UC Berkeley Chapter
http://courses.cs.vt.edu/professionalism/WorldCodes/ASCE.html
Engineering Ethics BY DENISE NGUYEN
http://sites.tufts.edu/eeseniordesignhandbook/2013/engineering‐ethics‐2/
Code of Ethics of Professional Engineers Ontario
http://www.engineering.uottawa.ca/en/regulations
Bir kitap:
What Every Engineer Should Know About Ethics
Yazar : Kenneth K. Humphreys
CRC Press
EMO – Elektrik Mühendisleri Odası
Etik Kütüphanesi
http://www.emo.org.tr/genel/bizden_detay.php?kod=50871&tipi=46&sube=0#.U1Q
fyVV_tjs
http://www.ieee.org/about/corporate/governance/p7‐8.htmlhttp://www.nspe.org/resources/ethics/code-ethicshttp://courses.cs.vt.edu/professionalism/WorldCodes/ASCE.htmlhttp://sites.tufts.edu/eeseniordesignhandbook/2013/engineering‐ethics‐2/http://www.engineering.uottawa.ca/en/regulationshttp://www.emo.org.tr/genel/bizden_detay.php?kod=50871&tipi=46&sube=0#.U1QfyVV_tjshttp://www.emo.org.tr/genel/bizden_detay.php?kod=50871&tipi=46&sube=0#.U1QfyVV_tjs
43
EK-2 DİSİPLİNLER ARASI ÇALIŞMA
Projede kullanılacak materyaller konusunda tasarlanan aracın mekanik kısmı
dışarıdan sipariş yoluyla gerçekleştirilmiştir. Bulunulan yörede, projedeki bazı
elemanların mevcut olmaması nedeniyle internet odaklı alışveriş sitelerinden sipariş
verilerek bu elemanlar tedarik edilmiştir. Aşağıda verilen Tablo X'te projede kullanılan
ana elemanlar ve bunların maliyetleri belirtilmiştir.
Çizelge E2.1. Malzeme/Teçhizat-Maliyet Çizelgesi
Projenin hayata geçirilmesi hususunda ise projede konusu olan fakat daha önce
eğitim hayatında karşılaşılmamış sorunlar için farklı bölümden hoca ve öğrencilerle
ortak çalışmalar yapılarak projenin gerçeklenmesi amaçlanmıştır. Öyle ki; bitirme
çalışmasının ikinci kısmı olarak adlandırdığımız ses işleme ve tanıma kısmı,
üniversitemizin Fen Fakültesi, İstatistik ve Bilgisayar Bilimleri Bölümü'nde Sayın Yrd.
Malzeme/Teçhizat Adet Maliyet(TL)
Aracın Mekanik Kısmı 1 63
RF Modül 1 15
RS232 USB Kablo 1 40
PIC16F877A 2 20
Motor Sürücü Entegre 1 10
MAX232 Sürücü 1 1.55
7805 Regülâtörü 1 0.50
Batarya ve Şarj Aleti 1 93
Pil 2 12
Diğer Malzemeler 15 60
Toplam 25 315.05
44
Doç. Dr. Orhan KESEMEN hocamızın vermiş olduğu SEC 426 Yapay Sinir Ağları
isimle derste anlatılan konularla paralel gidilerek gerçekleştirilmiştir. Derslerin büyük
bir çoğunluğuna katılım sağlanarak anlatılan bilgilerden faydalanılıp, konu ayrıntılı
olarak öğrenilmiş ve bu bilgiler ışığında tezin yazımı kolaylaşmıştır. Bu bağlamda
bölümde bulunan öğrencilerle ortak çalışmalar yapılmış ve hocamızın denetiminde bu
kısmın gerçeklenmesine olanak sağlanmıştır. Böylece yapılan çalışmalar doğrultusunda
bilgisayarda programlama ile olan bilgiler tazelenmiş ve bu bilgilere yenileri eklenerek
projeye katkı sağlanmıştır.
Ayrıca ihtiyaç duyulması halinde bölümümüz öğretim elemanlarının da yardımına
başvurarak projenin devamlılığı sağlanmıştır.
45
EK-3 STANDARTLAR VE KISITLAR FORMU
Bitirme Projesinin hazırlanmasında Standartlar ve Kısıtlarla ilgili olarak, aşağıdaki
soruları cevaplayınız.
1. Projenizin tasarım boyutu nedir? Açıklayınız.
Yapılacak projede araç modellenir, gerekli donanım bir araya getirilerek sistem
kurulur. Matlab programıyla yapılacak olan ses işleme yazılımı ile tasarlanan
aracın sesli komutlarla hareket etmesi sağlanır.
2. Projenizde bir mühendislik probleminin kendiniz formüle edip, çözdünüz mü?
Kendimize ait olan bir çözüm veya üretilen formül bulunmamaktadır. Daha
önce yapılan çalışmalar ve kullanılan formüller üzerine uygulama yapılmıştır.
3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız?
Yapılacak olan projede Sinyaller ve Sistemler, Elektrik Makineleri, Endüstriyel
Elektronik, Mikroişlemciler ve Sayısal Elektronik derslerinde öğrendiğimiz pek
çok bilgiden faydalanılmıştır.
4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir?
IEEE, TS EN ISO 9001, TS 18001, TS ISO IEC 20000-1, IQNET SR 10, TS
EN ISO 14001 ve ANSI C standartlarına uygun olarak üretim yapılmaktadır.
5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir?
a-) Ekonomi:
Yapılacak projede minimum maliyet sağlanmaya çalışılmıştır.
b-) Çevre Sorunları:
TS EN ISO 14001 standardına bağlı kalınmıştır.
c-) Sürdürülebilirlik:
Günümüzde hızla gelişen teknoloji ile birlikte robot kullanımına ihtiyaç
artmıştır. Robotlar günlük hayatta insan yaşamını kolaylaştırıcı bir etkiye
sahiptir. Sanayi dalında, endüstriyel uygulamalarda, güvenlik sistemleri gibi
birçok alanda kullanıldığı için geliştirilebilir ve kullanımları
yaygınlaştırılabilir.
46
d-) Üretilebilirlik:
Piyasada var olan malzemeler yardımıyla farklı alanlarda kullanılmak üzere
üretilebilir.
e-) Etik:
Etik kurallarına dikkat edilerek proje tasarlanmıştır.
f-) Sağlık:
TS 18001 standardı göz önünde bulundurularak sağlıklı bir çalışma ortamı
hazırlanmıştır.
g-) Güvenlik:
TS 18001 standardına bağlı kalınmıştır.
h-) Sosyal ve Politik Sorunlar:
IQNET SR 10 standardına bağlı kalınmıştır.
47
EK-4 PIC16F87XA DATA SHEETS
48
ÖZGEÇMİŞLER
Doğan Can SAMUK
Doğan Can SAMUK 01.05.1991 tarihinde Trabzon'da doğdu. İlk ortaokul ve lise
öğrenimini Trabzon'da tamamladı. 2010 yılında başlayan lisans eğitimi ise Karadeniz
Teknik Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği
Bölümü'nde devam etmektedir.
Havva ÖZKAYA
Havva ÖZKAYA 19.08.1990 tarihinde Üsküdar’da doğdu. İlk ortaokul ve lise
öğrenimini Kocaeli’de tamamladı. 2009 yılında başlayan lisans eğitimi ise Karadeniz
Teknik Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği
Bölümü’nde devam etmektedir.