BAĞLAN

Sesli komutlarla kontrol edilen robot (voice control robot)

  • Görüntüleme 8371
  • Bu projemizde robotumuz söylenen komutlara göre hareket etmesi amaçlanmıştır.Android telefondan söylenen komut bluetooth ile arduinoya aktarılarak algoritmada karşılığı olan fonksiyonu gerçekleştirir.

    Projede kullanılan komponentler:

    1. Arduino mega
    2. L293b motor sürücü
    3. Robot kit
    4. HC-SR04 Ultrasonik Mesafe Sensörü
    5. RGB led
    6. HC-06 Bluetooth modul
    7. Andoid uygulama

    Devre şeması:

     

    // SESLİ KOMUTLA ROBOT KONTROL PROJESİ BY ROBİMEK
     
    #include <Servo.h>// servo motor kütüphanesi
    #include <NewPing.h>//ultrasonik sensör kütüphanesi
    String voice;
    //motor pinleri
    #define SolMotorileri 6
    #define SolMotorGeri 5
    #define SagMotorileri 8
    #define SagMotorGeri 9
    #define led 53
    #define ledmavi 51
    #define ledyesil 49
    #define ledkirmizi 45
    #define ledvcc 47
     
    //sensör pinleri
    #define USTrigger 3
    #define USEcho 2
    #define Maksimum_uzaklik 100
     
    Servo servo; //servo motor tanımlama
    NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama
    //kullanılacak eleman tanımı
    unsigned int uzaklik;
    unsigned int on_uzaklik;
    unsigned int sol_uzaklik;
    unsigned int sag_uzaklik;
    unsigned int zaman;
    // program ilk çalıştığında sadece bir kez çalışacak programlar
    void setup()
    {
    Serial.begin(9600); //iletişim ayarı
    //motor çıkışları
    pinMode(SolMotorileri, OUTPUT);
    pinMode(SolMotorGeri, OUTPUT);
    pinMode(SagMotorileri, OUTPUT);
    pinMode(SagMotorGeri, OUTPUT);
    pinMode(led, OUTPUT);
    pinMode(ledkirmizi, OUTPUT);
    pinMode(ledmavi, OUTPUT);
    pinMode(ledyesil, OUTPUT);
    pinMode(ledvcc, OUTPUT);
     
    servo.attach(4); //servo pin tanımı
    }
    // sonsuz döngü
    void loop() {
    while (Serial.available()){ //Okumak için kullanılabilir bayt olup olmadığını kontrol et
    delay(10); //10 milisaniye bekle
    char c = Serial.read(); //Seri okuma
    if (c == '#') {break;} // # tespit edildiğinde döngüden çık
    voice += c; //Ses = ses + c Steno
    }
    if (voice.length() > 0) {
    Serial.println(voice);
     
    if(voice == "*ileri"||voice == "*ileri git") {ileri();}
    else if(voice == "*geri"||voice == "*geri gel"){geri();}
    else if(voice == "*sağa dön"||voice == "*sağ") {sag();}
    else if(voice == "*sola dön"||voice == "*sol") {sol();}
    else if(voice == "*dur"||voice == "*arabayı durdur") {dur();}
    else if(voice == "*sol ileri"){sol(); delay(100); ileri();}
    else if(voice == "*sağ ileri"){sag(); delay(100); ileri();}
    else if(voice == "*sol geri"){sol(); delay(100); geri();}
    else if(voice == "*sag geri"){sag(); delay(100); geri();}
    else if(voice == "*ileri git dur"||voice == "*biraz ileri git") {ileri(); delay(500); dur();}
    else if(voice == "*geri gel dur"||voice == "*biraz geri gel") {geri(); delay(500); dur();}
    else if(voice == "*sola dön dur"||voice == "*biraz sola dön") {sol(); delay(500); dur();}
    else if(voice == "*sağa dön dur"||voice == "*biraz sağa dön") {sag(); delay(500); dur();}
    else if(voice == "*sola bak"||voice == "*soluna bak") {solabak();}
    else if(voice == "*sağa bak"||voice == "*sağına bak") {sagabak();}
    else if(voice == "*önüne bak"||voice == "*öne bak") {onunebak();}
    else if(voice == "*ışığı aç"||voice == "*ledi yak") {ledyak();}
    else if(voice == "*ışığı kapat"||voice == "*ledi söndür") {digitalWrite(51,HIGH); digitalWrite(49,HIGH); digitalWrite(45,HIGH); digitalWrite(47,LOW);}
    else if(voice == "*kırmızı") {digitalWrite(45,LOW); digitalWrite(49,HIGH); digitalWrite(51,HIGH); digitalWrite(47,HIGH);}
    else if(voice == "*yeşil") {digitalWrite(49,LOW); digitalWrite(45,HIGH); digitalWrite(51,HIGH); digitalWrite(47,HIGH); }
    else if(voice == "*mavi") {digitalWrite(51,LOW); digitalWrite(49,HIGH); digitalWrite(45,HIGH); digitalWrite(47,HIGH);}
    else if(voice == "*mor") {digitalWrite(51,LOW); digitalWrite(49,HIGH); digitalWrite(45,LOW); digitalWrite(47,HIGH);}
    else if(voice == "*beyaz") {digitalWrite(51,LOW); digitalWrite(49,LOW); digitalWrite(45,LOW); digitalWrite(47,HIGH);}
    else if(voice == "*engel"||voice == "*engel algıla"){engel();}
     
    voice="";}}
     
    // robotun yön komutları
    void ileri()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, HIGH);
    digitalWrite(SagMotorGeri, LOW);
    digitalWrite(SagMotorileri, HIGH);
    }
     
    void geri()
    {
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SolMotorGeri, HIGH);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, HIGH);
    }
     
    void sag()
    {
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SolMotorGeri, HIGH);
    digitalWrite(SagMotorGeri, LOW);
    digitalWrite(SagMotorileri, HIGH);
    }
     
    void sol()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, HIGH);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, HIGH);
    }
     
    void dur()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, LOW);
    }
    void sagabak()
    {
    servo.write(0);
    delay(100);
    }
    void solabak()
    {
    servo.write(180);
    delay(100);
    }
    void onunebak()
    {
    servo.write(90);
    delay(100);
    }
    void ledyak()
    {
    digitalWrite(53,HIGH);
    }
    void ledkapat()
    {
    digitalWrite(53,LOW);
    }
    // sensörün mesafe ölçümü
    void sensor_olcum()
    {
    delay(50);
    zaman = sonar.ping();
    uzaklik = zaman / US_ROUNDTRIP_CM;
    }
    void engel()
    {
    delay(500);
    servo.write(90);
    sensor_olcum();
    on_uzaklik = uzaklik;
    if(on_uzaklik > 35 || on_uzaklik == 0)
    {
    ileri();
    }
    else
    {
    dur();
    servo.write(180);
    delay(500);
    sensor_olcum();
    sol_uzaklik = uzaklik;
    servo.write(0);
    delay(500);
    sensor_olcum();
    sag_uzaklik = uzaklik;
    servo.write(90);
    delay(500);
    if(sag_uzaklik < sol_uzaklik)
    {
    sol();
    delay(500);
    ileri();
    }
    else if(sol_uzaklik < sag_uzaklik)
    {
    sag();
    delay(500);
    ileri();
    }
    else
    {
    geri();
    }
    }
    }

    Android uygulamayı buradan indirin. Bluetooth modülle eşleştirme yapıp bağlanın. Uygulama google tabanını kullandığı için internete bağlı olmanız gerekir. Bağlantıyı kurduktan sonra mikrofon simgesine dokunun ve konuşun. Robotunuz söylediğiniz komuta göre işlevini yapacaktır.

    PAYLAŞ

    Sezgin GÜL

    Makine Mühendisi, Maker, Robotik Sistemler Uzmanı

    73 Yorum "Sesli komutlarla kontrol edilen robot (voice control robot)"

    1. niyazi
      8 Ocak 2017

      Arduino:1.6.7 (Windows 7), Kart:”Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

      C:\Users\hp\Documents\Arduino\wfsdcvbn\wfsdcvbn.ino:2:55: fatal error: NewPing.h: No such file or directory

      #include //ultrasonik sensör kütüphanesi

      ^

      compilation terminated.

      exit status 1
      Derleme sırasında hata oluştu.

      Rapor daha fazla veri içermeli
      “Derleme sırasında ayrıntılı çıktı göster”
      Dosya > Tercihler’de etkinleştirilmiş.

      hocam bu hatayı nasıl düzeltebilirim?

      Cevapla
    2. İfan yolcu
      15 Kasım 2016

      Hocam android program ios için olanı varmı ?teşekkürler

      Cevapla
    3. tuncay
      29 Mayıs 2016

      merhaba projenizi inceledim ve aynı projeyi yapıcam ama yapmak istedigim projede beni sürekli dinleyen bir uygulama istiyorum yani ben susarsam komut gönderecek ve bana anlamadım diye ger dönüş yapmaycak bir uygulamaya ihtiyacım var. eger yardımcı olursanız sevinirim tabi yardım edemeseniz de yine de çok teşekkür ederim

      Cevapla
    4. Çağrı ÇAĞMAN
      21 Mayıs 2016

      hocam sadece sesle kapıyı açıp kapatacak şekilde bir sistemim var ama kod sıkıntısı yaşıyorum kapıyı aç komutunu sesle gönderdiğimde kapıyı 90 derece açacak şekilde nasıl yapabilirim bana yardımcı olabilir misiniz.

      Cevapla
    5. Furkan ARAR
      14 Mayıs 2016

      Hocam merhaba, ardunio ya yüklediğimiz zaman kütüphane istediği için yüklenmiyor.Kütüphaneyi nasıl bulabilirim.

      Cevapla
    6. emir altıntop
      13 Mayıs 2016

      HOCAM projeden bende yapmak istiyorum ama az zamanım var bu işlerden pekde anlamıyorum acaba çok zamanınızı aldımı ve ekipmanların ücreti ne kadar ?
      saygılar

      Cevapla
    7. sami
      13 Mayıs 2016

      merhaba,engel fonksiyonunda bir sorun var return engel(); yazdığımda çalışıyor ama bundan sonra başka komut veremiyorum

      Cevapla
    8. berkan özkan
      7 Mayıs 2016

      bunu arduino uno ile yapabilir miyiz ?

      Cevapla
    9. Ali Furkan
      16 Nisan 2016

      Hocam engel algıla komutunu söylediğim zaman robota çalışmaya başlıyor ama daha sonra verdiğim komutların hiçbiri çalışmıyor mesela dur dediğimde durmuyor sadece engele göre hareket ediyor bu neden olabilir acaba?

      Cevapla
    10. yunus akcan
      15 Nisan 2016

      hocam merhaba lipo batarya yerine 9v pil kullansak olurmu bide arduino megaya hiç+ uç gitmemiş bi yanlışlık olabilirmi şimdididen teşekkürler

      Cevapla
      • Sezgin GÜL
        15 Nisan 2016

        9v pil yeterli olmaz. çalıştırır fakat çok erken biter. devre şemasında lipo pil sadece motorların beslemesi için kullanıldı. arduinoyu 9v pille ayrı besle.

        Cevapla
    11. UĞUR KARADAŞ
      14 Nisan 2016

      hocam kolay gelsin ben devre şemasının tam açık bir gösterim hali var mı bu şema biraz kafamı karıştırdı.
      Yardımcı olursanız çok sevinirim.Şimdiden teşekkürler.

      Cevapla
    12. Ali Furkan
      6 Nisan 2016

      Sezgin hocam bir sorum daha olacak ben bunu 4 DC motor kullnarak yapmak istiyorum programda ne gibi bi değişiklik yapmam gerekir veya devrede?

      Cevapla
      • Sezgin GÜL
        6 Nisan 2016

        4 tekerlekli robot kite yapacaksın sanırım. kodda değişiklik yapmana gerek yok. sol taraftaki motorları birbirine paralel bağla aynı şekilde sağ taraftaki motorları birbirlerine bağla. yani sol taraf bir hareket edecek aynı şekilde sağ taraf bir hareket edecektir.

        Cevapla
        • Ali Furkan
          7 Nisan 2016

          hocam teşekkürler. bir sorum daha olacaktı ben rgb led kullandığımda ışığı aç dediğimde rgb led yanmıyor fakat kırmızı dediğimde kırmızı yanıyor veya ışığı kapat dediğimde ışığı kapatıyor.

          Cevapla
          • Sezgin GÜL
            14 Nisan 2016

            ışığı aç komutunda ledyak() fonksiyon çalışıyor. o fonksiyonda da 53.pin high oluyor. yani rgb led o pine tanımlı olmadığı için yanmıyor. o pine tekli led takmıştım.

            Cevapla
    13. murat
      5 Nisan 2016

      Hocam tamam buldum projeyi size bir sorum olacaktı bu projede kullanacağımız pi kaç volt olsun ve yaklaşık bir saat çalışması için lipo pilimiz kaç mA olsun

      Cevapla
    14. murat
      5 Nisan 2016

      Hocam breadboard üzerinde ivme sensörü ve iki tane servo motorla kol şeklinde basit bir şey yapılmıştı breadboardu ne tarafı çevirirsek kol aynı yöne dönüyordu

      Cevapla
    15. Ali Furkan
      5 Nisan 2016

      hocam 2000 mah yerine 3000 mah lık şarjlı pil kullansam bi sıkıntı olur mu acaba ?

      Cevapla
      • Sezgin GÜL
        5 Nisan 2016

        bu projedeki gibi yapacaksan 3000 mah gereksiz. 1050 mah yeterli olur

        Cevapla
    16. Murat
      4 Nisan 2016

      Hocam sitenizde ivme sensörü ile yapılmış bord üzerine kurulmuş taklitçi robot vardı onu bulamadım kaldırdınız mı acaba basit bir şeydi yardımcı olursanız onu yapmak istiyorum

      Cevapla
    17. Ali Furkan
      4 Nisan 2016

      Hocam kullanacağımız batarya lipo batarya mı acaba ?

      Cevapla
      • Sezgin GÜL
        4 Nisan 2016

        fark etmez istediğini kullan. lipo olursa daha uzun süre dayanır.

        Cevapla
    18. Yasin
      30 Mart 2016

      Hocam bu malzemelerin hepsini alabileceğim bir link verebilir misiniz?
      Birde yapımı hakkında videosu falan yok mu acaba?
      Okuldaki hocam benden büyük bir proje istedi bunu yapacağım bilgim az çok var yalnız malzemeleri türkiyeden temin etmem gerekiyor bir site tavsiye ederseniz birde nasıl yapacağıma dair bir kaynak verirseniz çok dua ederim size…

      Cevapla
      • Sezgin GÜL
        30 Mart 2016

        robotistan, direnç net gibi yerlerden alabilirsin. yapım videosu mevcut değil. takıldığın yerlerde sorabilirsin.

        Cevapla
        • Yasin
          2 Nisan 2016

          Sezgin hocam peki direnç gerekli mi? gerekliyse kaç adet?
          jumper kablodan kaç tane gerekli?
          malzemelerin hepsini sipariş verdim başlayacağım da bunlar hakkında bilgi almak istiyorum.

          Cevapla
          • Sezgin GÜL
            2 Nisan 2016

            bir set jumper kablo yeterli. led kullanırsan direnç alabilirsin.

            Cevapla
            • Yasin
              4 Nisan 2016

              Hocam skype adresiniz var mı acaba?
              Ürünler elime ulaştı sizinle bu konu hakkında konuşmak istiyorum lütfen yardım edin?

    19. remzi
      12 Mart 2016

      son sorum 🙂
      genelde voıd setup ve voıd loop döngusunun ne oldugunu bılıyorum.
      ama kodalra bakınca voıd ileri () voıd led yak() gbi ifadeler kullanılmıs hangı amacla akılıma gelen ılk sey
      istenıldıgı zaman devreye girmesidir öle midir yardımcı olur sanız cok sevinirim.

      Cevapla
      • Sezgin GÜL
        12 Mart 2016

        öyle denebilir. koşullara göre tanımladığın olayı çağırmadır.

        Cevapla
    20. remzi
      12 Mart 2016

      servo motor yerine dc motor kullansam kodlarda herhngı bir degısıklık yapmama gerek var mı?
      ayrıca ledi yakmak istemezsem ledle ılglı kısımları sılmem yeterlı olacak mıdır ….
      tesekurler.

      Cevapla
      • Sezgin GÜL
        12 Mart 2016

        dc motor zamanlama ile kontrol edeceğinden her dönüşte aynı yol almayabilir. yani voltaj ve akım değişkeni farklı olduğunda bu sorun olabilir. sola ve sağa bak fonksiyonlarında servo kontrolünü silip dc motor kontrolünü eklemen gerek. onu da diğer fonksiyonlardaki dc motor kontrolü gibi yapabilirsin. Led istemiyorsan lede ait fonksiyonları ve pinlerini silmen yeterlidir.

        Cevapla
    21. Serdar Taneri
      27 Ocak 2016

      Hocam tekrar merhaba “return” komutunu bir turlu koyacagım yeri bulamadım, hep hatalar alıyorum musaıt zamanınızda tam yerını verırsenız sevınırım

      Cevapla
      • Sezgin GÜL
        28 Ocak 2016

        void engel() tanımlı algoritma var onun içine en alt kısıma return engel(); bunu yaz

        Cevapla
        • ümit
          18 Mayıs 2016

          bu robotun aynısından yaptım her şey çalışıyor lakin engel algıla dediğimde engele geldiğinde alğılamıyordu sizin return engel(); komutunu yaptım alğılıyor lakin bu seferde diğer komutlar işkemiyor

          Cevapla
    22. Serdar Taneri
      26 Ocak 2016

      Merhaba hocam kodları UNO kullarak karta yükledim test etmek için aşağıdaki satırları değiştirdim.
      Ama daha Ledi bile yakamadım, şu an servo , motor ve motor sürücü bağlı değil ama bundan yaparmı ?
      Serial monitör ile kontrol ettiğimde Arduino şu şekilde algılıyor sesi , sorunum karakter sorunumu ?
      Eğer bundan ise nasıl yol almam gerekir.

      Teşekkürler

      Serial monitor : i.hizliresim.com/nLpnZM.jpg

      #define led 7

      void ledyak()
      {
      digitalWrite(7,HIGH);
      }
      void ledkapat()
      {
      digitalWrite(7,LOW);

      Cevapla
      • Sezgin GÜL
        26 Ocak 2016

        serialden test ederken komutların başındaki * karakterini silip o o şekilde kodu yükle ve serialden komut gönder. Ama telefondan konuşarak kontrol edeceksen * karakterlerini tekrar eklemen gerekiyor

        Cevapla
        • Serdar Taneri
          26 Ocak 2016

          Hocam tekrar merhaba şuan ‘engel algıla’ haric tum komutlar calısıyor. Linkte kullandıgım koda bakabilirsiniz. Engel kısmında ileri gitmeye baslıyor ama sensor engel algılamıyor servo donmuyor, tum baglantıları ve kabloları bircok kez denedim ama malesef calıstıramadım.

          Siz ‘engel” kısmını denemişmiydiniz?

          Elinize ve emeğinize saglık , paylasım ve yardımınız icin.

          Cevapla
          • Serdar Taneri
            26 Ocak 2016

            drive.google.com/file/d/0B56DTKrX77F9MFFIVUlhRmJQbFU/view?usp=sharing

            Cevapla
            • Sezgin GÜL
              27 Ocak 2016

              engel fonksiyonunun altına return yazarak döngüyü tekrarlatın

    23. meltem
      30 Aralık 2015

      hocam servo ve ultrasonik sensörlerin bağlantısı hakkında biraz detay verebilir misiniz?

      Cevapla
      • Sezgin GÜL
        30 Aralık 2015

        servo motor sinyal pini 4. dijital pine takılacak artı ucu 5v eksi ise gnd ye takın. ultrosonik sensör ise üzerinde trig ve echo pini yazar trigger pini 3. dijital pine echo pini ise 2. dijital pine takın artı ucu 5v eksi ucu ise gnd ye takın.

        Cevapla
    24. Sezgin GÜL
      21 Aralık 2015

      pin yapısında fark yok fakat b serisi 2 ampere kadar akıma dayanırken d serisi 1.2 ampere kadar dayanmaktadır. Sizdeki büyük ihtimalle adafruit motor shield olabilir.

      Cevapla
      • rejva
        27 Aralık 2015

        tekrar rahatsız edıyorum k.bkmayın mega yerine uno kullansak olur mu

        Cevapla
    25. rejva
      21 Aralık 2015

      acaba devre semasını daha ayrıntılı şekilde paylasma şansımız var mı?

      Cevapla
      • Sezgin GÜL
        21 Aralık 2015

        Devrede her bağlantı gösterildi nerede takıldınız ?

        Cevapla
        • rejva
          21 Aralık 2015

          videoyu izleidgimde devra şemeasındn daha fazla kablo var ve robot kit iki katlı arada ne oldugunu kabloların nereye gittiğini merak ettim led koymussunuz ben sola dön dedıgımde sol led yanıp donmesını ıstıyorum ve rbg ledleri bulunmuyomus onun yerıne ne kullanabılırım

          Cevapla
          • Sezgin GÜL
            21 Aralık 2015

            Kitin arasında batarya var ve devre şemasıyla aynı. Sadece rgb led videoda yok. Onu da devre şemasında gösterdim. Normal kullanabilirsiniz. Sola dön fonksiyonunun içine ledyak fonksiyonu ekleyerek aynı anda ledi de yakabilirsiniz.

            Cevapla
            • rejva
              21 Aralık 2015

              kusura bakmayın bsy de sormak ıstıyorum l293d ile l293b arasında bı fark var mı motor surucu mu yoksa entegremı kullanalım ben cok farklı bsy aldım da galıba ustunde 2 tane motor var 3 entegre var da

    26. mert
      23 Kasım 2015

      Tamamdır. Çok teşekkürler yardımınız için.

      Cevapla
    27. Sezgin GÜL
      22 Kasım 2015

      char c = BT.read(); fonksiyonundan sonra bu fonksiyonu yaz >> if (readvoice == ‘#’) {break;}

      Cevapla
      • mert
        22 Kasım 2015

        Teşekkürler yinede char c = BT.read(); fonksiyonundan sonra if (readvoice == ‘#’) {break;} yazdım ama olmadı.Kodun son hali link:
        app.box.com/s/f07l7ebqp599rk1e68gzcuiasgu019ct

        Cevapla
        • Sezgin GÜL
          22 Kasım 2015

          return; fonksiyonunu tanımlanan fonksiyonların altına yazıp tekrar dene . Benim robotta öyle sorun yoktu. Projedeki yazılıma bakıp tekrar dene
          Ayrıca sensör ölçüm kodlarını da tanımlı fonksiyonların içinde hesaplattır.

          Cevapla
          • mert
            22 Kasım 2015

            Ses Komutlarının yanına yazdım başka nereye yazabilirim bilmiyorum hangi fonksiyona yazmam gerekir, konuya çok hakim değilim.Şimdiden teşekkürler.

            Cevapla
            • Sezgin GÜL
              22 Kasım 2015

              Ses komutlarının olduğu yerden sil yani loop içine yazma. Tanımladığın parça fonksiyonların içine yaz

    28. mert
      21 Kasım 2015

      Merhaba Benim bir sorum olacak. Ben buna benzer bir proje yaptım ama kodlamada bir sıkıntım var. Hem Bluetooth hem de engel algılayan robot yapmak istiyorum ama 2 sini birden yapamıyorum. Yazdığım kodda robota bir command gönderdiğimde, önceki command ın yanına yazıyor Serial portta. Yani resetleyemiyorum.Bunu nasıl halledebilirim?Şimdiden teşekkürler.Yazdığım kodun linki:
      app.box.com/s/f07l7ebqp599rk1e68gzcuiasgu019ct

      Cevapla
      • Sezgin GÜL
        21 Kasım 2015

        komut tanımlarının en altına bunu ekle readvoice = “”; . Yazılımda engel algılama fonksiyonları while(BT.available()) fonksiyonun dışında yani bluetootht a bağlı iken engel komutları dışta kaldığı için çalışmıyor. O kodları while(BT.available()) fonksiyonunun içine yazmalısın.

        Cevapla
        • mert
          21 Kasım 2015

          Dediğinizi yaptım ama ben komut gönderdikten sonra engel sensörleri çalışmıyor sadece komut gönderir göndermez çalışıyor.Ama ben sürekli çalışmasını istiyorum.Bunu nasıl yapabilirim.Yani ben komut gönderdiğimde o komut bir sonraki komuta kadar geçerli olmasını istiyorum çünkü o eklediğim readvoice=””; hemen reset atıyor ve komutu siliyor ve o komutun döngülerini çalıştırmıyor bunu nasıl yapabilirim.Son yaptığım kod link:
          app.box.com/s/f07l7ebqp599rk1e68gzcuiasgu019ct

          Cevapla
          • Sezgin GÜL
            21 Kasım 2015

            readvoice=””; fonksiyonunu dışarıda yazmışsın. readvoice=””; ifadesini if(readvoice.length()>0) ifadesinin içine yaz. Engel algılamasında ise komutların altına return; fonksiyonunu ekle.Algoritmayı döndürecektir.

            Cevapla
            • mert
              22 Kasım 2015

              Teşekkürler yardımınız için birşey daha soracağım ben komut gönderdiğimde istediğim komut başlıyor ama bir daha gönderdiğimde eski komutu sadece siliyor ve sonra bir daha komut gönderiyorum o zaman o komut çalışıyor. Yani yeni komutla reset atıyor sonra bir daha komut verince çalıştırıyor. Peki bunu direk eski komutun yerine yeni komutu direk nasıl çalıştırabilirim. Şimdiden teşekkürler.

    29. cansu
      30 Ekim 2015

      Hocam merhabalar benim de size bir sorum olacaktı.Bende bi proje ile ugrasıyorum raspberry ile yapıcam . proje sesli olarak robot kontrolu yapmak.Sesli veri tabanını nasıl olusturabılırım.Yardımcı olabılır misiniz? Tesekkurler sımdıden…

      Cevapla
      • Sezgin GÜL
        30 Ekim 2015

        Merhaba Cansu,
        Ses veri tabanı için buradan bakabilirsin blog.oscarliang.net/raspberry-pi-voice-recognition-works-like-siri/

        Cevapla
    30. rejva
      22 Ekim 2015

      ben de böyle bir proje yapmayı düşünüyorumda hangi dilde yazılmıs acaba arduino bu yoksa c dilinde mi bide telefona bağlarken her hangi bir işlem yapmamız gerekiyor mu acaba ?

      Cevapla
      • Sezgin GÜL
        22 Ekim 2015

        Arduino programı ile yani c++ dili. Telefona bluetooth ile bağlanıyor. Programı kullanırken internetinizin açık olması gerekiyor. Çünkü program google ın sesi yazıya dönüştürme sistemini kullanıyor.

        Cevapla
    31. Enes
      21 Eylül 2015

      Hocam Android telefondan söylediğimiz komutları algılama işlemini nasıl yapıyorsunuz?
      Takıldığım yer burası.

      Cevapla
      • Sezgin GÜL
        21 Eylül 2015

        Android programı “google’ın sesi yazıya çevirme ” uygulaması tabanıyla gerçekleştiriyor.Yani uygulama internete bağlı iken çalışmaktadır.Bu sayede google çeviri yapıyor.

        Cevapla
        • Recep Soysal
          14 Ekim 2015

          Hocam şimdi ben proje yapacam ve bu çalışmanın malzemelerini ve programını satın almak istesem nasıl iletişime geçerim sizinle ve maliyeti ne kadar olur aceba numaranızı verirseniz daha iyi iletişim kurabiliriz.
          Saygılarımla

          Cevapla
          • Sezgin GÜL
            14 Ekim 2015

            Program satın almak derken? Projede yazılımı var.Yani ücretsiz 🙂 Arduino ve gereken malzemeler projede belirtilmiş.
            Robot şasesi için ister oyuncak arabadan yaparsınız isterseniz kit alırsınız.Takıldığınız noktada buraya mesaj bırakabilirsiniz. Veya https://www.facebook.com/sezgin.gul.08 buradan iletişime geçebilirsiniz.

            Cevapla
      • Sezgin GÜL
        25 Ekim 2015

        buradan android uygulamasını indir >> play.google.com/store/apps/details?id=robotspace.simplelabs.amr_voice&hl=tr

        Cevapla

    Bir yorum yaz

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Projeler Devamı

    Bizi Takip Et

    izmir escort- izmir escort- izmir escort- izmir escort- izmir escort