Arduino Ses İle Kontrol Edilen Araba

Arduino Ses İle Kontrol Edilen Araba

ses

 

 

Arduino ses ile kontrol araba,

Arkadaşlar özgün robot yapmak için elimden geleni yapıyorum sizlere.Arduino ses ile kontrol edilen araba bir çok yerde mevcut hepside güzel çalışıyor.Peki robotdevreleri olarak biz nasıl yaptık biraz ondan söz edeyim.

Arduino Ses İle kontrol edilen robotumuz  a korna ve lamba ekledik.Ayrıca sağ ve sola park etme komutları ile robotumuz u park etmek istiyorsak park edeceği yere yönlendirip sağında veya solunda boş alanı biz görünce robota komut veriyoruz sağ park et veya sol park et diye.Sonra parktan çıkmak istetince sol çık veya sağ çık komutları ile robotumuz park yerinden çıkıyor.Lamba olarak polis tepe lambasını kullandım,Lamba komutu ile robotumuzun önünde bulunan lambalar çakar olarak yanmaktadır.

Bilindiği gibi diğer ses ile kontrol edilen arabalarda ileri geri sağ ve sol komutları var biz bunun üzerine şunlarını ekledik gayet güzel ve şık oldu komutlar ve robotun yaptıkları şöyledir.

 

 

 

komutlar

malzeme

  • Arduino Uno
  • L298N motor sürücü kartı
  • hc-05 bluetooth kartı
  • Polis Lamba Seti (set dediğime bakmayın oyuncak arabadan çıkan parça)
  • Korna için buzzer
  • 9v pil ve soketi
  • 4 adet pil

 

devre

ses devre şeması

 

android

 

yüklenecek program

sesyönelenyazılım indirmek için tıklayınız.

yazilim

String voice;
//motor pinleri
#define SolMotorileri 12
#define SolMotorGeri 13
#define SagMotorileri 9
#define SagMotorGeri 10
 
//sensör pinleri
#define USTrigger 0
#define USEcho 1
#define Maksimum_uzaklik 100

void setup()
{
Serial.begin(9600); //iletişim ayarı
//motor çıkışları
pinMode(SolMotorileri, OUTPUT);
pinMode(SolMotorGeri, OUTPUT);
pinMode(SagMotorileri, OUTPUT);
pinMode(SagMotorGeri, OUTPUT);

pinMode(11, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
 
 digitalWrite(11, HIGH);
}
// sonsuz döngü
void loop() {
  
Serial.println ("loop ici");
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);
 digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
 
if(voice == "*dön"||voice == "*dön") {don();}
if(voice == "*zero draw"||voice == "*zero draw") {don();}
else if(voice == "*git gel"||voice == "*git gel") {gitgel();}
else if(voice == "*Go here"||voice == "*Go here") {gitgel();}
else if(voice == "*ileri git"||voice == "*ileri git") {ileri();}
else if(voice == "*Go forward"||voice == "*Go forward") {ileri();}
else if(voice == "*geri gel"||voice == "*geri gel"){geri();}
else if(voice == "*come back"||voice == "*come back"){geri();}
else if(voice == "*sağa dön"||voice == "*sağ") {sag();}
else if(voice == "*right"||voice == "*right") {sag();}
else if(voice == "*sağa dön"||voice == "*sağa dön") {sag();}

else if(voice == "*sola dön"||voice == "*sor") {sol();}

else if(voice == "*sola dön"||voice == "*son") {sol();}
else if(voice == "*sola dön"||voice == "*sol") {sol();}
else if(voice == "*left"||voice == "*left") {sol();}
else if(voice == "*sola dön"||voice == "*sağol") {sol();}
else if(voice == "*dur"||voice == "*dur") {dur();}
else if(voice == "*stop"||voice == "*stop") {dur();}
else if(voice == "*tur"||voice == "*tur") {dur();}
else if(voice == "*az ileri"||voice == "*az git") {azileri();}
else if(voice == "*Go small"||voice == "*Go small") {azileri();}
else if(voice == "*az geri"||voice == "*az gel") {azgeri();}
else if(voice == "*few come"||voice == "*few come") {azgeri();}
else if(voice == "*az ileri"||voice == "*al git") {azileri();}
else if(voice == "*az geri"||voice == "*al gel") {azgeri();}
else if(voice == "*sol ileri"||voice == "*sola dön ileri git") {solileri();}
else if(voice == "*Go forward turn left"||voice == "*Go forward turn left") {solileri();}
else if(voice == "*sağ ileri"||voice == "*sağa dön ileri git") {sagileri();}
else if(voice == "*Go forward turn right"||voice == "*Go forward turn right") {sagileri();}
else if(voice == "*korna"||voice == "*korna") {korna();}
else if(voice == "*horn"||voice == "*horn") {korna();}
else if(voice == "*lamba"||voice == "*lamba") {lamba();}
else if(voice == "*lamp"||voice == "*lamp") {lamba();}
else if(voice == "*siren"||voice == "*siren") {siren();}
else if(voice == "*hooter"||voice == "*hooter") {siren();}
else if(voice == "*tren"||voice == "*tren") {siren();}
else if(voice == "*lamba yak ileri git"||voice == "*lamba yak ileri git") {lileri();}
else if(voice == "*Go forward lamp oil"||voice == "*Go forward lamp oil") {lileri();}
else if(voice == "*sol park et"||voice == "*sol park et") {solpark();}
else if(voice == "*left parked"||voice == "*left parked") {solpark();}
else if(voice == "*sağ park et"||voice == "*sağ park et") {spark();}
else if(voice == "*Right parked"||voice == "*Right parked") {spark();}
else if(voice == "*sağ park çık"||voice == "*sağ çık") {solcpark();}
else if(voice == "*right out"||voice == "*right out") {solcpark();}
else if(voice == "*sol park çık"||voice == "*sol çık") {scpark();}
else if(voice == "*left wing"||voice == "*left wing") {scpark();}
else if(voice == "*sol park çık"||voice == "*sağ açık") {solcpark();}
else if(voice == "*sol park çık"||voice == "*sol açık") {scpark();}
voice="";}}
 
