SESLİ KOMUTLARLA ARAÇ KONTROLÜ



Benzer belgeler
BESLEME KARTI RF ALICI KARTI

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

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

LABİRENTTEN ÇIKIŞ YOLUNU BULAN ROBOT

ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) 1

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

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

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

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

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

BÖLÜM Mikrodenetleyicisine Giriş

Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

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

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

Bilgisayar ile Dijital Devrelerin Haberleşmesi. FT232R ve MAX232 Entegreleri. Çalışma Raporu

Fatih Üniversitesi Elektrik ve Elektronik Mühendisliği Bölümü EEM 316 Haberleşme I LAB SINAVI DARBE GENLİK MODÜLASYONU (PWM)

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

Şekil 3-1 Ses ve PWM işaretleri arasındaki ilişki

YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNE FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK MÜHENDİSLİĞİNE GİRİŞ DERSİ. Işığı Takip Eden Kafa 2 Nolu Proje

Çizgi İzleyen Robot Yapımı

Proje Adı : MATLAB Real-Time Windows Target toolbox kullanımı ve ilişkili bir uygulama geliştirilmesi

Proje Teslimi: güz yarıyılı ikinci ders haftasında teslim edilecektir.

EEM 419-Mikroişlemciler Güz 2017

DOKUMANLAR

DERS BİLGİ FORMU Mobil Telefon Elektrik-Elektronik Teknolojisi Haberleşme Sistemleri

1. LİNEER PCM KODLAMA

Hacettepe Robot Topluluğu

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version

ANALOG ADRESLİ YANGIN ALARM SİSTEMİ YAZILIM KULLANMA KILAVUZU

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ELEKTRONİK LAB 1 DERSİ İŞLEMSEL KUVVETLENDİRİCİ - 2 DENEYİ

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

Sabit Gerilim Regülatörü Kullanarak Ayarlanabilir Güç Kaynağı

YENİLENEBİLİR ENERJİ EĞİTİM SETİ İLERİ SEVİYE TEKNİK ÖZELLİKLER

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

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

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

YENİLENEBİLİR ENERJİ EĞİTİM SETİ

GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BM-404 BİLGİ GÜVENLİĞİ LABORATUVARI UYGULAMA FÖYÜ

BİLGİSAYAR KULLANMA KURSU

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

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ELEKTRONİK LAB 1 DERSİ İŞLEMSEL KUVVETLENDİRİCİ - 2 DENEYİ

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

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

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

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

OTONOM ÇĐM BĐÇME MAKĐNESĐ GELĐŞTĐRĐLMESĐ DEVELOPING OF AUTONOMOUS LAWN MOVER. Danışman: Prof.Dr. Koray TUNÇALP, Marmara Üniversitesi Đstanbul

ELEKTRİK ENERJİ SİSTEMLERİNDE OLUŞAN HARMONİKLERİN FİLTRELENMESİNİN BİLGİSAYAR DESTEKLİ MODELLENMESİ VE SİMÜLASYONU

PIC 16F877A ile DA MOTOR KONTROLLÜ ROBOT UYGULAMASI DC MOTOR CONTROLLED ROBOT APPLICATION WITH USING PIC 16F877A

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

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

DENEYLERDE KULLANILACAK LABORATUVAR EKİPMANLARI

DENEY NO : 4 DENEY ADI : Darbe Genişlik Demodülatörleri

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

OTOMATİK KONTROL

KABLOSUZ SERĐ HABERLEŞME UYGULAMALARI VE RF KONTROL

T.C. DÜZCE ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BMT103 ELEKTRİK DEVRE TEMELLERİ DERSİ LABORATUVARI DENEY NO: 7

Doç. Dr. Cüneyt BAYILMIŞ

2. Malzemeler: Bu bölümde size verilecek malzemeler anlatılacaktır ve montaj yaparken dikkat etmeniz gereken hususlar belirtilecektir.

BM-311 Bilgisayar Mimarisi

T.C. KOCAELİ ÜNİVERSİTESİ ELEKTRİK MÜHENDİSLİĞİ BÖLÜMÜ

DHT11 SICAKLIK VE NEM SENSÖRÜ ĐLE BĐLGĐSAYAR DESTEKLĐ ÖLÇÜM VE KONTROL DEVRESĐNĐN ĐMALATI VE DENEYSEL OLARAK ĐNCELENMESĐ

MikroiĢlemci ile Analog-Sayısal DönüĢtürücü (ADC)

DY-45 OSİLOSKOP V2.0 KİTİ

DENEY 3 HAVALI KONUM KONTROL SİSTEMİ DENEY FÖYÜ

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

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

RF Haberleşme Tabanlı Su Deposu Otomasyon Sistemi

DENEY 2: DĠYOTLU KIRPICI, KENETLEME VE DOĞRULTMA DEVRELERĠ

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Uygulama kağıtları ve Kısa Sınav kağıtlarına; Ad, Soyad, Numara ve Grup No (Ör: B2-5) mutlaka yazılacak.

KENDĐ KENDĐNE YOL BULAN ARAÇ

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu

RTX 6A-BX RF Uzaktan Kumanda

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

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

Hazırlayan: Tugay ARSLAN

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

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

