Sesle Kontrol Edilen Robot

ses ile çalışan robot
ses ile çalışan robot

Bu yazımızda sizlere Ses Komutları ile Kontrol Edilebilen Robot Projesi Yapımından bahsedeceğiz.

 

Arduino +Andorid +Bluetooth +İnternet kullanarak gerçekleştireceğimiz Ses ile çalışan  robot projesinde piyasada uygun fiyata rahatlıkla bulabileceğiniz Adafruit motor shield (L293D) ve HC-06 bluetooth modül kullanılmıştır. Google sesli arama özelliğini kullandığımız içinde sınırsız sayıda sesli komut tanımlayabilirsiniz. Ardunio ve ses ile çalışan robot projesinin resimli ve açıklamalı yapım detayları ile arduino robot kodunu yazının devamında bulabilirsiniz. Ayrıntılar için BUYRUN DEVAM EDELİM.

 


 

Piyasada Voice Recognition Module V2 (sesle kontrol modülü) ve PL2303 TTL modul kullanılarak yapılan modelin parçalarının bulunması zor ve pahalı olmasından yola çıkarak gerçekleştirdiğimiz robotumuz benzerleri ile maliyetini yarı yarıya düşürmektedir. Ayrıca ses modüllerinin hafızalarında tutacağı kelime sayıları da (max. 15 komut) sınırlı.

Arduino ve Andorid ile Sesle Kontrol Edilen Robot Malzemeleri

1 x Arduino Uno

1x Adafruit Motor Shield

1x HC-06 Bluetooth Modül.

Android işletim sistemine bluetooth ve internet bağlantısı çalışan bir telefon.

Robot şasesi için pertinaks, foto blok, fleksi table veya hazır basit robot şasesi.

2 adet dişi-erkek Jumper kablolar

4x 1.2v 2000 mAh (Ni-mh) yada 6x 1.5V kaliteli alkalin pil.

Kullanacağınız pil sayısına göre 4 lü veya 6 lı pil kutusu.

30:1 micro meta motor yada dişli kutulu motor.

4 adet motor miline uygun teker.

Sıcak silikon tabancası.

Muhtelif proje malzemeleri.

Ses Komutuyla Çalışan Robot
Ses Komutuyla Çalışan Robot

İlk olarak arkadaşlar motor ve teker millerini pertinaks üzerine sıcak silikon veya benzeri bir yapıştırıcı montaj ediyoruz.

Robot Gövdesinin Oluşturulması

sesli komut algılama
sesli komut algılama
Ses Kontrollü Robot Yapımı
Ses Kontrollü Robot Yapımı
Sesli komutlarla kontrol edilen robot
Sesli komutlarla kontrol edilen robot

Pil olarak 4 adet pil kullanacaksanız 4 lü pil tutucuyu robotun arka kısmına resimde görüldüğü gibi sıcak silikon ile yapıştırabilirsiniz. 6 adet pil kullanacak arkadaşlar ben 6 lı pil tutucu bulamadım. 3 tane 2li veya 4+2 pil  tutucu kullanabilirsiniz.

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Ana Kart, Motor Sürücü ve Bluetooth Modül Montajı

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Arduino UNO: Robotun ana kartıdır. Programlanacak mikro denetleyici üzerinde taşıyan kart. USB portu sayesinde bilgisayara bağlanarak programlanabilmektedir.

Arduino, Processing/Wiring dilini kullanarak çevre elemanları ile temel giriş çıkış uygulamalarını gerçekleştiren açık kaynaklı fiziksel programlama platformudur. Arduino ile bağımsız olarak interaktif uygulamalar gerçekleştirilebilirsiniz. Aynı zamanda Arduinoyu bilgisayar ile Flash, Processing, MaxMSP, C Sharp gibi bir çok yazılım üzerinden yada kendi yazdığınız yazılımlarla haberleştirerek de kullanabilirsiniz. Açık kaynaklı arayüz yazılımını internet sitesinden Windows, Mac OS X ve Linux platformları için indirebilirsiniz. 

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Adafruit Motor Shield: Arduinoya üstten bağladığımız motor sürücü kartı. DC,Servo ve Step Motor kontrolü yapılmaktadır. Bu çalışmada 2 adet motor kontrol edilecektir. 

 

