Sesli komutlarla kontrol edilen robot (voice control robot)
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:
- Arduino mega
- L293b motor sürücü
- Robot kit
- HC-SR04 Ultrasonik Mesafe Sensörü
- RGB led
- HC-06 Bluetooth modul
- Andoid uygulama
Devre şeması:
Arduino Yazılımı:
#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.
Merhaba ben bu robotun Türkçe sesle kontrollüsünü yapmayı düşünüyorum ne gibi adımlar izlemem lazım yardımcı olabilir misiniz
Sistem çalışıyor fakat android uygulamada error 516 unable to write broken pipe hatası veriyior. Lütfen yardımcı olurmusunuz?
Android Uygulama yok bi bakar mısınız lütfen kontrol edemiyorum
android uygulamaya ulaşamadım. İlgilenirmisiniz rica etsem
Android uygulamayı play store den kaldırılmış nasıl ulaşabilirim yardımcı olur musunuz
Bu kodlar Bluetooth modulü içinmi yoksa normal mikrofonlada çalışması içinmi ?
tek bir servo motor için motor sürücüsü kullanmak yeterli mi.Birde ben mega yerine uno r3 kullandım yeterli olur mu?kod yazmada bana nasıl yardımcı olabilirsiniz?
servo motor için motor sürücü kullanılmaz. pinlerini direk arduinoya takmanız yeterli. mega yerine uno kullanabilirsiniz. fakat koddaki bazı pin numaraları uno da bulunmadığından o numaraları unada boş olan pin ile değiştirebilirsiniz.
Hocam Led’in yanındaki malzeme ne oluyor birde daha detaylı bir şekilde atabilirmisiniz bitirme tezi olarak yapmak istiyorumda
Arduino mega ya atilan kodu ardunio uno ya atsak calisir mi
ledlerin pin numaraları uno da bulunmadığı için onların numaralarını başka pinle değiştirmeniz gerekiyor. Diğer kısımlar sorunsuz çalışır.
Ben bu projeyi yapacağım . Özellik olarak 1metre ileri git şeklinde komut vermek istiyorum nasıl yapılır?
Tekerleğin çevre uzunluğunu hesaplayarak bir tur attığında ne kadar yol alacağı belirlenir. 1 metrede ne kadar tur atacağını bu değere bölerek bulunuz. Sistemde dc motor kullanıldığı için tur sayısına göre döndürmenin iki yolu var. birinci yol enkoder kullanarak tur sayısını ölçebilirsiniz. Bu yöntem en sağlıklısıdır. İkinci yöntem bir tur attığında ne kadar süre geçiyor bunu deneyerek hesaplayabilirsiniz. Fakat bu yöntemde sistemin enerjisi zamanla azalacağı için aynı sürede alınan tur sayısı eşit olmayacaktır. Üçüncü yöntem ise dc motor yerine step motor kullanmak. Bu motorların adımları sabit olduğu için turu doğru şekilde tamamlar. Step motor kullanacaksınız kodda da hareket fonksiyonlarını değiştirmeniz gerekir. Bu yöntemlerden birini kullanarak belirlediğiniz uzaklık kadar ilerlemesini sağlayabilirsiniz.
// sensörün mesafe ölçümü
void sensor_olcum()
{
delay(50);
zaman = sonar.ping();
uzaklik = zaman / US_ROUNDTRIP_CM;
}
bu kodu ne işe yarıyor ?
sizin yaptığınız bu projede servo motor mu kullandınız ?
mesafe ölçme fonksiyonu.
step motor kullanacaksam kodu nasıl yazmalıyım ?
bu fonksiyondan istediğim özelliği yapabilir miyim ?
merhaba hocam ben bu devrenin aynısını unoda yaptım led leri sildim bir tek kodları doğrularken herhangi bir sıkıntı olmuyor bluetooth la telefonu eşleştiriyorum interneti açıyorum komutları söylüyorum ama herhangi bir hareket olmuyor l293d den olabilir diye düşündüm yenisini aldım yine aynı ayrıca devrede hiç bir şey tepki vermiyor ama çalışıyorlar yardımcı olabilir misiniz hocam
merhaba. ben yapacağım proje sadece ses komutu ile ileri geri sağa sola gitmesi bunun için yukarda verilen kodlarda sadece o kısmı alınca çalışırmı acaba? ve arduino mega yerine unu kullanırsak olur mu ?
Çalışır pin yeterse uno kullanabilirsin
arkadaşlar robot engel algılamıyor bilen biri varsa el atabilir mi acaba ? teşekkürler.
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?
Hocam android program ios için olanı varmı ?teşekkürler
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
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.
Hocam merhaba, ardunio ya yüklediğimiz zaman kütüphane istediği için yüklenmiyor.Kütüphaneyi nasıl bulabilirim.
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
merhaba,engel fonksiyonunda bir sorun var return engel(); yazdığımda çalışıyor ama bundan sonra başka komut veremiyorum
bunu arduino uno ile yapabilir miyiz ?
Pin sayısı yetiyorsa yapabilirsiniz.
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?
hocam merhaba lipo batarya yerine 9v pil kullansak olurmu bide arduino megaya hiç+ uç gitmemiş bi yanlışlık olabilirmi şimdididen teşekkürler
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.
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.
devre şemasını güncelledim.
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?
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.
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.
ışığı 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.
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
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
hocam 2000 mah yerine 3000 mah lık şarjlı pil kullansam bi sıkıntı olur mu acaba ?
bu projedeki gibi yapacaksan 3000 mah gereksiz. 1050 mah yeterli olur
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
taklitçi robot derken ?
Hocam kullanacağımız batarya lipo batarya mı acaba ?
fark etmez istediğini kullan. lipo olursa daha uzun süre dayanır.
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…
robotistan, direnç net gibi yerlerden alabilirsin. yapım videosu mevcut değil. takıldığın yerlerde sorabilirsin.
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.
bir set jumper kablo yeterli. led kullanırsan direnç alabilirsin.
Hocam skype adresiniz var mı acaba?
Ürünler elime ulaştı sizinle bu konu hakkında konuşmak istiyorum lütfen yardım edin?
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.
öyle denebilir. koşullara göre tanımladığın olayı çağırmadır.
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.
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.
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
void engel() tanımlı algoritma var onun içine en alt kısıma return engel(); bunu yaz
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
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);
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
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.
drive.google.com/file/d/0B56DTKrX77F9MFFIVUlhRmJQbFU/view?usp=sharing
engel fonksiyonunun altına return yazarak döngüyü tekrarlatın
hocam servo ve ultrasonik sensörlerin bağlantısı hakkında biraz detay verebilir misiniz?
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.
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.
tekrar rahatsız edıyorum k.bkmayın mega yerine uno kullansak olur mu
olur tabiki de pinler yetiyorsa sorun yok
acaba devre semasını daha ayrıntılı şekilde paylasma şansımız var mı?
Devrede her bağlantı gösterildi nerede takıldınız ?
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
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.
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
Tamamdır. Çok teşekkürler yardımınız için.
char c = BT.read(); fonksiyonundan sonra bu fonksiyonu yaz >> if (readvoice == ‘#’) {break;}
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
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.
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.
Ses komutlarının olduğu yerden sil yani loop içine yazma. Tanımladığın parça fonksiyonların içine yaz
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
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.
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
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.
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.
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 ?
Hocam Android telefondan söylediğimiz komutları algılama işlemini nasıl yapıyorsunuz?
Takıldığım yer burası.
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.
Devreyi aynıdını yaptık ama hc05 Bluetooth modülünü kullandık lakin bir türlü bağlantı kuramadık modül ile Arduino serial Port tan kodu yazdım örnek serial porttan ileri ama yine hiç bir hareket olmadı hc05 bağlantısını kurarken bir yerlerde hata yapıyorum. Nasıl bağlantı kuracağız hc 05 ile
bağlantılarınız doğru ise muhtemelen sorun hc-05 in baudrate değeri 38400 oluyor genelde . Modülün iletişim hız değerini at komutu ile 9600 yapın ya da koddaki iletişim hız değerini 38400 yapın. Modülün değerini 9600 yapmanız daha kesin olur.