// robotun yön komutları
void scpark()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(450);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(450);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
void solcpark()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
delay(450);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
void solpark()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(450);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(100);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
void spark()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(450);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(100);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
void lileri()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
digitalWrite(6, HIGH);

}
void korna()
{
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
delay(300);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
delay(300);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
}
void lamba()
{
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
delay(100);
}
void siren()
{
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(100);
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(100);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(100);
}
void gitgel()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
delay(100);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
delay(100);
}
void ileri()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);}
void azileri()
{
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);}
 
void geri()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);}
void azgeri()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);}
 void don()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
}
void sag()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);}
void solileri()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
delay(100);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);}
void sagileri()
{
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, HIGH);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
delay(100);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, HIGH);
digitalWrite(SagMotorGeri, LOW);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
}
 
void sol()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, HIGH);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, HIGH);
delay(500);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);}

 
void dur()
{
digitalWrite(SolMotorGeri, LOW);
digitalWrite(SolMotorileri, LOW);
digitalWrite(SagMotorileri, LOW);
digitalWrite(SagMotorGeri, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}





video

sonhali

20160228_151455 20160228_151530 20160228_151536 20160228_151539 20160228_151545 20160228_151550 20160228_151556 20160228_151603

20160228_151447

 

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , ,
Eklenme Tarihi: 1 Ağustos 2016

Konu hakkında yorumunuzu yazın

Arduino Ses İle Kontrol Edilen Araba (42 Yorum)

  1. Hocam iyi günler kolay gelsin benim elimde L298N var bağlantıları nasıl yapıcam bir türlü çözemedim yardımcı olabilirmisiniz.

  2. Bağlantı şemasında sürücüyü l293d olarak vermişsiniz ama fotolarda
    L298n kullanmışsınız. Bağlantıyı n için kurduğumuzda bir arduino pinine
    iki bağlantı yapmak zorunda kaldık buletooth modül çalışmadı. Bağlantıyı ayırdığımızda modül çalışsa da kodlar başka pine göre ayarlandığından sistemi çalıştıramadık. L298n için bağlantı şemasını ve kodunu paylaşabilir misiniz?

  3. Merhaba
    tel bluetooth modülü görüyor be bağlanıyor fakat uygulamada konuşma butonuna bastığımda öncelikle roboto bağlan diyor, sebebi ne olabilir. ?

  4. Ben bu programı unuttum onun için yazamıyorum ve yapmaya da fırsatım yok yardimci olabilecek biri var mi

    • Daha önce yapmadım. Yavaş yavaş başlamak için bende almıştım rasberry 3 . O sıralar araştırdım bir çok doküman vardı.Benim yapmış olduğum bir devre ve yazılım şu anda yok.

  5. İyi günler bitirme projesi olarak hoca rasberry pi 3 ile sesle hareket eden araba ve engel tanıma verdi. Arduino yerine rasberry kullansak bağlantılar ve kodlar aynı olur mu ?

    • 175 tl dir.sadece motor sürücü kartı demonte olarak gönderilecektir. Şase ve tekerlek sistemi tarafimca yapılarak hazır gönderilecektir

  6. Merhaba biz bu araci isis cizimlerinin ares baskilarini gibi bide malzemeleri sizden temin etme sansimiz varmi

  7. Merhaba Arduinoyu bu kadar temiz ve başarılı kullanan kopya projeler yapmayan tamamen kendi üretiminiz olduğu bariz ürettiğiniz robotlarla ortada , robot fiyatları gayet makul başarılarınızın devamını dilerim.

  8. İyi çalışmalar yazılımı indirip çalıştırdım kontrol etme kısmında voice kontrol kısımları hatalı buldu nedendir ? birde android uygulama olarak ne kullanıyoruz indiriyoruz. yardımcı olursanız sevinirim malzemeleri aldım birleştirdim çalışmıyor araya gidecek.