Arduino motor sürücü shieldi, Arduino üzerine takılarak 4 DC motoru veya 2 step motoru (unipolar veya bipolar) ve de en az 2 servo motoru kontrol etmenize imkan sağlayan bir karttır.

Kart üzerinde 2 adet L293D motor sürücü entegresi mevcuttur. Bu entegreler içerisinde toplam 4 adet H köprüsü bulunur. Her bir köprü üzerinden 0,6A akım akmasına imkan vermektedir. (Anlık 1,2A) 

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

HC06 Bluetooth-Serial Modül Kartı: Bluetooth SSP(Serial Port Standart) kullanımı ve  kablosuz seri haberleşme uygulamaları için tasarlanmıştır. Hızlı prototiplemeye imkan sağlaması, breadboard, arduino ve çeşitli devrelerde rahatça kullanılabilmesi için gerekli pinler devre kartı sayesinde dışarıya alınmıştır. 

Standart pin yapısı sayesinde istenilen ortamlarda rahatça kontrol edilebilir. 

Bluetooth 2.0'ı destekleyen bu kart, 2.4GHz frekansında haberleşme yapılmasına imkan sağlayıp açık alanda yaklaşık 10 metrelik bir haberleşme mesafesine sahiptir. 

Bluetooth Modülü ve Arduino Bağlantısı

Sensör üzerinden 4 adet bacak mevcut. Bunların üzerinde VCC,GND,TXD ve RXD yazması gerekiyor.


Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Arduino kartımızın üstüne motor sürücü kartımızı takmadan önce sensörden gelen TXD ve RXD kablo uçlarını (Program yazılım kısmında farklı pinler tanımlanmadıysa) Ana Kart üzerindeki TXD ve RXD pinine takıyoruz. İsterseniz motor sürücü kartın üstünde 0 ve 1 numaralı pine erkek pin lehimleyerek takabilirsiniz. Ben açıkçası karta ısıl müdahele olmaması için bu şekilde yaptım.

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Pil kutumuzda anahtar yoksa robotun açma-kapama butonunu kırmızı artı hattı üzerine lehim atıyoruz.

Motor Sürücünün Montajı

Motor sürücüyü ana kart üzerine pinlerini hizalayarak takıyoruz. Yazılımda tanımladığımız sağ ve sol teker kısım çıkış klemens uçlarına kablo lehim ve vidalama işlemini yaparak robotun donanımsal kısmını tamamlıyoruz.


Projemizde bütün kartların birleştirme işlemleri soket kullanılarak yapıldığı için sök-tak yaparak başka projelerde deneme amaçlı kullanılabilir. Veya herhangi bir hata durumunda bacak bağlantıları lehim işlemine gerek kalmadan kolayca değiştirilir.

Arduino ve Andorid ile Sesle Kontrol Edilen Robot
Arduino ve Andorid ile Sesle Kontrol Edilen Robot

Yazılım ve Program Yüklenmesi

Adafruit Motor Shield Kütüphanesinin Yüklenmesi

BURADAN indirdiğimiz zip dosya formatlı Adafruit Motor Shield kütüphane dosyasını sarı klasör haline getirip ismini AFMotor yapıyoruz. 

AFMotor içinde AFMotor.cpp ve AFMotor.h dosyaları olup olmadığını kontrol edin. Değilse, yukarıdaki adımları kontrol edin.

Daha sonra  Bu klasörü kopyalayıp Arduino kütüphanelerinin bulunduğu dosya içerisine yapıştırıyoruz. Genellikle (C:\Program Files (x86)\Arduino) yada Belgeler/Arduino/Libraries klasöründe olur.

Bu işlemden sonra Aruino programını açtığınızda kütüphaneler kısmında  AFMotor ismini görmeniz gerekmektedir.

Android Programının Yüklenmesi

Download
Sesli komutlarla kontrol edilen robot Andorid Uygulaması
Programı indirip telefonumuza kuruyoruz.
voicecontrolarduino .apk
apk File 1.7 MB

Arduino Programının Yüklenmesi

Sesle Kontrol Edilen Robot Arduino Kodu
Sesle Kontrol Edilen Robot Arduino Kodu

Arduino programını açıp ekranda çıkan bütün komutları siliyoruz. BURADAN indirdiğimiz kodu kopyalayıp ekrana yapıştırıyoruz. Robotu USB kablo ile PC ye bağlayıp kodları kartımıza YÜKLE (upload) ikonuna basarak yüklüyoruz.

 

