59
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

SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 2: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 3: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ı

Page 4: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 5: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 6: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 7: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 8: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 9: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

viii

Şekil 4.6 : Gerçklenen kumanda devresinin fotoğrafı ............... 35

Şekil 4.7 : Robot aracın gerçeklenmiş hali ............... 36

Page 10: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 11: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 12: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ı

Page 13: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 14: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 15: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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].

Page 16: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 17: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 18: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ı

Page 19: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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].

Page 20: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 21: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 22: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 23: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 24: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 25: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 26: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 27: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 28: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 29: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 30: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ş

Page 31: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ş

Page 32: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 33: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 34: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 35: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 36: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 37: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 38: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 39: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 40: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 41: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 42: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ı

Page 43: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 44: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 45: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 46: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 47: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

36

Şekil 4.7. Robot aracın gerçeklenmiş hali

Page 48: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 49: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 50: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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ü

Page 51: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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;

Page 52: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 53: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 54: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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

Page 55: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 56: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 57: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.

Page 58: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

47

EK-4 PIC16F87XA DATA SHEETS

Page 59: SESLİ KOMUTLARLA ARAÇ KONTROLÜ · Yapılan projede sesle kontrol edilebilen robot araç tasarlanmıştır. Tasarım aşamasında ilk olarak robot projeleri hakkında genel bilgiler

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.