Açık Çevrim Kontrol Açık Çevrim Kontrol

LOJİK DEVRELER-I IV. HAFTA DENEY FÖYÜ

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

TRAMVAY OTOMATİK MAKAS KONTROL SİSTEMİ

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

Donanımlar Hafta 1 Donanım

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

Mikroişlemciler (EE 208) Ders Detayları

Bölüm 1 Güç Elektroniği Sistemleri

KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ

Proje Teslimi: güz yarıyılı ikinci ders haftasında Devre ve Sistem Analizi Dersinde teslim edilecektir.

YENİLENEBİLİR ENERJİ SİSTEMLERİ DENEYİ

T.C. YALOVA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ENERJİ SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ ESM 413 ENERJİ SİSTEMLERİ LABORATUVARI I

Elektrik Devre Lab

ANOLOG-DİJİTAL DÖNÜŞTÜRÜCÜLER

Kullanım Uygulamaları Ön Görünüş. Dijital Ekran Mode Butonu Programlama Tuşu Sıcaklık Değiştirme tuşu ( - ) Sıcaklık Değiştirme tuşu ( +)


YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNE FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK MÜHENDİSLİĞİNE GİRİŞ DERSİ. IŞIĞA DÖNEN KAFA Proje No:2

Bölüm 14 FSK Demodülatörleri

Transkript:

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ı

Ö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 iii

İÇİNDEKİLER Sayfa No BİTİRME PROJESİ ONAY FORMU ÖNSÖZ İÇİNDEKİLER ÖZET ŞEKİLLER DİZİNİ ÇİZELGELER DİZİNİ SEMBOLLER VE KISALTMALAR ii iii iv vi vii ix 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 iv

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 v

Ö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. vi

Ş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 vii

Şekil 4.6 : Gerçklenen kumanda devresinin fotoğrafı... 35 Şekil 4.7 : Robot aracın gerçeklenmiş hali... 36 viii

Çİ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 ix

SEMBOLLER VE KISALTMALAR A mah V DC khz kb RF Amper miliamper saat Volt Direct Current (Doğru Akım) kilohertz kilobyte Radio Frequency (Radyo Frekansı) RS232 Recommendend Standart 232 PCB PIC RAM PWM UART I 2 C I/O ºC Celsius MIPS ADC LED Li-Po FFT MFCC KNN Printed Circuit Board (Baskı Devre) Peripheral Interface Controller (Çevresel Ünite Denetleme Arabirimi) Random Access Memory (Rastgele Erişilebilir Bellek) Pulse Width Modulation (Darbe Genişlik Modülasyonu) Universal Asynchronous Receiver/Transmitter (Evrensel Asenkron Alıcı/Verici) Inter-Integrated Circuit Input/Output (Giriş/Çıkış) Million of Instructions Per Second Analog to Digital Converter (Analog Dijital Çevirici) Light Emitting Diode (Işık Yayan Diyot) Lithium Polymer Fast Fourier Transform Mel Frequency Cepstral Coefficient K-Nearest Neighbors x

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ı

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 2

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

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

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 5

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 6

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. MATLAB Ses Tanıma Yazılımı Mikrofondan Sesin Alınması PC PIC RF Verici RF Alıcı PIC Motor Sürücü Devresi DC Motor Şekil 2.1. Sistemin genel blok diyagramı

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

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. PC RS232 MAX232 PIC Verici Ş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. 9

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

2 GND 1 ANT DATA 3 TX433 VCC Şekil 2.4. RF vericinin şematik gösterimi 4 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 11

denetleyicisi ayrıntılı olarak aşağıda ele alınacaktır. Kumanda devresinin kabaca bağlantı şeması Şekil 2.5'te verilmiştir. Alıcı PIC Sürücü Entegresi DC Motorlar Ş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. 12

Ş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. 13

Ç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. 14

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 IN1 IN2 VCC VS 10 IN3 OUT1 2 12 IN4 OUT2 3 6 ENABLEA OUT3 13 11 ENABLEB OUT4 14 1 15 SENSA SENSB GND 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. 15

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 7 VCC1 VCC2 DATA1 ANT DATA2 RX433 GND1 GND2 GND3 2 3 8 1 Şekil 2.8. RF alıcının şematik gösterimi 16

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. 9V Pil Motor Sürücü DC Motorlar PIC 16F877A Li-Po Batarya Şekil 2.9. Güç kaynağı bağlantıları 17

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. 78XX 1 3 VCC OUT GND 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 18

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 Çerçeveleme Pencereleme FFT Mel Filtre Bankası KNN Metoduna Giriş Kepstrum Katsayıları Ayrık Cosinüs Dönüşümü Logaritma Ş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. 19

Başla 1 Ses sinyalini al ve örnekle Sesin enerjisini hesapla Veritabanında ki kelimelerle karşılaştır Sesin başlangıcını bul Sesin bitişini bul Kelime benziyor mu? Hayır Çerçeveleme Evet Pencereleme Araca uygula FFT DCT Kepstrum katsayıları KNN'e giriş 1 Şekil 2.12. Ses tanıma yazılımının algoritması 20

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

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

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 23

İ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 24

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

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

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

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

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 29

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

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ı

İ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 32

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

Ş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 34