Robot programı geliştirmeye açıktır.

Kod üzerine yeni ses komutları ekleyip zaman ve hız değerlerini kullanacağınız motor ve platforma göre düzenleyip robotun daha fonksiyonel hassas,hızlı ve verimli çalışmasını sağlayabilirsiniz.

Robotun Çalıştırılması

Açma-Kapama düğmesinden robota güç veriyoruz. Motor sürücü kartı üzerindeki yeşil ışık ve bluetooth modülü üzerindeki kırmızı ışığın yanması lazım. Kırmızı ışık arama modunda olduğu için sürekli olarak yanıp sönecektir. Bu durumda robot üzerinde herhangi bir hareket olmaması lazım.

Sesle Kontrol Edilen Robot Arduino
Sesle Kontrol Edilen Robot Arduino

Ses Kontrol Android Programının Çalıştırılması

sesle kontrol edilen robot android uygulama ekranı
sesle kontrol edilen robotun android uygulamasını telefona indirip kuruyoruz.

1. Robot açık konumda bluetooth modülü üzerindeki kırmızı ışık yanıp sönme pozisyonunda olacak.


2. Telefonumuzda programı çalıştırmadan önce bluetooth  sürücüsünü açıp tarama yaptırıyoruz.


3. HC06 ,HC05 veya 8-10 numaralı MAC adres numaralı  sürücüyü bulunca bağlanıyoruz. İlk defa bağlanıyorsanız eşleştirme şifresi olarak 1234 giriyoruz.


4. Telefonun internet bağlantısını da aktif edip net bağlantısının var olduğundan emin oluyoruz.


5.Telefondan programı çalıştırınca üst kısımda kırmızı bağlantı yok yazacaktır.


6.Bluetooth icon ve yazısının blunduğu logoya tıklayıp 3. adımda eşleştirdiğimiz Robotun Bluetooth sürücüsünü seçip bağlanıyoruz.


7. Bağlantı kurulunca programın kırmızı bağlantı yok yazısı bağlantı var yeşil olacak.


8. Robot üzerindeki modül üzerinde yanan yanıp-sönen ışık sürekli sabit yanmaya başlayacak. Artık robotumuz kontrol edilmeye hazır.


Ses Kontrol Komutları ve Kullanımı

1.Yeşil renkli Bağlantı Var yazısına ulaştıktan sonra kırmızı renkli mikrofon logosuna bir sefer tıklıyoruz.


2. Google firmasına ait şimdi konuşun ekranı çıkacaktır. Tabloda verilen komutlarda birini söylüyoruz. 


3. Söylediğmiz komut mikrofon simgesinin altında yazacak ve robotumuz hareket etmeye başlayacaktır.


Arkadaşlar komutları hem Türkçe hem de İngilizce olarak yazılıma tanıttık. Siz hangisini isterseniz onu kullanabilirsiniz.

 

Robotun ilk kullanımında  telafuz kısmının alışması sağlanana kadar komutların benzerlerini de tanımladık. Özellikle Ğ ve D harflerinin tonlarını vurgulamada zorluk çekebileceğinizi düşünerek ilave komutlar ekledik. Örneğin DUR komutunu bazen TUR olarak olarak yada SAĞ komutuna SAK olarak telafuz edebiliyor veya google okuyabiliyor.. Komutlar ve hareket yönleri aşağıda bulunan tabloda verilmiştir.

HAREKET YÖNÜ SES KOMUTU
İleri İleri,Next
Geri geri,back,Back
Sağ Sağ,right
Sol sol,left
Dur dur,Stop

Muhtemel Sorun ve Çözümler


Sesim algılanmıyor?

İnternet bağlantınızın aktif olduğundan emin olun.


Robot hiç çalışmıyor?

Pil bağlantılarını ve motor kartı üzerindeki girişi kontrol ediniz.


Robot geri gidiyor?

Motor bağlantı uçlarını ters çevirin.


Motorlar çalışıyor ama robot hareket etmiyor?

M1 ve M3 bağlantı yeri ile motor bağlantı uçlarını değiştirin.


Motor sürekli tek yönde dönüyor?

Sensör güç bağlantılarını kontrol edin.

Write a comment

Comments: 0