
Merhabalar,
Geçen günlerde instructables‘da gezinirken gözüme hoş bir uygulama ilişti. Bir Android cihaz üzerinden verdiğiniz sesli komutlar ile Arduino ile kurmuş olduğunuz devrenizi aktif hale geçiren bir uygulamaydı.
Devreyi kuran kişi küçük bir akıllı ev otomasyon sistemi tasarlamış. “TV on” komutu ,android cihaz üzerinden sesli olarak gönderildiğinde Arduino çıkışındaki led’i aktif hale getirmektedir. Tabi bu sadece bir taslak. LED yerine televizyonu aktif hale getirecek bir ek devre(röle,optokuplör vb.) kurmanız dahilinde gerçekten televizyonu aktif hale getirebilirsiniz. Bu işlemlerin hepsi bluetooth protokolü üzerinden gerçekleştiriliyor.
Yok ben yukarıdaki makaleden bir şey anlayamıyorum derseniz,aşağıda kendimce yorumladığım adımları takip ederek istediğiniz işlevi gerçekleştirebilirsiniz.
Adım 1:Eleman Temini
Eğer bu elemanları ” Nereden Temin Edebilirim ? ” derseniz.
En kısa ve en hızlı ve birazcık pahalı(öğrenci cebine göre) temin etmek istiyorsanız,Türkiye’de bulunan online olarak elektronik komponent satan şirketlerden bu elemanları temin edebilirsiniz. Reklam vermemek amacıyla site ismi yazmıyorum,google’dan uygun anahtar kelimelerle aradığınızda bulabilirsiniz.
Ucuz olsun benim zamanım da var,elemanlarım gelince bu işe başlarım diyorsanız bu sefer size site önerebilirim.
http://aliexpress.com
http://dealextreme.com
yaklaşık Türkiye’ye 15-30 gün arasında ürün temin eden bu firmalar,çin kaynaklı olup,çok güzel ürünleri çok iyi fiyatlara getirmenize aracılık ediyor.
Kullanılan Malzemeler
1 adet Arduino ( Tercihen UNO R3)
1 adet Android telefon.
Bu elemanları temin ettikten sonra Adım 2′ye geçebiliriz.
Adım 2: Bluetooth Modülü
Orjinal kaynakta HC-05 kullanmış,benim elimde HC-06 olduğu için HC-06 Bluetooth Modülünü kullandım. Peki bu iki modülün farkları ne derseniz buraya bakmanızı önerebilirim. Çünkü farklarını burada anlatırsam bu yazı bayağı uzar.
HC-06 Bluetooth Modülü
Eğer doğru modülü sipariş ederseniz bu şekilde PCB’li halde gelmektedir. Aksi takdirde RXD,TXD,GND,VCC uçlarını kendiniz lehimlemek zorunda kalabilirsiniz.
HC-06 Bluetooth modülünün Arduino ile bağlantısı:
Şimdi sesli komut ile çalışacak olan LED’lerimizin bağlantısını yapalım. LED’lerin Arduino ile bağlantısı şu şekilde olmalıdır.
LED’lerin anot uçları Dijital Pinlere sırasıyla 2,3,4 ‘e gidecek şekilde bağlanmalıdır. LED’lerin katot uçlarıda direnç üzerinden şase’ye verilmelidir.
Adım 3: Arduino’ya Programın Atılması
Aşağıda uyarlamış olduğum programı Arduino’nuza atınız.
String voice; int led1 = 2, //led 1 pin 2 ye led2 = 3, //led 2 pin 3'e led3 = 4; //led 3 pin 4'e void setup() { Serial.begin(9600); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); } //-----------------------------------------------------------------------// void loop() { while (Serial.available()){ delay(10); char c = Serial.read(); if (c == '#') {break;} voice += c; } if (voice.length() >= 0) { Serial.println(voice); //-----------------------------------------------------------------------// //----------Gelen sesli komuta göre led'i yak-// if(voice == "*led 1") {digitalWrite(led1, HIGH);} else if(voice == "*led 2") {digitalWrite(led2, HIGH);} else if(voice == "*led 3";) {digitalWrite(led3, HIGH);} //----------Gelen sesli komuta göre led'i söndür----------// else if(voice == "*led bir kapat") {digitalWrite(led1, LOW);} else if(voice == "*led 2 kapat") {digitalWrite(led2, LOW);} else if(voice == "*led 3 kapat") {digitalWrite(led3, LOW);} //-----------------------------------------------------------------------// voice=""; } }
Adım 4: Android Uygulaması
Google Play Store’da, BT Voice Control for Arduino diye aratarak ilgili uygulamayı indirin.
Daha sonra Arduino’muza bluetooth üzerinden bağlanmak için telefonumuzun seçenek tuşuna basarak Connect Robot seçeneğine girelim.
Bluetooth taraması gerçekleştiğinde HC-06 bluetooh modülümüze bağlanalım. Şifre soracaktır,eğer default ayarlarda ise şifre 1234‘tür.
Ve başarıyla bağlantımızı gerçekleştirdiğimizde HC-06 bluetooth modülünün yanıp sönen kırmızı ışığı sürekli yanmaya başlayacaktır.
iyi uğraşlar!
Örnek Video:
nurullah
26 Nisan 2015 at 19:25
Çok güzel bir uygulama olmuş elinize sağlık bu uygulamayı matlab programı ile ilişkilendirebilir miyiz sizce yani matlabı da olaya dahil edebilir miyiz?
Yücel Yılmaz
27 Nisan 2015 at 06:08
Matlab’ın Simulink kısmında dediğinizi yapabilirsiniz. Tabi ne yapmak istediğinize bağlı,mobil taraftan sesi iletmek yerine bilgisayarınızdaki bir mikrofondan da bu sistemi kurabilir, matlab ile ilişkilendirebilirsiniz.
mecit
19 Mayıs 2015 at 18:45
kodları derliyorum fakat hata veriyo bunun sorunu ne acaba yardımcı olurmusunuz
Yücel Yılmaz
20 Mayıs 2015 at 07:51
Merhaba mecit, Facebook sayfamız üzerinden atmış olduğun yorumda detaylı bilgilendirme verilmiştir. Kolay Gelsin.
harun çağlı
25 Mayıs 2015 at 20:56
Program hata veriyor
Bilal Kaya
26 Mayıs 2015 at 13:58
Merhabalar,
Hata nedir?Belki kopyalarken eksik bir şey olabilir.Çünkü bu programlar,test edildi,çalıştırıldı.Hatta dün de başka bir arkadaşa yaptık ve sorunsuz çalıştı.
Ali
21 Mayıs 2017 at 19:55
servo kontrolünde sıkıntı yaşıyorum onun için çözüm bulabilirmisiniz?
Ayşe
25 Kasım 2017 at 23:47
merhabalar..bu kodu çalıştırdığım da 20.satırda hata veriyor > değilde orası &quat mı olacak? gt yi quat yapınca bu sefer quat tanımlı değil diyor.onu da int quot = Serial.read(); şeklinde 19.satıra yazdım.bu sefer de 3.ledi söndürmek için yazılan komutta hata veriyor.problem neden kaynaklanıyor anlayamadım.yardımcı oluranız sevirim.
rabia
20 Temmuz 2018 at 10:42
Merhaba bluetooth bağlantısında sorun yaşıyorum telefonla bağlantı kurduğu an ışığı sönüyor daha önce android kontrollü araç yapmıştım sesli değildi ama onda da HC-06 yı kullandım ve böyle sorun olmamıştı yine aynı modül fakat bu sefer bağlantı olmuyor sorun modülde mi yoksa başka bir sorun mu var ?
Mustafa
4 Ekim 2019 at 17:49
Kodu kisminda hata olabilir mi?
led 3″) seklinde kabul ediyor çünkü yoksa etmiyor.
Ben ledleri cikarip yerine role taktim. Roleyi 5v ve gnd ile besleyip sizin led1 çıkışını (pin2) rolenin in girisine girdim.
Bu sekilde rolenin tetiklenmesi gerekmez mi.
Ancak role surekli tetikli duruyor. Komutlarim yerine getirilmiyor.