Merhaba arkadaşlar,

Bu projemizde Android akıllı telefonumuzun Bluetooth özelliği ile kontrol edebildiğimiz bir araba yapacağız. Bluetooth nimetinin güzelliği ile telefonumuzu kumanda şeklinde kullanabileceğiz. Bir nevi uzaktan kumandalı araba da olmuş olacak 🙂

Aracı yaparken oluşturmuş olduğumuz arduino araba kitimizi kullanabilirsiniz.

Gerekli malzemeler:

L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı

blank

24V a kadar olan motorları sürmek için üretilen bu kart, iki kanallı olup kanal başına 2A akım verebilir. Bu kart iki kanallı olduğu için arabanın sağ tarafındaki 2 motoru bir kanala; sol tarafındaki motorları da diğer kanala bağlayacağız. İşimizi fazlasıyla görecektir.

Çok Amaçlı Robot Platformun Montajı

blank

Demonte şekilde gelen kitin montajını yapalım. Fotoğrafta gösterildiği gibi motorları montajlıyoruz :

blank

Motorların kablolarını uygun deliklerden yukarı doğru yönlendirmeyi yaparak montaj işlemini tamamlıyoruz. Eğer daha sağlam olmasını dilerseniz  motorların kablolarını lehimleyebilirsiniz. Daha önce lehim makinesi kullanmadıysanız Lehim Nasıl Yapılır? videomuzu izleyebilirsiniz. Lehim yaparken her motorun sağ ayağına kırmızı kablo, sol ayağına da siyah kablo lehimlemek olası karışıklıkları önleyecektir.

Arduino Arabamızın Elektronik Bağlantıları:

Bağlantıları karışıklık olmaması adına farklı kısımlarda gösterdim. İlk olarak Arduino ile HC-06 Bluetooth modülü arasındaki bağlantıları bu şekilde yapıyoruz:

blank

Arduino ile L298N Motor Sürücü kartı arasındaki bağlantıları bu şekilde yapıyoruz:

blank

L298N Motor Sürücü Kartı ile DC motorların bağlantısını bu şekilde yapıyoruz:

blank

Bütün bağlantılarımızı yaptıktan sonra projemiz çalışmaya hazır bi halde olacak. Son görüntümüz de aşağıdaki görseldeki gibi olmalı.

NOT: Görsellerde iki tane pil yuvası olması kafa karıştırmasın. Pil yuvasından çıkan kabloya iki ek yaparak birini motor sürücüsüne diğerini Arduinoya bağladık.

blank

Aracımız hazır. Şimdi de yazılım kısmına odaklanalım. Bu kısma geçmeden aracın güç bağlantılarını kesmeliyiz. Pillerden birini çıkartarak bunu yapabiliriz.

Not: Kodu Arduinoya yüklerken HC-06 Bluetooth modülünün bağlantılarını sökmemiz gerekiyor aksi takdirde hata mesajları ile karşılaşacağız.

Arduino Bluetooth Araba Kodu:

/*
`://////////////////////////////-`
-/////////::////////////:://///////-
://///-`     `://////:`     `-/////:
:////..:///:.  `////`.:///:.  .////:
:////:///////-  ////////////-  ////:
:///++///////: `////////////- `////:
://///-.////-`.//////.-////-`-/////:
:////////::-:///////////::-:///////:
-//////////////////////////////////-
-////////////////////////////////-
`------::////////////////////////////::------`
:/--////////////////////////////////////////--/-
`:/:://::::::://////////////////////::::::://::/:`
./////-     `////////////////////////`     -/////.
./////-    `//////////////////////////`    -/////.
./////-   `////////////////////////////`   -/////.
///////: `//////////////////////////////` :///////
////////`////////////////////////////////`////////
//////////////////////////////////////////////////
---.---.//////////////////////////////////.---.---
.://////////////////////////////:.
`-:///////:::::::::::::..:::::::::::::///////:-`
://////////////////////////////////////////////:
://////////////////////////////////////////////:
://////////////////////////////////////////////:
.//////////////////////:://///////////////////*/ 

//L298N Bağlantısı   
  const int motorA1  = 5;  // L298N'in IN3 Girişi
  const int motorA2  = 6;  // L298N'in IN1 Girişi
  const int motorB1  = 10; // L298N'in IN2 Girişi
  const int motorB2  = 9;  // L298N'in IN4 Girişi


  int i=0; //Döngüler için atanan rastgele bir değişken
  int j=0; //Döngüler için atanan rastgele bir değişken
  int state; //Bluetooth cihazından gelecek sinyalin değişkeni
  int vSpeed=255;     // Standart Hız, 0-255 arası bir değer alabilir

void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);    
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
}
 
void loop() {
  /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
 (Aktif etmek için alt satırın "//" larını kaldırın.)*/
//     if(digitalRead(BTState)==LOW) { state='S'; }

  //Gelen veriyi 'state' değişkenine kaydet
    if(Serial.available() > 0){     
      state = Serial.read();   
    }
  
  /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == '0'){
      vSpeed=0;}
    else if (state == '1'){
      vSpeed=100;}
    else if (state == '2'){
      vSpeed=180;}
    else if (state == '3'){
      vSpeed=200;}
    else if (state == '4'){
      vSpeed=255;}
     
  /***********************İleri****************************/
  //Gelen veri 'F' ise araba ileri gider.
    if (state == 'F') {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0); 
    }
  /**********************İleri Sol************************/
  //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    else if (state == 'G') {
      analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);  
        analogWrite(motorB1, 100);    analogWrite(motorB2, 0); 
    }
  /**********************İleri Sağ************************/
  //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    else if (state == 'I') {
        analogWrite(motorA1, 100); analogWrite(motorA2, 0); 
        analogWrite(motorB1, vSpeed);      analogWrite(motorB2, 0); 
    }
  /***********************Geri****************************/
  //Gelen veri 'B' ise araba geri gider.
    else if (state == 'B') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
        analogWrite(motorB1, 0);   analogWrite(motorB2, vSpeed); 
    }
  /**********************Geri Sol************************/
  //Gelen veri 'H' ise araba geri sol(çapraz) gider
    else if (state == 'H') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 100); 
        analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); 
    }
  /**********************Geri Sağ************************/
  //Gelen veri 'J' ise araba geri sağ(çapraz) gider
    else if (state == 'J') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
        analogWrite(motorB1, 0);   analogWrite(motorB2, 100); 
    }
  /***************************Sol*****************************/
  //Gelen veri 'L' ise araba sola gider.
    else if (state == 'L') {
      analogWrite(motorA1, vSpeed);   analogWrite(motorA2, 150); 
        analogWrite(motorB1, 0); analogWrite(motorB2, 0); 
    }
  /***************************Sağ*****************************/
  //Gelen veri 'R' ise araba sağa gider
    else if (state == 'R') {
      analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
        analogWrite(motorB1, vSpeed);   analogWrite(motorB2, 150);     
    }
  
  /************************Stop*****************************/
  //Gelen veri 'S' ise arabayı durdur.
    else if (state == 'S'){
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0); 
        analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
    }  
}

Kodumuz Arduino yüklendiyse bilgisayarımıza bağlı USB kabloyu söküp Arduinoyu pillerden besledikten sonra HC-06 Bluetooth Modülünü tekrar bağlayabiliriz.

HC-06 Bluetooth modülünun ışıkları yanıp sönmeye başladıysa bu kısım da sorunsuz şekilde gerçekleşmiş demektir.

Şimdi sıra akıllı telefonumuzu aracımız için ayarlamaya.

Google Play Store’dan Arduino Bluetooth RC Car uygulamasını indirelim. Buradan sonraki adımları isterseniz videodan takip edebilirsiniz.

Uygulamanın inmesi devam ederken biz de telefon ayarlarından Bluetooth paneline girip telefonumuzu HC-06 ile eşliyoruz. Standart eşleme şifresi “1234” veya “0000” tür. Eşleme işlemi bittiyse indirdiğimiz uygulamayı açabiliriz. Uygulama açıldıktan sonra ekranın üst tarafındaki ayarlar sekmesine girip “Connect to car” seçeneğini işaretliyoruz. Daha sonra bizden bir cihaz seçmemizi isteyecek. Önceden eşleştirdiğimiz HC-06 modülünü seçiyoruz.

Bağlantımız gerçekleştiğinde HC-06 Bluetooth Modülü üzerindeki yanıp sönen ışık sürekli yanar pozisyona geçecektir.

Arduino Araba Videosu

Genç Tesla ile yaptığımız arduino arabamızı da inceleyebilirsiniz:

Her şey tamamsa iyi eğlenceler 🙂

Başka bir projede görüşmek üzere..

372 Yorumlar

  1. acil cevap verebilirmisiniz hcr06 malzemeler bölümünde yazmıyor çok amaçlı robot platformunun içinden mi çıkıyor yoksa siz yazmayı mı unuttunuz

  2. merhaba.
    6 tane AA pil yerine 8tane kullansak daha hızlı bir şekilde kullanmak mümkün mü ya da 4 tane kullansak daha mı yavaş olur.kombinasyonları hakkında ve 4 motor için max. pil sayısı hakkında bilgi verebilir misiniz?

  3. Merhaba arduinoya kodu yükleyince şu hatayı alıyorum
    exit status 1
    expected unqualified-id before ‘if’
    sorun nedir?

  4. Yap dediniz her şeyi yaptım bütün parçaları topladım ama olmadı.kodu yaptım ama olmadı.uygu
    lamayı bile indirdim ama olmadı ama bağlandı…
    LÜTFEN EN YAKIN ZAMANDA BİR VİDYO ÇEKİN!!!!!!!!!!!!!!!!!!!!!!!!!!!!…

    • Herhangi bir farkı olmayacaktır. Sistemin daha verimli olmasını isterseniz sürücü üzerindeki 5V bağlantısından Arduino’nun 5V hattını besleyebilirsiniz. Bu sayede pillerin gerilimi iki ayrı regülatöre gitmeyecek, dolayısıyla ısı sonucu verim kaybı daha az olacaktır.

  5. Kerem bey dediklerinizin hepsini yaptım ama olmuyo bluetooth u bağlıyorum 5 sn sonra bağlantı kopuyor nedeni nedir sizce Bluetooth Modül : HC-05

    • Öyle bir şey olmaz çünkü tekerlekler hareketli değil. Yani sola döndüreceğimiz zaman sol motoru LOW yapıp sağ motoru HIGH yapıyoruz ki dönebilsin😊

      • Ben bu görselde A1 A2 b1 b2 motorları hangisi oluyor ne yaparsak geri ileri dönüyor anlamadım yardımcı olursanız çok sevinirim.

    • Aslında gidebilir, her iki tekerleği ileri yönde çalıştırıp sağın sola göre daha hızlı döndürürseniz hem ileri hem sola hareketi sağlayabilirsiniz.

  6. Anlatılan her şeyi harfiyen yaptım bluetooth dan hc-06 ya bağlanıyorum uygulamanın içinden orada da sıkıntı yok ama tuşlara basmama rağmen gitmiyor sorun ne acaba ÖDEVİN YETİŞMESİ LAZIM LÜTFEN YARDIM EDİN:

  7. Yaptım, çalışıyor. Lakin buletooth sık kopuyor…
    // if(digitalRead(BTState)==LOW) { state=’S’; } satırındaki // kaldırdığımda
    program çalışmıyor…

    YARDIM LÜTFEN

  8. merhaba denilen tüm bağlantıları herşeyi yaptım telefona yazılılımıda yükledim yanlız bağlanıyor hareket ettirme tuşuna basınca bağlantı kopuyor yardımcı olur musunuz

    • Kartın 0 ve 1 numaralı dijital pinlerine herhangi bir bağlantı yapılmışsa bunları sökerek tekrar yüklemeyi deneyin.

  9. bunda kullanılan HC06 Bluetooth-Serial Modül Kartlarının hepsinin bağlantı veya seri numaraları aynı mı olur mesela bir de fazla araç yapmak istesek bağlantı problemi bağlantı karışması olabilir mi? Böyle bir durum olursa bunun önüne geçmek için farklı bluetooth modülleri mi kullanmamız gerekir.

  10. Her adimi dogru yaptim. Ama kodlar yanlis. Ileri basinca saga donuyor; geri basinca sola donuyor. Saga basinca ileriye gidiyor; sola basinca geriye gidiyor. Detayli inceleyerek kodlari kendim duzelttim acikcasi. Ama sonucunda hersey halloldu. Puan olarak 5/10 veriyorum.

    • Bahsettiğiniz durum kodun yanlışlığından değil, sizin yaptığınız bağlantı şeklinden kaynaklıdır. Eğer sağa bastığınızda robotunuz ileri gidiyorsa, sol taraftaki motorların kablolarının sürücüye bağlandığı + ve – kutuplarını ters çevirin. Sorun düzelecektir.

  11. Çalışmıyor bağlantılar devre birebir aynı fakat çalışmıyor.
    Motor sürücü, bt, motorlar farklı kodlarla denendi onlar çalışıyor.
    2 gündür uğraşıyorum fakat olmadı.

  12. Meraba ben hem visual basic koduyla hem de bluetooth yoluyla 2 türlü araba mı hareket ettirmek istiyorum bu mümkün müdür?

  13. Meraba ben hem visaul basic koduyla hemde bluetooth ile 1 arabayı 2 türlü hareket ettirmek istiyorum bu mümkün müdür?

      • Ben visual basic kodları yazdım onunla klavyeden araba mı kontrol edicem ve HC-06 Bluetooth Modülü kullanarak da bluetoothla da kontrol etmek istiyorum. 1 arduino ile hem kodla hem de bluetooth la kontrol edebilir miyim?

        • Eğer programınızı cep telefonundaki uygulamanın verdiği komutları verecek şekilde yazarsanız ister bilgisayarınız aracılığıyla Bluetooth üzerinden, isterseniz USB kablo ile, hem de Bluetooth ile cep telefonunuzdan kontrol edebilirsiniz.

  14. Çalışmanız programın 2440 bayt (7 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 188 byte kadarını (9%) kullanıyor. Yerel değişkenler için 1860 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
    avrdude: ser_open(): can’t open device “\\.\COM8”: Sistem belirtilen dosyayı bulamıyor.
    ABİLER ARDUİNOYA YAZARKEN BÖYLE BİR SORUNLA KARŞILAŞIYORUM LÜTFEN YARDIM EDİN ÖDEVİ YAPAMAZSAM OKUL UZUYOR

    • Güç kaynağının + ucunu hem motor sürücü üzerindeki besleme klemensine, hem de Arduino üzerindeki Vin pini veya adaptör girişine bağlarsak her ikisi de beslenmiş olacaktır.

  15. hocam ellerinize sağlık güzel bir şekilde çalışıyor. Led ve buzzer eklemek istiyorum kod konusunda yardımcı olabilir misiniz

  16. Çalışmanız programın 2400 bayt (7 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 186 byte kadarını (9%) kullanıyor. Yerel değişkenler için 1862 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
    böyle bir hata veriyyor ne yapmam lazım acaba….

    • Aldığınız mesaj hata değildir. Yalnızca size Arduino’nun belleğinin ne kadarını kullandığınızı göstermektedir.

  17. bağlantıları ve yüklemelerin hepsini yapdım fakat motorlarda en küçük bir oyynama yok yardımcı olur musunuz?

  18. her şeyi yaptım fakat ileri giderken yalpalıyor araba , geri sağa sola giderken sorun yok ileri giderken sendeleye sendeleye gidiyor sebebi ne olabilir acaba

  19. merhaba bu sistemi yeni bir düzende kullanmak istiyorum yaklaşık 25 kg ağırlığı kaldıracak dc motor kullansam bu kontrol ünitelerini kullanmam yeterlimi yoksa başka kontrol ünitesimi almalıyım

    • 25kg taşıyacak güçteki motorları bu örnekte yer alan motor sürücü ile sürmeniz mümkün değildir. Çok daha büyük motorlar ve uygun motor sürücülere ihtiyacınız olacaktır.

  20. Merhaba bnm projem bluetooth Kulaklık kullanarak robotu sağa sola yönlendirme. Yani telefonda yön tuşları falan olmayacak . Bn bluetooth Kulaklık kullanarak nasıl yapıcam

    • Cep telefonundan ses algılama ile Bluetooth üzerinden robota komut gönderecek bir programa ihtiyacınız vardır. Örn. siz “ileri” dediğinizde robotun ileri gitmesi için gerekli kodu/karakteri program sizin için robota gönderecek. Burada asıl ilgilenmeniz gereken kısım bu şekilde çalışabilecek bir cep telefonu uygulaması bulmanız ya da kendiniz geliştirmenizdir.

  21. Ben hem bluetooth kontrollü
    Hem dr çizgi hemde engelden kaçan araba yapıcam yani uygulama m üzerinden ‘l’ gönderilince çizgi izlesin
    W gönderilince normal ileri gitsin sıkıntı olurmu

    • Her iki robot için de gerekli olan donanımı kurup, Bluetooth üzerinden gelecek karaktere göre çalışma modlarını değiştirebilirsiniz. Bunun için de çizgi izleyen kodunu programda bir fonksiyon altına, engelden kaçan kodunu da başka bir fonksiyon altına yerleştirip, loop içerisinde Bluetooth üzerinden gelen veriyi bir if veya switch/case yapısı ile okuyup robotun istediğiniz modda çalışmasını sağlayabilirsiniz.

      • teşekkür ederim ama if ile robotu yaptım ancak engelden kaçan robotun tuşunu u olarak ayarlayıp u harfini gönderidiğm de sadece 1 kere yapıyor
        yani mesafe >15 ise motorlar geri dönüyor ondaan sonra sensör çalışmıyor birdahaki sefere gönderdeiğim de çalışıyor sonra yine
        sensör çalışmıyor delay yazmalımıyım yada ne yazmalıyım

      • yanıtız için teşekkürler kerem bey bi önceki yorum daki sorunumu çözdüm fakat
        bu kez sorun veri göndermede w verisini gönderdiğim de motorlar sorunsuz ileri dönüyor ama u değişkeni yani engelden kaçma modunda ise
        fonksiyonu birkez yapıyor delay komutunu denedi fakat sonuç vermedi blink gibi de yazdım fakat hala aynı u adlı veriyi sadece tanımlı olan
        tuşa bastığımda 1 kez yapıyor bu yüzden hep sürekli tuşa basmam lazım ne yapmam lazım yardım cı olursanız sevinirim (kusura bakmayın bazı yerler boş ve fazla uzun oldu kusura bakmayın);

  22. merhaba bu robotu sesli kontrol etmek için programa hangi yazılımı eklemek gerek yada devre ile ilgili herhangi bir değişiklik yapmak gerekiyor mu ?yaptığım bir kaç araştırmaya göre hemen hemen aynı devre kurumu cevap verirseniz sevinirim.

  23. Merhaba ben MotoZade sürücü kartını kullanıyorum. Aynı şekilde Bluetooth kodunu attın ama çalışmıyor. İçinde entegre L928N sürücüsü var. Ne yapmam lazım ?

  24. merhaba bn bluetooth bağlantıları resimde gösterdiği gibi yaptım ama telefon bluetooth cihazını görmüyor bluetooth cihazındaki ışık sürekli yanıp sönüyor sorun nerde olabilir?

  25. Aracım ileri geri gidiyor fakat sağa sola giderken zorlanıyor zemin üzerinde kaldırınca sağ sol yapıyor 4 x1.5
    V arduinoya bağlı 4×1.5v 2adet ayrı l298ne bağlı

  26. Bluetotthu bagladiktan sonra ileri tusuna basıyorum. Motorlardan tık tık ses geliyor sonra da bağlantı kesiliyor. Lütfen yardim eder misiniz.

  27. Araç zemin üzerinde ileri geri gidiyor
    Fakat sağa sola dönüşlerde zorlanıyor
    Zemin nden kaldırınca sağ sola dönebiliyor nr yapmalıyım

    • Eğer aracı halı benzeri bir yüzeyde kullanıyorsanız motorların zorlanmasından kaynaklı olabilir. Bir ihtimal de pillerinizin zayıflamış olmasıdır.

    • Mümkündür. PuTTY gibi bir seri port terminali kullanarak araç üzerindeki modüle bağlantı kurabilir ve kodlarda yer alan ilgili ileri,geri vb. hareket komutlarını bilgisayarınızdan gönderebilirsiniz.

  28. merhabalar androıd telefon uygulamasını kendin mi yaptın
    kendin yaptıysan hangi programla yaptın yardımcı olabilirsen sevinirim

    • Arduino UNO ile Nano’nun üzerindeki mikrokontrolcüler birebir aynı olduğu için sorunsuz çalışacaktır.

  29. sağolun sorunuçözdüm fakat yaptığım araç hem çizgi izliyor hemde engelden kaçıyor hemde normal sürüş yapabilmemisağlıyor fakat engelden kaçma moduna aldığım
    zaman sadece 1 kez engel algılayıp ileri gidiyor çizgi izleme moduna da öyle sadece son durumu devam ettiriyor lütfen yardım edin kodları yapıştırıyorum
    /*************************************
    my car v2
    *added
    *bluetooth
    *çizgi izleyen sensör(çizgi izleme)
    *ultrasonik sensör (engelden kaçan robot mode)
    *normal mode
    *2 wd şaşeden 4wd şaşe ye geçildi
    *rechargeable battery(pil ömrü yükseltildi)
    *
    */

    //not en altta fonksiyon lar yazılmıştır

    #include

    SoftwareSerial myserial(2,4);

    #define in1 10
    #define in2 11
    #define in3 8
    #define in4 9
    #define SensorSol 6
    #define SensorOrta 5
    #define SensorSag 3
    #define trigPin 12
    #define echoPin 13

    long sure,uzaklik;
    void setup() {
    myserial.begin(9600);
    Serial.begin(9600);

    pinMode(in1,OUTPUT);
    pinMode(in2,OUTPUT);
    pinMode(in3,OUTPUT);
    pinMode(in4,OUTPUT);
    pinMode(SensorSol,INPUT);
    pinMode(SensorOrta, INPUT);
    pinMode(SensorSag, INPUT);
    pinMode(trigPin,OUTPUT);
    pinMode(echoPin,INPUT);

    }

    void loop() {
    if(myserial.available()){
    char data = myserial.read();
    Serial.println(data);

    if(data ==’w’){
    ileri();

    }// bitiş

    if(data == ‘s’){
    geri();

    }// bitiş

    if(data==’a’){
    sol();

    }// a bitiş

    if(data==’d’){
    sag();

    }// d bitiş

    if(data==’e’){
    dur();

    }// e bitiş

    // buraya kadar sıkıntım yok

    switch(data){

    case ‘l’://burası nda hata var seri porttan(telefondan) l verisi gönderinice 1 kere yapıyor sonra son durumunda kalıyor

    cizgi();

    case’u’: //burası nda hata var seri porttan(telefondan) u verisi gönderinice 1 kere yapıyor sonra son durumunda kalıyor
    ultra();

    }

    //

    }

    }

    void ileri(){
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);

    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);

    }

    void geri(){

    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);

    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);

    }

    void sag(){

    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);

    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);
    }

    void sol(){

    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);

    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
    }

    void dur(){

    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);

    digitalWrite(in3, LOW);
    digitalWrite(in4, LOW);

    }

    void cizgi(){

    if(digitalRead(SensorSol) ==0 && digitalRead(SensorOrta) == 1 &&digitalRead(SensorSag)==0){

    ileri();
    }

    if(digitalRead(SensorSol) ==0 && digitalRead(SensorOrta) == 0 &&digitalRead(SensorSag)==1){

    sag();

    }

    if(digitalRead(SensorSol) ==1 && digitalRead(SensorOrta) == 0 &&digitalRead(SensorSag)==0){

    sol();
    }

    }

    void ultra(){
    //ne garip ki hocam araça engeli görünce geri ye gitmesi gerekirken engele doğru gidiyor
    digitalWrite(trigPin,LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin,HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin,LOW);

    sure =pulseIn(echoPin,HIGH);
    uzaklik = sure /29.1/2;

    Serial.println(uzaklik);

    if(uzaklik<15){

    geri();
    delay(150);
    sag();
    delay(250);
    }
    else{
    ileri();
    }

    }

    TELEFON ÜZERİNDEN U YA BSINCA HEP ENGELDEN KAÇSIN İSTİYORUM AMA SADECE 1KERE YAPIYOR

    • Selam, kodda yer alan int vSpeed=255; satırından hız sınırını belirleyebilirsiniz. 0 ile 255 arasında değer verebilirsiniz, 255 maksimum hıza denk düşecektir.

      • Teşekkürler cevap verdiğiniz için.
        Fakat uygulamada hızı ortaya aldığımız zaman orta hızda,düşükde düşük hızda veya en yüksekde en hızlı yapmam gerek.Bunda ne yapmalıyım?

  30. Meraba ben vb kodu kullandım arduino koduda yazdım ama benim 2 tekerim çalışıyo acaba nedeni nedir yardımcı olur musunuz?
    Ben bu kodu kullansam 4 tekerimde çalışır mı?

  31. Yada sağ taraftaki örneğin 1.tekerlikteki siyah kabloyu sağ motordaki 2. tekerlekte ki kırmızı kabloyu birleştirip bir yere mi takacaz

    • Her iki motorun da aynı yönde dönmesini sağlayacak şekilde sağ ve sol taraftaki motor çiftlerinin kablolarını paralel şekilde birleştirmeniz gereklidir. Kablo renkleri her zaman doğru olmayabilir.

  32. bağlantıları eksiksiz yapıyorum, kodlar sorunsuz yükleniyor, bluetooth bağlantısı sorunsuz bağlanıyor, ancak telefondaki uygulamadan komut verince motorlarda hiç hareket yok. 2-3 kişi daha aynı problemi yazmış, bir çözümü var mı? ya da test yöntemi?

  33. Arduino için gerekli olan herşeyi yaptım kodlarda yukledim ama ileri tuşuna basinca gitmiyor cevap verirmisin iz acill.

  34. Her yolu denedim ileri arka gayet normal çalışıyor sağa sola döndüremiyorum en ufak tüyo verirseniz halledecem acil yardım istiyorum ?

  35. Merhaba hocam Fizik projesi için baktım.Hocamız güzel proje getirene bütün sınav notları yüz dedi.Bunu yapmak istiyorum ancak daha detaylı bir şekilde video aracılığı ile anlatırsanız çok mutlu olurum.

  36. arkaçdaşlar arduino powerbank ile beslemek istiyorum.yaptım ama bu sefer butun powerbak den alıyor. benimde istedigim tekerlekler pilden alsın arduino ise gücünü powerbankten alsın bu konu hakkında bana yardımcı olabilir misiniz

    • Arduino’nuzu powerbank yerine Vin pini veya adaptör girişini kullanarak 7-12V arası bir batarya ile beslerseniz hem Arduino’nuz çalışacak, hem de motorlar için gerekli gerilimi sağlamış olursunuz.

      • Bütün parçaları aldım gösterdiği gibi bağladım kodu koplayıp arduino karta attım ışıklar yanıyor ama hareket yok. Tek fark motor sürücüyr 9v pilden ayrıca güç verdim. O kadar masraf yapıp olmaması insanın hevesini kırıyor.

    • Öncelikle setup fonksiyonunda ek olarak LED’leri bağlayacağınız pinleri çıkış olarak tanımlayın. Daha sonra loop fonksiyonu altındaki “//Gelen veri ‘S’ ise arabayı durdur.” kısmının altında digitalWrite(ledpin, HIGH) komutu ile LED’lerin sadece araç durduğunda yanmasını sağlayın. Bu durumda bir kere aracı durdurmanız halinde stoplar sürekli yanacaktır. Diğer fonksiyonlarda digitalWrite(ledpin, LOW) satırlarını eklerseniz bu durumun önüne geçersiniz. Ön farlar için de benzer şekilde ileri fonksiyonuna ekleme yapabilirsiniz.

  37. Merhaba proje için teşekkürler çok işime yaradı fakat uygulamadaki on far ve arka far eklemem lazım 2şer tane ve birde buzzer nasıl ekleyebilirim rica etsem cevaplayabilir misiniz

    • Projede PIC değil, Arduino kullanıyoruz. Ayrıca hex dosyasına ihtiyacınız yok, kodları Arduino IDE üzerinden yükleyebilirsiniz.

  38. Bluetooth bağlantısı yön komutunu verince kesiliyor ve o komut işlemeye devam ediyor. Sebebi nedir? Yardımcı olur musunuz 2 gün sonra fuarımız var

  39. Ben 2 motor + 1 sarhoş teker kullandım da kod üzerindeki değişiklikleri nasıl yaparım kodları baştan mı yazmalıyım??

    • Değişiklik yapmanıza gerek yoktur. Bu projede kullandığımız motor sürücü 2 adet çıkışa sahiptir, sağ tarafta yer alan iki motoru paralel bağlayarak tek motor gibi kullanıyoruz. Siz tek motor kullandığınız için herhangi bir değişiklik olmayacaktır, sağ ve sol çıkışlara ayrı motorları takarak sorunsuzca kullanabilirsiniz.

  40. Merhaba, benim hc-05 te uygulama uzerinden gelen veriler numerik. Yani mesela F gelmesi gerekirken 68 geliyor gibi. Yazinizdaki sekilde eslestirebilmem icin bluetooth charset’ini mi degistirmem gerekiyor. Ne yapmaliyim.?

    • Almış olduğunuz veri hexadecimal, yani onaltılık sayı tabanında gösterilmektedir. Int (integer, tamsayı) şeklinde dönüştürerek veya doğrudan kullanabilirsiniz.

  41. öncelikle anlatım için teşekkürler. anlatımda motor sürücüden arduino üzerine gnd bağlanması gerektiği söylenmemiş. Uygulamayı yaptım çalışmadı,başka projelerden öğrenerek gnd bağlantısı yaptım ve çalıştı.

    bir sorum olacak. 2.bir motor sürücü daha bağlamam gerekli. bunu kumandada yer alan led konutlarına bağlamam gerekecek. sürücüden tek çıkış kullanmam gerekli. Ön farları aktif yaptığımda motor saat yönünde, arka ledleri aktif yaptığımda saat yönünün tersine dönmesini istiyorum.

    • Pil yuvasının adaptör çıkışı şeklide çıkışı mevcutsa Arduino’nunzu buradan çalıştırıp Vin pininden motor sürücünün +12V bağlantısına bağlantı yapabilirsiniz.

  42. Merhabalar. HC-06 modül aygıtını 2 gün önce sizden aldım kargo bugün geldi. Ama şöyle bir sorunum var. Ben bütün kodları giriyorum. Bağlantıları yapıyorum. HC-06 modülünde kırmızı ışık yanıp sönüyor fakat bluetooth üzerinde aygıt gözükmüyor. Bağlantıları kontrol ettim yanlış olduğunu düşünmüyorum. Sorun aygıtta olabilir mi ?

    • Merhabalar. Bu modüller bazen Bluetooth taramasında uzun süre beklediğiniz durumda çıkıyor, anlattıklarınıza göre modüle güç gitmekte. Arama ekranında biraz daha uzunca bir süre beklemeyi deneyebilirsiniz.

  43. Modeli söküp bastan yapmaya basladim ve motorlar diktorgen pil ile çalışmıyor sadece kalem pil ile çalışıyor ama kalem pil in gucu herseye yetmiyor nedeni nedir?

  44. 6 li kalem pil yuvasini koydum fakat yine çalışmadı. Her sey tamam butun kablolari test ettim her yere elektrik gidiyor bluetoothla baglaniyor bekliyorum fakat harek etmiyor neden? Ve ne yapmaliyim?

    • dostum aynı sorun bendede var hata payı bırakmadım ancak hareket yok ilge abi rica ederim lütfen bizi yarı yolda bırakma sizin yolunuzdan gidiyoruz

  45. Ben aynı malsemere bir ultrasonik sensor ekleyip blueoothu cikardim ve engelden kacan araba kodu yukleyip calistirdim her sey calisiyor sikinti bluetooth modulunun komit vememesinde galiba yani tx ve rx bu sorunu nasil çözebiliriz

  46. Lütfen acil cevap siz 4 tekerlekli platform kullanmışsınız biz 2 tekerlekli kullansak olurmu olmazsa ne yapmamız gerekir ? aynı kodu mu yazalım?

    • Sağ ve sol taraftaki 2’şer motorlar tek motor gibi bağlandığı için 2 motorlu robotlarınızda kodu değiştirmeden birebir olarak kullanabilirsiniz.

    • Sağ ve sol taraftaki 2’şer motorlar tek motor gibi bağlandığı için 2 motorlu robotlarınızda kodu değiştirmeden birebir olarak kullanabilirsiniz.

  47. Merhaba
    Bluetooth modülü bugün geldi. Bağladım robotuma sıkıntısız çalıştı. Sabahtan beri kedilerim robot la oynuyor emeğinize sağlık. Bu robotumun önüne Micro servo lu bir elcik takıp aynı RC programın ön far yakma/kapama fonksiyonu ile kullanmak istiyorum. Olabilir sanırım fakat kodda emin olamadım. Öneriniz olabilirse çok seviyim. Teşekkürler.

    • Merhabalar. Bahsettiğiniz şekilde bağlayabilirsiniz, anlatımdakinden hiçbir farkı olmayacaktır. 9V pilleri tercih etmememizin sebebi, boyutlarının küçük olması sebebi ile çok düşük kapasite sunmalarıdır.

  48. arduinoyla l298n enerji girişlerini ayırmak istiyorum gnd leri aynı yapmam gerekirmi yada şuraya dikkat et diyebileceğiniz bişey varmı

  49. verdiğiniz örnek kodlarda mantık hatası var çapraz sağa ve sola dönüşler de yavaş dönmesini istediğiniz tekerleklere sabit 100 pwm hız vermişsiniz diğer tekerleklere ise vspeed değişkenine atanan hız değerini girmişsiniz stade değişkeni 1 olursa vspeed 100 olacak bu durumda asla çapraz sola veya çapraz sağa gitmez biraz daha yavaş olaak ileriye veya geriye gider yavaş dönmesini istediğimiz tekerlek için vspeed/2 denilebilir.

  50. Araba kodları falan herşey tamam çalışıyor ama bazen bağlantı kopuyor en ufak çarpmada ya da hafif titremede bile asfalt yolda kullanamıyorum neredeyse hc-06 dan mı kaynaklı yoksa farklı birşey mi yardım edin lütfen

  51. 2 tekerli yaptim fakat tekerlerin biri cok zor döndü birisi de hiç dönmedi. Tumnbaglantilari doğru yaptigimda eminim yine de olmuyor.

  52. Üstadım selamlar
    Projelerinizle alakalı makaleleri hazırlarken güç kaynaklarına da değinirseniz; çok daha faydalı olacağı kanaatindeyim.
    Arduino bağlantıları, l298 bağlantıları her şey tamam ama çoğu arkadaş aynı şeyleri yapmasına rağmen projelerini çalıştıramıyor.
    Anlatımda eksiklik olduğunu düşünüyorum.
    Saygılar…

  53. merhaba,

    bluetooth bağlantısı ok. uygulamadan ileri desem de aynı yöne geri desem de aynı yöne gidiyor. sağ sol durumu da aynı. hep aynı yöne dönüyor. motor bağlantılarını kontrol ettim. sorun nerede olabilir?

  54. merhaba ben suat
    merhaba bende AT-09 bluetooth modülü var bu modülle bluetooth kontrollu araba yapılırmı ve kodlar değişirmi
    HC-06 modül ile arasındaki fark nedir

  55. merhaba. L298N 9 volt pille çalıştırdım çok dayanmadı. bende 2 tane 18650 pil kullandım. pil artı ucunu L298N 12v, eksi ucunu L298N GND YE bağladım. L298N 5v ve gnd yi de arduino ya bağladım. 5 dk çok güzel çalıştı. sonra pil yatağından duman geldi. şimdi L298N ışığı yanıyor ama tekerler dönmüyor yenisini mi alayım.L298N Kart yandı mı ne oldu acaba.
    birde sanırım bir yere direnç mi bağlamam lazım akım fazla mı geldi. L298N için dirençli bir devre resmi paylaşır mısınız yada maile açıklarmısınız? yada bu işi nasıl yapmalıyım. teşekkürler
    ezgi.bayram@hotmail.com

  56. iyi günler biz bütün bağlantıları yapıyoruz arduinoya kodumuzu atıyoruz herşey tamam telefona uygulamayıda indirdik bağlanıyoruz bluetooth a bağalndığımızda yanıp sönen kırmızı ışık sabit kalıyor fakat aracı hareket ettirmek için herhangi bir tuşa bastığımızda bağlantıdan çıkıyor bunu nasıl halledebiliriz lütfen biri yardım edibelir mi ?

  57. Merhaba, biz 9 volt dikdörtgen 12 volta taktım ve arduino adaptör girişinde 9 volt taktım kdolarda dogru yaptım hc 06 bluetooth telefoa bagladık ama olmuyor nasil yapabiliriz yardımcı olursanız seviniriz

  58. ARKADAŞLAR MERHABA ÖNCELİKLE BUNLARI SONUNA KADAR YAPTIM VE ÇALIŞMADI DEMENİZ NORMALDİR ÇÜNKÜ DC MOTORLARI 9+6V YA DA 2 TANE 9V PİL KULLANARAK ÇALIŞMASINI SAĞLAYABİLRİSİNİZ AMA BENCE 2 TANE 9V PİLİKULLANMANIZDIR.
    VE EN ÖNEMLİSİ ARDUİNO GND DEN L298N SÜRÜCÜ KARTI GND BİR KABLO ÇEKMENİZDİR AKSİ TAKDİRDE ÇALIŞMAZ.
    BU DEDİKLERİNİ YAPIP ARDINDAN DEDİKLERİMİ YAPARSANIZ ÇALIŞMAMASI MUCİZE OLABİLİR 🙂

    Çalıştıktan sonra belirtirseniz sevinirim

  59. kodlar çalışıyor. motorların hareket etmemesi ve bağlantının sürekli kopması pil gücünün zayıflığından sanırım aynı sorunlar bende de oldu. deneme amaçlı ardunioyu adaptorle ve usb ile bilgisayardan aynı anda beslediğimde kopma olmadı gayet iyi çalıştı. sisteme daha uygun ve güçlü bir pil yatağı alıp kablolardan kurtulacağım 🙂

  60. Anlamadigim nokta motorlar surucuye ikiserli baglandigi halde herbirine farkli bilgiyi nasil gonderiyoruz. Tamam gonderiyoruzda surucu on ve arka arka tekerler icin farkli deger nasil aliyor paralel bagli oldugu halde.

  61. merhaba L298 modülünü motorlara bağlarken mesela üst taraftan çıkmış kablo sonra kablo ikeye bölünüp 2 motorada ulaşmış nasıl böleceğiz kabloyu öyle

  62. tum baglantıları yaptım. bluetooth baglantısı kısa surede kopuyo. birde ardunıo yu bilgisayardan ayırdıgım zamancalışmıyo. sorun nedır? yardımcı olabilirmisisniz

  63. Hocam aldım malzemeleri yaptım aynısı oldu hiç abartmıyorum enaz 10 kere yapmaya çalıştım belki yanlış yaptım dedim şöktüm geri taktım ama olmuyor.bluetooth bağlanıyor ama motor ileri geri yapmıyor

  64. Bluetooth bağlantısını yapmayı başardım. Bir motoru bağlayınca çalıştırıyor; ancak ikinci motoru ve daha falzasını bağladığım zaman çalıştırmıyor. ABİCİM PARAYA YAZIK NASIL ÇALIŞTIRICAM BEN BUNU CEVAP YAZ BURAYA. TEK MOTORU ÇALIŞTIRIYOR DİĞERLERİNİ BAĞLAYINCA ÇALIŞTIRMIYOR. !!!

  65. Bluetooth ile telefon da program bağlı iken arduino kartında TX ışığı yanıp sönüyor ve telefondan komut verince otomatik bağlantı kopuyor. Acil yardım lütfen önemli. Teşekkürler.

  66. merhaba,
    bu projenin breadboarda monteli halini hiçbir yerde bulamadım. kendim de fritzingde yapamadım. yardımcı olursanız çok sevinirim.
    teşekkürler.

  67. Herşeyi birebir uyguladım telefonla bluetooth bağlandı uygulamayida indirdim girdim herhangi bir komut almıyor yardımcı olur musunuz lütfen

  68. Abi ben bu işlerden pek anlamıyorum ama bende yapmaya çalışıyorum benim sıkıntım ben 2 tekerlekli bir şey yaptım senin verdiğin yazılım 4 tekerlekli için bana bir yardımcı olsan sana sahmet

  69. Merhaba ben bu projeyi 2 tekerlekli olarak yaptım 9v pil ile çalıştırdım fakat bir sıkıntı var tekerlerim yavaş dönüyor neredeyse hiç dönmüyor sıkıntı nedir sizce
    Not bir şey gözlemledim telefondan ileri yada geri tuşuna bastığımda motor sürücü kartındaki kırmızı ışıkart birazdaha az ışık vermeye başlıyor

    • Merhaba, projedeki problem muhtemelen güç sıkıntısı. 9V pil aracı tam performansla kısıtlı bir süre çalıştıracaktır. Yazıdaki gibi 6 adet AA kalem pil kullanmak performans açısından 9V pile göre daha verimli oluyor. Ayrıca lipo pil de kullanabilirsiniz.

  70. Arkadaşlar bazıları hareket etmediğini ya da bluetooth koptuğundan bahsetmiş.
    Site buna açıklık getirmemiş. Bende de aynı sorun oldu ve bir uzmana sordum cevap aldım.
    Sorun sadece pillerden kaynaklanıyor. Yani l298n motor sürücüsü fazla akım çektiği için gerilim düşüyor yani pil yeterli gelmiyor.
    Peki ne yapmanız gerek güçlü pil kullanmalısınız, belki LİPO pil olabilir.
    Ben direk 5v bir traş makinası şarj aletini bağladım çalıştı. Pil ile çalışmamıştı şarj aleti ile çalıştı. Çünkü 1A veriyordu.
    Uzman arkadaş LiPO pil olur dedi.
    Kolay gelsin.

    • Merhaba, 2wd olan kitle de yapabilirsiniz. Fakat motor sayısı azalacağı için kodda düzenleme yapmanız gerekiyor.

  71. burayı anlamadım yardımcı olurmusunuz

    pinMode(in1,OUTPUT);
    pinMode(in2,OUTPUT);
    pinMode(in3,OUTPUT);
    pinMode(in4,OUTPUT);
    pinMode(SensorSol,INPUT);
    pinMode(SensorOrta, INPUT);
    pinMode(SensorSag, INPUT);
    pinMode(trigPin,OUTPUT);
    pinMode(echoPin,INPUT);

  72. merhaba
    çift motorlu sürücü kartına dört motor bağlama şeklinde sıkıntı var mı
    ben bağladığımda bir süre sonra motorlar takılıyor
    sola tıkladığımda sürekli sola dönüyor

  73. Merhaba . Acaba hengi kısımları değiştirmemiz lazım ? Kodlama kısmında sıkıntı yaşıyorum . Yardımcı olabilir misiniz ? Ayrıca 2 motoru 9V pille arduinoyu ayrıca 9V pille beslersek sorun olur mu ?

  74. Merhaba hocam. Ben böyle bir araç yapacam ancak bluetooth ile haberleşme olmadan, kontrol kartı nodemcu gibi küçük ve (nodemcu gibi ama bluetooth’lu değil, tuşlu) tuşlu olacak. 4 yön tuşu bir tane başla tuşu ve birtane de sistemi aç kapa tuşu. Bunu nasıl yapabilirim yardımcı olursanız çok sevinirim.

  75. Allahını seven yardım etsin proje günü geldi 10 gündür arabayı toplayamadım sağ ve sol grubu artı eski olarak ayırıp l298n e takıyorum kodu yüklüyorum. ilk yapmamda çalıştı fakat yönler sıkıntılıydı kablo bağlantısı hatalı diye söktüm, bu sefer komple gitti ardından l298n de sıkıntı olabilir diye kontrolsüz bir şekilde program hıgh low yaparak sürücüyü denedim sürücü sağlam hc06 sağlam arduino sağlam sıkıntı neredeee peki sizcee sürücü ve arduino arasındaki haberleşmeyi sürücüyü beslediğim 12v guc kaynagından arduinoyu besliyerek yapıyorum

  76. Merhaba. Bu projede örneğin telefondan 1 tuşuna basınca ileri git 0 a basınca dur gibi konutlar var. Ben tuşa basılı tuttuğum sürece ileri gitsin bıraktığım zaman dursun istiyorum bunun için ne yapmam lazım

  77. Merhaba, Ben en baştaki kodları kullanarak bluetooth kontrollü araç yaptım ve çalıştırdım. Bunun üzerine birde mesafe sensörü ile de aracın belli mesafede bir cisme yaklaştığında durmasını istiyorum, bu mümkün müdür? Bunun için en baştaki kodların neresine hangi kodları eklemem gerekiyor? Mesafe sensörünün bağlantı şemasını ve kodlarını gönderir misiniz?

  78. Merhaba, Arduino nano kullanıyorum. Bluetooth modülüne bağladığımda ve komut verdiğimde RX yanarken TX yanmıyor sebebi ne olabilir ?

  79. Arduino 4WD Araç Seti Bluetooth kontrollü aracı topladım ve çalışıyor. Birde mesafe sensörü ile de aracın belli mesafede bir cisme yaklaştığında durmasını istiyorum ve bu projeye eklemek istiyorum. Aracın montajı, devre şeması ve kodlama sistemi ile bana yardımcı olur musunuz?

  80. Merhaba ben sizin projenizi yaptım ve çalıştı sorunsuz ama ben bu araca park sensörü ve led koydum yani geri giderken engele yaklaştığında ledler yanarak buzzer ötecek. bu kodları yazdığımda aracın telefondan geri tuşuna bastığımda sürekli geri gidiyor. halbuki ileri bastığımda ve elimi kaldırdığımda duruyor ama geri bastığımda elimi kaldırsam da gidiyor 4 sn falan. bunun önüne nasıl geçebilirim size kodumu da yolluyorum.
    NOT: ileri-geri sağ sol komutlarını bağlantılarıma göre değiştirdim kodlarda sorun yok.

    int ledsol =2; // en sol 11. pine – “ledkirmizi” ismiyle,

    int led2 =3; // soldan 2. 10. pine – “ledsari” ismiyle,

    int led3 =4; // soldan 3. 9. pine – “ledyesil” ismiyle,

    int ledson =7; // en son 8. pine – “ledmavi” ismiyle,

    int buzzer =13; // Buzzer 2. pine – “buzzer” ismiyle atandı.

    int trigger_pin =8; // HC-Sr04 Trig pini 13. pine – “trigger_pin” ismiyle,

    int echo_pin =12; // HC-Sr04 Echo pini 12. pine – “echo_pin” ismiyle atandı.

    int sure, mesafe;

    /*
    `://////////////////////////////-`
    -/////////::////////////:://///////-
    ://///-` `://////:` `-/////:
    :////..:///:. `////`.:///:. .////:
    :////:///////- ////////////- ////:
    :///++///////: `////////////- `////:
    ://///-.////-`.//////.-////-`-/////:
    :////////::-:///////////::-:///////:
    -//////////////////////////////////-
    -////////////////////////////////-
    `——::////////////////////////////::——`
    :/–////////////////////////////////////////–/-
    `:/:://::::::://////////////////////::::::://::/:`
    ./////- `////////////////////////` -/////.
    ./////- `//////////////////////////` -/////.
    ./////- `////////////////////////////` -/////.
    ///////: `//////////////////////////////` :///////
    ////////`////////////////////////////////`////////
    //////////////////////////////////////////////////
    —.—.//////////////////////////////////.—.—
    .://////////////////////////////:.
    `-:///////:::::::::::::..:::::::::::::///////:-`
    ://////////////////////////////////////////////:
    ://////////////////////////////////////////////:
    ://////////////////////////////////////////////:
    .//////////////////////:://///////////////////*/

    //L298N Bağlantısı
    const int motorA1 = 5; // L298N’in IN3 Girişi
    const int motorA2 = 6; // L298N’in IN1 Girişi
    const int motorB1 = 10; // L298N’in IN2 Girişi
    const int motorB2 = 9; // L298N’in IN4 Girişi

    int i=0; //Döngüler için atanan rastgele bir değişken
    int j=0; //Döngüler için atanan rastgele bir değişken
    int state; //Bluetooth cihazından gelecek sinyalin değişkeni
    int vSpeed=255; // Standart Hız, 0-255 arası bir değer alabilir

    void setup() {

    pinMode(ledsol, OUTPUT);

    pinMode(led2, OUTPUT);

    pinMode(led3, OUTPUT);

    pinMode(ledson, OUTPUT);

    pinMode(buzzer, OUTPUT);

    pinMode(trigger_pin, OUTPUT); // Dışarıya ses dalgasını gönderir (ÇIKIŞ)

    pinMode(echo_pin, INPUT);
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
    }

    void loop() {
    /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
    (Aktif etmek için alt satırın “//” larını kaldırın.)*/
    // if(digitalRead(BTState)==LOW) { state=’S’; }

    //Gelen veriyi ‘state’ değişkenine kaydet
    if(Serial.available() > 0){
    state = Serial.read();
    }

    /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == ‘0’){
    vSpeed=0;}
    else if (state == ‘1’){
    vSpeed=100;}
    else if (state == ‘2’){
    vSpeed=180;}
    else if (state == ‘3’){
    vSpeed=200;}
    else if (state == ‘4’){
    vSpeed=255;}

    /***********************İleri****************************/
    //Gelen veri ‘F’ ise araba ileri gider.
    if (state == ‘B’){{

    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

    }

    digitalWrite(trigger_pin, HIGH);

    delayMicroseconds(100);

    digitalWrite(trigger_pin, LOW);

    sure = pulseIn(echo_pin, HIGH);

    mesafe = (sure/29.1) / 2;

    if ((mesafe >= 0) && (mesafe =12) && (mesafe =18) && (mesafe =30) && (mesafe < 45)) // Eğer 50 cm ve daha az bir mesafede engel var ise

    {

    digitalWrite(ledsol, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(ledson, HIGH);

    digitalWrite(buzzer, HIGH);

    delay(100);

    digitalWrite(led3, LOW);

    digitalWrite(ledson, LOW);

    digitalWrite(buzzer, LOW);

    delay(500);

    }

    else

    {

    digitalWrite(ledsol, LOW);

    digitalWrite(led2, LOW);

    digitalWrite(led3, LOW);

    digitalWrite(ledson, LOW);

    digitalWrite(buzzer, LOW);

    delay(100);

    digitalWrite(ledson, LOW);

    digitalWrite(buzzer, LOW);

    delay(1000);
    }
    }

    /**********************İleri Sol************************/
    //Gelen veri 'G' ise araba ileri sol(çapraz) gider.
    else if (state == 'J') {
    analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
    analogWrite(motorB1, 100); analogWrite(motorB2, 0);
    }
    /**********************İleri Sağ************************/
    //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
    else if (state == 'H') {
    analogWrite(motorA1, 100); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
    }

    /***********************Geri****************************/
    //Gelen veri 'B' ise araba geri gider.
    else if (state == 'F') {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
    /**********************Geri Sol************************/
    //Gelen veri 'H' ise araba geri sol(çapraz) gider
    else if (state == 'I') {
    analogWrite(motorA1, 0); analogWrite(motorA2, 100);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
    /**********************Geri Sağ************************/
    //Gelen veri 'J' ise araba geri sağ(çapraz) gider
    else if (state == 'G') {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, 100);
    }
    /***************************Sol*****************************/
    //Gelen veri 'L' ise araba sola gider.
    else if (state == 'R') {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }
    /***************************Sağ*****************************/
    //Gelen veri 'R' ise araba sağa gider
    else if (state == 'L') {
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
    }

    /************************Stop*****************************/
    //Gelen veri 'S' ise arabayı durdur.
    else if (state == 'S'){
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }

    }

  81. bluetooth ta sorun yaşayan arkadaşlar baglatıda kesinlikle gelirim bölücü kullanmak zorunda gnd ile tx arası 2 k tx ile +5 arası 1k yapabilirler iyi çalışmalar

  82. buda benden olsun ama kesin dikkat etmeniz gereken blutooth modülün rx tx pininde gelirim bölücü kullanmak zorundasınız //L298N Bağlantısı
    const int motorA1 = 5; // L298N’in IN3 Girişi
    const int motorA2 = 6; // L298N’in IN1 Girişi
    const int motorB1 = 10; // L298N’in IN2 Girişi
    const int motorB2 = 9; // L298N’in IN4 Girişi

    int i=0; //Döngüler için atanan rastgele bir değişken
    int j=0; //Döngüler için atanan rastgele bir değişken
    int state; //Bluetooth cihazından gelecek sinyalin değişkeni
    int vSpeed=255; // Standart Hız, 0-255 arası bir değer alabilir
    int ledfar=4;
    int ledarka=7;
    int buzzer=8;

    void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
    pinMode(ledfar, OUTPUT);
    pinMode(ledarka, OUTPUT);
    pinMode(buzzer, OUTPUT);
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
    }

    void loop() {
    /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
    (Aktif etmek için alt satırın “//” larını kaldırın.)*/
    // if(digitalRead(BTState)==LOW) { state=’S’; }

    //Gelen veriyi ‘state’ değişkenine kaydet
    if(Serial.available() > 0){
    state = Serial.read();
    }

    /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == ‘0’){
    vSpeed=0;}
    else if (state == ‘1’){
    vSpeed=100;}
    else if (state == ‘2’){
    vSpeed=180;}
    else if (state == ‘3’){
    vSpeed=200;}
    else if (state == ‘4’){
    vSpeed=255;}

    /***********************İleri****************************/
    //Gelen veri ‘F’ ise araba ileri gider.
    if (state == ‘F’) {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

    }

    //Gelen veri ‘W’ ise önled açar.
    if (state == ‘W’) {
    digitalWrite(ledfar, HIGH);
    }
    //Gelen veri ‘w’ ise önled kapar.
    if (state == ‘w’) {
    digitalWrite(ledfar, LOW);
    }
    //Gelen veri ‘U’ ise arkaled açar.
    if (state == ‘U’) {
    digitalWrite(ledarka, HIGH);
    }
    //Gelen veri ‘u’ ise arkaled kapatır.
    if (state == ‘u’) {
    digitalWrite(ledarka, LOW);
    }
    //Gelen veri ‘V’ ise ses açar.
    if (state == ‘V’) {
    digitalWrite(buzzer, HIGH);
    }
    //Gelen veri ‘v’ ise ses kapar.
    if (state == ‘v’) {
    digitalWrite(buzzer, LOW);
    }
    /**********************İleri Sol************************/
    //Gelen veri ‘G’ ise araba ileri sol(çapraz) gider.
    else if (state == ‘G’) {
    analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
    analogWrite(motorB1, 100); analogWrite(motorB2, 0);

    }
    /**********************İleri Sağ************************/
    //Gelen veri ‘I’ ise araba ileri sağ(çapraz) gider.
    else if (state == ‘I’) {
    analogWrite(motorA1, 100); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);

    }
    /***********************Geri****************************/
    //Gelen veri ‘B’ ise araba geri gider.
    else if (state == ‘B’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

    }
    /**********************Geri Sol************************/
    //Gelen veri ‘H’ ise araba geri sol(çapraz) gider
    else if (state == ‘H’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, 100);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);

    }
    /**********************Geri Sağ************************/
    //Gelen veri ‘J’ ise araba geri sağ(çapraz) gider
    else if (state == ‘J’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, 100);

    }
    /***************************Sol*****************************/
    //Gelen veri ‘L’ ise araba sola gider.
    else if (state == ‘L’) {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);

    }
    /***************************Sağ*****************************/
    //Gelen veri ‘R’ ise araba sağa gider
    else if (state == ‘R’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);

    }

    /************************Stop*****************************/
    //Gelen veri ‘S’ ise arabayı durdur.
    else if (state == ‘S’){
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);

    }
    }

  83. bu projeyi 4 pil ile yaptım çünkü 4tane pil yuvası vardı bağlantıları aynen yaptım fakat araç sol sağ yapıyor ileri geri yapmıyor neden kaynaklanıyor olabilir?

    • Merhaba, arabayı ileri ve geri yaptığınızda diğer durumlara göre daha fazla güç çektiğiniz için pilin sağladığı güç yetmiyor olabilir. Uzun süreli ve daha sağlıklı kullanım için pil sayısını arttırabilir veya başka bir güç kaynağı bağlayabilirsiniz.

  84. Arkadaşlar acil herşeyi bağladım bluetooth sorunsuz çalışıyo ama motorlar hareket etmiyo motor sürücü kartım hw95
    Nolur yardım edin

  85. Merhaba
    aynı araç kitini driver kullanmadan, transistör ile yapmak istiyorum fakat bunun için arduino uno yeterli olur mu?

  86. hocam merhaba . Herkeste aynı sorun var ama bu soruna cevap vermemişsiniz. Herşey tamam araç çalışıtor pc bağlantısında sorunsuz çalışıyor ama pille bağlantıya geçince bt bağlantısı kopuyor .acilen bu konuda yardımcı olursanız sevinirim .

  87. ya hocam kodları sade yanına ne olduğu yazmasın normal kodlarmış gibi dümdüz şekilde normal kodları verebilirmisiniz

  88. Çok acil yardımcı olursanız çok sevinirim , herşey bağlantısı tam olarak yaptım farklı olarak sadece arduinoya gücü farklı bir pilden yeticek kadar veriyorum , bluethoot modülü falan herşey çalışıyor fakat telefondan bağlamaya kalkınca bluethoot erişimi reddetti diyor sürekli olarak şimdiden teşekkürler

  89. Abi herşeyi tatamladım hc-06 koddan sonra dediginiz gibi yanıp sönüyor telefona baglayınca sürekli yanıyor felan ama hiçbir belirti vermiyor robot ne yapmam lazım yardımcı olabilirmisin

    • Merhaba, bağlantıları yaptık ama araçta hiç hareket ya da motor sesi vs yok. bluetoothe ile bağlantı sağlantığına eminiz çünkü serial monitörle kontrol ettik hangi düğmelere basıldığını yazıyor. motor kablo lehimimize güvenemedik 4-5 kere lehimledik ama sonuç aynı. biri ön motorları out1-2 ye. arka motorları 3-4 e bağlayın demiş onu da denedik olmadı. neden kaynaklanıyor olabilir? fikrinizi paylaşırsanız oraya yoğunlaşalım tıkandık kaldık 🙁

  90. bluetooth kontrollü araba için verilen kodları yükledim. bağlantıları da yaptım fakat tekerlekler hareket etmiyor.

    bunun sebebi ne olabilir 9v pil yeterli mi sizce( 4 tekerlekli ). bir de state değişken türü char olması
    gerekmiyor mu ?
    cevap verirseniz sevinirim.

  91. kodu çalışmayan arkadaşlar şu kodu denesin :

    #define motorA1 5
    #define motorA2 6
    #define motorB1 10
    #define motorB2 9
    #define enA 3
    #define enB 11

    char state;
    char vSpeed = ‘4’;

    void setup() {
    Serial.begin(9600);
    pinMode(enA,OUTPUT);
    pinMode(enB,OUTPUT);
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
    }

    void loop() {
    if (Serial.available()){
    state = Serial.read();
    Serial.println(state);
    }
    if (state == ‘0’ || state == ‘1’ || state == ‘2’ || state == ‘3’ || state == ‘4’ || state == ‘5’ || state == ‘6’ || state == ‘7’ || state == ‘8’ || state == ‘9’){
    speedSet(state);
    Serial.println(“speed adjustment”);
    }
    switch (state){
    case ‘F’ :
    foward(vSpeed);
    break;
    case ‘G’ :
    leftCrossF(vSpeed);
    break;
    case ‘I’ :
    rightCrossF(vSpeed);
    break;
    case ‘B’ :
    goBack(vSpeed);
    break;
    case ‘H’ :
    leftCrossB(vSpeed);
    break;
    case ‘J’ :
    rightCrossB(vSpeed);
    break;
    case ‘L’ :
    left(vSpeed);
    break;
    case ‘R’ :
    right(vSpeed);
    break;
    case ‘S’ :
    Stop();
    break;
    }
    }
    void speedSet(char speedSelect){
    if (speedSelect == ‘0’){
    vSpeed=0;
    }
    else if (speedSelect == ‘1’){
    vSpeed=25;
    }
    else if (speedSelect == ‘2’){
    vSpeed=50;
    }
    else if (speedSelect == ‘3’){
    vSpeed=75;
    }
    else if (speedSelect == ‘4’){
    vSpeed=100;
    }
    else if (speedSelect == ‘5’){
    vSpeed=125;
    }
    else if (speedSelect == ‘6’){
    vSpeed=150;
    }
    else if (speedSelect == ‘7’){
    vSpeed=175;
    }
    else if (speedSelect == ‘8’){
    vSpeed=210;
    }
    else if (speedSelect == ‘9’){
    vSpeed=255;
    }
    }
    void foward(int Speed){
    analogWrite(enA,Speed);
    analogWrite(enB,Speed);
    digitalWrite(motorA1, HIGH);
    digitalWrite(motorA2, 0);
    digitalWrite(motorB1, HIGH);
    digitalWrite(motorB2, 0);
    }
    void leftCrossF(int Speed){
    analogWrite(enA,Speed);
    analogWrite(enB,100);
    digitalWrite(motorA1,HIGH );
    digitalWrite(motorA2, 0);
    digitalWrite(motorB1, 100);
    digitalWrite(motorB2, 0);
    }
    void rightCrossF(int Speed){
    analogWrite(enA,100);
    analogWrite(enB,Speed);
    digitalWrite(motorA1, HIGH);
    digitalWrite(motorA2, 0);
    digitalWrite(motorB1, HIGH);
    digitalWrite(motorB2, 0);
    }
    void goBack(int Speed){
    analogWrite(enA,Speed);
    analogWrite(enB,Speed);
    digitalWrite(motorA1, 0);
    digitalWrite(motorA2, HIGH);
    digitalWrite(motorB1, 0);
    digitalWrite(motorB2, HIGH);
    }
    void rightCrossB(int Speed){
    analogWrite(enA,Speed);
    analogWrite(enB,100);
    digitalWrite(motorA1, 0);
    digitalWrite(motorA2, HIGH);
    digitalWrite(motorB1, 0);
    digitalWrite(motorB2, HIGH);
    }
    void leftCrossB(int Speed){
    analogWrite(enA,100);
    analogWrite(enB,Speed);
    digitalWrite(motorA1, 0);
    digitalWrite(motorA2, HIGH);
    digitalWrite(motorB1, 0);
    digitalWrite(motorB2, HIGH);
    }
    void right(int Speed){
    analogWrite(enA,0);
    analogWrite(enB,150);
    digitalWrite(motorA1, 0);
    digitalWrite(motorA2, 0);
    digitalWrite(motorB1, HIGH);
    digitalWrite(motorB2, LOW);
    }
    void left(int Speed){
    analogWrite(enA,Speed);
    analogWrite(enB,0);
    digitalWrite(motorA1, HIGH);
    digitalWrite(motorA2, LOW);
    digitalWrite(motorB1, 0);
    digitalWrite(motorB2, 0);
    }
    void Stop(){
    digitalWrite(motorA1, LOW);
    digitalWrite(motorA2, LOW);
    digitalWrite(motorB1, LOW);
    digitalWrite(motorB2, LOW);
    }

  92. Bağlantıları yaptım yazılımı yaptım ardinio blouthoot ve motor kontrol modülü ne güç gidiyor ama araba ne ileri ne geri hiçbir türlü hareket etmiyor 3 tane 9 v pil kullandım belki güç yetmiyordur diye gene çalışmadı. Tekerlekleri sadece bağlıyınca tekerlekler dönüyor. Ama modüllerle dönmüyor sizce neden

  93. Arkadaşlar ilk kez arduino kullanıyorum buna kod atarken kütüphaneden hangilerini seçmem gerek yardım ederseniz sevinirim

  94. Merhaba
    Bağlantılar tamam, iki kez kontrol ettik. Bataryaları takınca arduinonun L ve ON ışıkları ve sürücünün kırmızı ışığı sabit yanmakta, bluetooth ise kırmızı yanıp sönmektedir. Telefondan bağlantı ve şifre sonrası sol kısımdan yeşil bağlanması tamamlandı ancak herhangi bir hareket ses yok.Telefonla bağlanınca arduinonun TX ışığı çok çok hızlı kırmızı yanıp sönmekte, bluetooth ise arada bir kırmızı yanıp sönmektedir.
    Acaba hatamız nerede?

    Arduino kod yüklemesi başarılı oldu bu arada.
    Sürücü kısmına 9V, arduino beslemesine de 4X1,5v=6V bağladık.

  95. diğer yorumu yanlış yaptım…

    ULTRASONİK MESAFE SENSÖRÜNÜ NASIL BU KODA EKLERİZ BU KODLARLA DENEDİM FAKAT YAPAMADIM YARDIMCI OLURSANIZ SEVİNİRİM

    //Mesafe hesaplaması yapılıyor.
    digitalWrite(2, HIGH);
    delayMicroseconds(20);
    digitalWrite(2, LOW);
    sure = pulseIn(3, HIGH);
    mesafe = (sure / 2) / 29.1;
    //Araç hızını belirliyoruz.
    if (state == ‘0’) {
    hiz = 0;
    }
    else if (state == ‘1’) {
    hiz = 100;
    }
    else if (state == ‘2’) {
    hiz = 180;
    }
    else if (state == ‘3’) {
    hiz = 200;
    }
    else if (state == ‘4’) {
    hiz = 255;
    }
    //Dönüşler için iç tekeri %50 yavaşlatıyoruz.
    int yavasteker = hiz * 50 / 100;

    Serial.print(“Orta Mesafe: “);
    Serial.println(mesafe);

    //önde nesne var geri dön.
    if (mesafe < 30) {
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(8, HIGH);
    digitalWrite(7, HIGH);
    analogWrite(A5, 250);
    delay(100);
    analogWrite(A5, 2);
    delay(100);
    }

  96. nerede hata yapıyorum acaba ultrasonik sensör engeli görünce dursun istiyorum sadece

    /*
    `://////////////////////////////-`
    -/////////::////////////:://///////-
    ://///-` `://////:` `-/////:
    :////..:///:. `////`.:///:. .////:
    :////:///////- ////////////- ////:
    :///++///////: `////////////- `////:
    ://///-.////-`.//////.-////-`-/////:
    :////////::-:///////////::-:///////:
    -//////////////////////////////////-
    -////////////////////////////////-
    `——::////////////////////////////::——`
    :/–////////////////////////////////////////–/-
    `:/:://::::::://////////////////////::::::://::/:`
    ./////- `////////////////////////` -/////.
    ./////- `//////////////////////////` -/////.
    ./////- `////////////////////////////` -/////.
    ///////: `//////////////////////////////` :///////
    ////////`////////////////////////////////`////////
    //////////////////////////////////////////////////
    —.—.//////////////////////////////////.—.—
    .://////////////////////////////:.
    `-:///////:::::::::::::..:::::::::::::///////:-`
    ://////////////////////////////////////////////:
    ://////////////////////////////////////////////:
    ://////////////////////////////////////////////:
    .//////////////////////:://///////////////////*/

    //L298N Bağlantısı
    const int motorA1 = 5; // L298N’in IN3 Girişi
    const int motorA2 = 6; // L298N’in IN1 Girişi
    const int motorB1 = 10; // L298N’in IN2 Girişi
    const int motorB2 = 9; // L298N’in IN4 Girişi

    int i=0; //Döngüler için atanan rastgele bir değişken
    int j=0; //Döngüler için atanan rastgele bir değişken
    int state; //Bluetooth cihazından gelecek sinyalin değişkeni
    int vSpeed=255; // Standart Hız, 0-255 arası bir değer alabilir
    //Mesafe için değişkenler atadık.
    int sure;
    unsigned int mesafe;

    void setup() {
    // Pinlerimizi belirleyelim
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
    //Mesafe sensörleri pin modları tanımı.
    pinMode(2, OUTPUT);
    pinMode(3, INPUT);
    // 9600 baud hızında bir seri port açalım
    Serial.begin(9600);
    }

    void loop() {

    //Mesafe hesaplaması yapılıyor.
    digitalWrite(2, HIGH);
    delayMicroseconds(20);
    digitalWrite(2, LOW);
    sure = pulseIn(3, HIGH);
    mesafe = (sure / 2) / 29.1;

    //önde nesne var geri dön.
    if (mesafe 0){
    state = Serial.read();
    }

    /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
    if (state == ‘0’){
    vSpeed=0;}
    else if (state == ‘1’){
    vSpeed=100;}
    else if (state == ‘2’){
    vSpeed=180;}
    else if (state == ‘3’){
    vSpeed=200;}
    else if (state == ‘4’){
    vSpeed=255;}

    /***********************İleri****************************/
    //Gelen veri ‘F’ ise araba ileri gider.
    if (state == ‘F’) {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
    }
    /**********************İleri Sol************************/
    //Gelen veri ‘G’ ise araba ileri sol(çapraz) gider.
    else if (state == ‘G’) {
    analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
    analogWrite(motorB1, 100); analogWrite(motorB2, 0);
    }
    /**********************İleri Sağ************************/
    //Gelen veri ‘I’ ise araba ileri sağ(çapraz) gider.
    else if (state == ‘I’) {
    analogWrite(motorA1, 100); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
    }
    /***********************Geri****************************/
    //Gelen veri ‘B’ ise araba geri gider.
    else if (state == ‘B’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
    /**********************Geri Sol************************/
    //Gelen veri ‘H’ ise araba geri sol(çapraz) gider
    else if (state == ‘H’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, 100);
    analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
    }
    /**********************Geri Sağ************************/
    //Gelen veri ‘J’ ise araba geri sağ(çapraz) gider
    else if (state == ‘J’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0); analogWrite(motorB2, 100);
    }
    /***************************Sol*****************************/
    //Gelen veri ‘L’ ise araba sola gider.
    else if (state == ‘L’) {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }
    /***************************Sağ*****************************/
    //Gelen veri ‘R’ ise araba sağa gider
    else if (state == ‘R’) {
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
    }

    /************************Stop*****************************/
    //Gelen veri ‘S’ ise arabayı durdur.
    else if (state == ‘S’){
    analogWrite(motorA1, 0); analogWrite(motorA2, 0);
    analogWrite(motorB1, 0); analogWrite(motorB2, 0);
    }
    }

    • //L298N Bağlantısı
      const int motorA1 = 5; // L298N’in IN3 Girişi
      const int motorA2 = 6; // L298N’in IN1 Girişi
      const int motorB1 = 10; // L298N’in IN2 Girişi
      const int motorB2 = 9; // L298N’in IN4 Girişi

      int i=0; //Döngüler için atanan rastgele bir değişken
      int j=0; //Döngüler için atanan rastgele bir değişken
      int state; //Bluetooth cihazından gelecek sinyalin değişkeni
      int vSpeed=255; // Standart Hız, 0-255 arası bir değer alabilir
      //Mesafe için değişkenler atadık.
      int sure;
      unsigned int mesafe;

      void setup() {
      // Pinlerimizi belirleyelim
      pinMode(motorA1, OUTPUT);
      pinMode(motorA2, OUTPUT);
      pinMode(motorB1, OUTPUT);
      pinMode(motorB2, OUTPUT);
      //Mesafe sensörleri pin modları tanımı.
      pinMode(2, OUTPUT);
      pinMode(3, INPUT);
      // 9600 baud hızında bir seri port açalım
      Serial.begin(9600);
      }

      void loop() {

      //Mesafe hesaplaması yapılıyor.
      digitalWrite(2, HIGH);
      delayMicroseconds(20);
      digitalWrite(2, LOW);
      sure = pulseIn(3, HIGH);
      mesafe = (sure / 2) / 29.1;

      //önde nesne var geri dön.
      if (mesafe 0){
      state = Serial.read();
      }

      /* Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)*/
      if (state == ‘0’){
      vSpeed=0;}
      else if (state == ‘1’){
      vSpeed=100;}
      else if (state == ‘2’){
      vSpeed=180;}
      else if (state == ‘3’){
      vSpeed=200;}
      else if (state == ‘4’){
      vSpeed=255;}

      /***********************İleri****************************/
      //Gelen veri ‘F’ ise araba ileri gider.
      if (state == ‘F’) {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
      }
      /**********************İleri Sol************************/
      //Gelen veri ‘G’ ise araba ileri sol(çapraz) gider.
      else if (state == ‘G’) {
      analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
      analogWrite(motorB1, 100); analogWrite(motorB2, 0);
      }
      /**********************İleri Sağ************************/
      //Gelen veri ‘I’ ise araba ileri sağ(çapraz) gider.
      else if (state == ‘I’) {
      analogWrite(motorA1, 100); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
      }
      /***********************Geri****************************/
      //Gelen veri ‘B’ ise araba geri gider.
      else if (state == ‘B’) {
      analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
      analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
      }
      /**********************Geri Sol************************/
      //Gelen veri ‘H’ ise araba geri sol(çapraz) gider
      else if (state == ‘H’) {
      analogWrite(motorA1, 0); analogWrite(motorA2, 100);
      analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
      }
      /**********************Geri Sağ************************/
      //Gelen veri ‘J’ ise araba geri sağ(çapraz) gider
      else if (state == ‘J’) {
      analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
      analogWrite(motorB1, 0); analogWrite(motorB2, 100);
      }
      /***************************Sol*****************************/
      //Gelen veri ‘L’ ise araba sola gider.
      else if (state == ‘L’) {
      analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
      analogWrite(motorB1, 0); analogWrite(motorB2, 0);
      }
      /***************************Sağ*****************************/
      //Gelen veri ‘R’ ise araba sağa gider
      else if (state == ‘R’) {
      analogWrite(motorA1, 0); analogWrite(motorA2, 0);
      analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
      }

      /************************Stop*****************************/
      //Gelen veri ‘S’ ise arabayı durdur.
      else if (state == ‘S’){
      analogWrite(motorA1, 0); analogWrite(motorA2, 0);
      analogWrite(motorB1, 0); analogWrite(motorB2, 0);
      }
      }

      böyle yaz

  97. Projeyi yazan arkadaşa teşekkürler (keşke yukardaki yorumlarda yazılan düzenlemelere ve taleplerede cevap verip kodu güncelleseydi bir çok kişi için gereksiz zaman kaybını önlerdi!). Bir yazılım uzmanı karşılaştığım sıkıntılara ve yukardaki sorunlara kısaca cevaplamaya çalışayım.

    1. kodta yapılan int state; tanımlaması hatalı sonuçta ceptelefonundan gelen veriler alfanumeric karakter onun için olması gereken char state;
    2. Bazı arkadaşlar herşeyi yaptıklarını ama araçın hiçbir tepkime vermediğini yazmış, bunun sebebi: L298N Voltaj Regulatörlü bende ENA ve ENB slotları açık geldi bunalara jumper takılmalı yada iki metal birbirine deydirilmeli.
    3. Bluetooth modulu HC 06 TXD ve RDX uçları ters bir şekilde RDX ve TXD olarak ARDUNIO kartına takılmalı, frtizing şeması yanıltabilir!
    4. Sağa dönüş ve sola dönüşler bende ters oldu kodtta yerleri değiştirilebilir.
    5. Birçok arkadaş bluetooth modülünün belli bir zaman sonra koptuğundan bahsetmiş. Bunun sebebi aracın motorları hareket etmeye başlayınca voltaj yada akım azalması ilele bluetooth kendini kapayıp açıyor. Ben çözüm olarak eski laptop bataryasından çıkarttığım 2 adet 3.7v li-ion 18650 bataryayı L298N Voltaj Regulatörünü besledim. Ayrıyetten ARDUNIO UNO nun adaptör girişine 9V PIL taktım. Saatlerce çocuklar oynadı birkere bile kopma olmadı.

  98. 4WD Çok Amaçlı Mobil Robot Platformu – Şeffaf yerine 2WD Çok Amaçlı Mobil Robot Platformu kullanımı problem olur mu?

    • Kimse niye iphone için cevap vermiyor? iphone haberleşme protokolü için bu modul uygun değil anladığım kadarıyla HM10 diye bir modul varmış. onu kullanmak gerekiyormuş bende araştırırken gördüm, fakat pahalı bir modul alternatiflerine bakıyorum

  99. merhaba,
    int i=0; //Döngüler için atanan rastgele bir değişken
    int j=0; //Döngüler için atanan rastgele bir değişken

    bu iki satırdaki işlemleri yapmamızın sebebini anlayamadım. Bunları yapmamız ne işimize yaradı? Yardımcı olursanız çok sevinirim.

    • Selamlar,

      Güç konusunda nasıl bir sistem kurdunuz, kaç adet pil var ve her şey tek bir kaynaktan mı güç alıyor?

      İyi çalışmalar dileriz 🙂

  100. Tespit etttiğim bir sorunu sizlerle paylaşmak istiyorum. öncelikle bilmenizi isterim ki bu projede hatalı demeyelim ama eksik bilgilendirmeler mevcut. arduino, elektronik ve program kodlama bilgisine sahip olmayan kişiler projeyi tam anlamda çalıştırmak da gerçekten zorlanacaklar. öncelikle arduino devrenizi çalıştırıp bluethoot’a bağlandığınız anda android RC control yazılımı bluethoot’a ilk olarak sürekli 92 gönderiyor. yani kodlarda Vspeed olarak verilen değerlerden farklı bir veri gönderiyor. telefonunuzda ilk olarak sağ üstte hız ayarı olan slider çubuğu kaydırıp yani bir defa yerinden oynatırsanız kendi kodlarınızda bulunan Vspeed hız değerlerinden birini alırsınız. üstelik bu hız çubuğunda sıfır “0” dahil 11 tane aralık vardır. 0-1-2-3-4-5-6-7-8-9-q evet “q” yazdım çünkü bu rc controlü yazan arkadaş 0 il 9 aralığı belirlemiş ve maksimum gücü q olarak atamış. siz de vspeed yazan kısmı elseif olarak 1den 9a ve en son q harfine kadar çoğaltabilir q harfinde değişkeni 255 belirleyip hız aralığında daha hassas seviyeler oluştarbilirsiniz.

  101. ve yazıma ekleme yapmak istedim sitenin arduino öğrenmek isteyen arkadaşlar için proje paylaşımlar da takdire şayan bir çalışmadır. uzun süredir arduino hakkında sürekli bir tuğla daha ekleyip ilerlediğim ve takip ettiğim bir sitedir.

  102. Merhaba… Bu projeyi android telefon ile değil de hc-05 (araçtaki alıcı, diğeri verici olacak şekilde 2 tane) bağladığımız XY joystick ile yapabilir miyiz? Araç ve joystick kurulumunu yaptım ama kodlarda sıkıntı yaşıyorum. Yardımcı olabilecek var mı?

    • Selamlar,

      Evet, yapabilirsiniz. “https://howtomechatronics.com/tutorials/arduino/how-to-configure-pair-two-hc-05-bluetooth-module-master-slave-commands/” adresinde çok güzel bir kaynak var, buraya bakmanızı öneririz. Bir sorunuz olursa bize yazabilirsiniz.

      İyi çalışmalar dileriz 🙂

  103. ben arabayı yaptım çok güzel çalışıyor ama bluetoot pinlerde gevşeme olduğunda sürekli çalışıyor ve kumanda edemez oluyorum.

    /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
    (Aktif etmek için alt satırın “//” larını kaldırın.)*/
    //if(digitalRead(BTState)==LOW) { state=’S’; }

    bu kodu aktif hale getirdiğimde “BTState’ was not declared in this scope” yazıyor.
    bu sorunu nasıl çözebilirizç bluetooth koptuğunda arabayı nasıl durdurabiliriz.

  104. Merhaba bende o size yeşil yanan ışık kırmızı yanıyor o da tuşa tıkladığmda ve tx rx ışkları yanıp sönüyor yardım edermisiniz acil

    • Selamlar,

      Karta güç geldiğinden emin misiniz acaba? Kart üzerindeki L ışığı yanıyor mu?

      İyi çalışmalar dileriz 🙂

    • Selamlar,

      Pillerin kapasiteleri ve gerilimleri oldukça önemlidir. Kalem pil ile maalesef bu işlemi yapamazken, Li-Ion piller ile yapmanız mümkün olacaktır.

      İyi çalışmalar dileriz 🙂

  105. Bu arada ben tek bir 9 v pil ile besliyorum uno kartı ve sürücüyü onunla hızlı gitmemesinin sebebi onun için olabilir mi?
    Acil yanıt bekliyorum.
    Hızlı dönerseniz sevinirim.

    • Selamlar,

      Her iki karta da ayrı ayrı güç verirseniz daha iyi olacaktır. Tek ve güçsüz bir hattan beslenen sürücüler ve kartlar yetersiz gelebilir, bu konuya önem vermenizi isteriz.

      İyi çalışmalar dileriz 🙂

  106. aracı söylenenlere göre yaptım. telefona bağlanıyorum ama ilk komutla birlikte UNO kart üzerindeki RX ledi yanıp sönüyor ve bağlantı kopuyor. çözümü nedir bilen var mı?

    • ben arabayı yaptıp fakat araba da tuşa bastığım an tekerlek çok az dönüp bağlantı kesiliyordu
      ben devreye 9v regülatör koydum onun çıkışınıda ln298 motor kartına verdim ve sorunsuz çalıştı

    • ben arabayı yaptıp fakat araba da tuşa bastığım an tekerlek çok az dönüp bağlantı kesiliyordu
      ben devreye 9v regülatör koydum onun çıkışınıda ln298 motor kartına verdim ve sorunsuz çalıştı

  107. ben arabayı yaptıp fakat araba da tuşa bastığım an tekerlek çok az dönüp bağlantı kesiliyordu
    ben devreye 9v regülatör koydum onun çıkışınıda ln298 motor kartına verdim ve sorunsuz çalıştı

  108. acba aynı kodla çnden iki motor eksiltsem gene çalışırmı yoksa kodu değiştirmekmi gerekir
    cevap verebilirseniz sevinirim

  109. bide kod kısmında ” Taslak yüklenirken bir hata oluştu ” diye hata veriyor 2 bilgisayardada denedim olmadı sorun arduinodamı yoksa uygulamada veya koddamı üstteki kodu yapıştırdım direk

  110. Herşeyi doğru yaptım fakat, herhangi bir tuşa basınca hemen bluetooth bağlantısı kopuyor neden? Çok acil cevaplarsanız sevinirim. Pil yetmiyor olabilir mi? 7 adet kalem pil kullandım.

  111. ya ben herşeyi yaptım bluethooth da bağlanıyor(hc-05 ve çift teker birde sarhoş) sıkıntısız ,güçde 12v yani yeterli ama milim hareket etmiyor ne olur yardımcı olun çok üzüldüm sabahtan beri uğraşıyorum kablolarım motorum herşeyim yeni buradan aldım ve ayrı olarak çalışıyorlar

  112. tüm sistemi kurdum yazılımı attım (tüm devreler sağlam test ettim) ama bir türlü motorlara gücü iletemedim ve sistemi harekete geçiremedim

  113. [31 01 15:10] eyüp ertan sağdış
    ” ⸮xx⸮x⸮x⸮xxx⸮x⸮x ” benim bluetooth modülÜnde böyle bir hata veriyo onnu nasıl çözerim

  114. lütfen yardımcı olur musunuz.
    bt den tuşa basılı tutup bıraktığımızı kodda nasıl anlayabiliriz yani: gaz butonuna basılı tuttuğumuz sürece hareket edecek bıraktığımızda ise duracak motor. başka bi uygulama için lazım lütfen yardımcı olur musunuz.

  115. ben karta yazılımı yüklerken hata alıyorum çok acil destek istiyorum bluetooth modülünü çıkardığım halde hata alıyorum acil yardım istiyorum kütüphane eklemesi mi yapmamız gerekiyor acaba

  116. Aynı devreyi hc 05 ile yaptım kod da aynı fakat bağlandıktan sonra ileri geri sol sağ tuşlarına bastığımda tiz bir ses geliyor ve araba gitmiyor sorun ne olabilir hc 05 için kod farkı var mıdır 7.5 v kare pil kullanıyorum ???

  117. Merhabalar,
    Yazılan kodları HC06 Bluetooth bağlantısını sitede vermiş olduğunuz şemaya göre yaptım. Ayrıca motorların yönlerini (şaseye göre dikey konumdaki motorlar için) bağlantılarını aynı kutupları birbirine bağlayıp sürücüye bağladım. Enerji verdiğimde hafif tiz sesi gelmekte olup hiçbir tekerlek hareketi gözlemlemedim. Yardımcı olursanız sevinirim.
    Teşekkürler..

  118. merhaba arduino ya 6v ve motor sürücüye 6v olmak üzere 2 tane gerilim kaynağı bağladım tüm ışıklarım yanıyor, kartlar çalışıyor, kodum hatasız yüklendi, bluetooth telefonla zor da olsa eşleşiyor ancak uygulamaya bağlanmıyor. bir kez anlık bağlandı onda da hemen attı yukarıdaki yorumların hepsini okudum bazıları gerilimin az gelebilceğinden bazıları da bölmem gerektiğinden bahsetmiş. ne yapmam gerektiğini anlamadım en kısa süre de yardımcı olabilirseniz sevinirim.

  119. /*Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur.
    (Aktif etmek için alt satırın “//” larını kaldırın.)*/
    if(digitalRead(state)==LOW) { state=’S’; }
    hata çıkıyo

CEVAP VER

Please enter your comment!
Please enter your name here