back to top

Arduino ile Engelden Kaçan Robot Araba Yapımı

Merhaba arkadaşlar.

Bu yazımızda “Engelden Kaçan Robot nedir, nasıl yapılır?” konularından bahsedeceğiz.

 
Projeyi yapmaya başlamadan önce bir hatırlatma yapalım.
 
Engelden kaçan robotlar için hazır kitlerimiz de mevcut, onları almak isterseniz buradan inceleyebilirsiniz:

Engelden Kaçan Robot Nedir?

Engelden kaçan robot, diğer adıyla engel algılayan robot, otonom olarak çevre kontrolü yapabilen ve hareketini önleyebilecek cisimleri atlatabilen robot tipidir.

Çevre kontrolünü sağlayabilmesi için ultrasonik, kızılötesi vb. gibi çeşitli sensörlere ihtiyaç duyar.

Arduino ile Engelden Kaçan Robot Yapımı

Ultrasonik sensör ile karşılaştığımız engelleri algılayıp buna göre yön değiştiren bir robot yapacağız.

Robotumuzun hızını ve yönünü bir motor sürücü ile kontrol edeceğiz.

Videolu anlatımla dinlemek isterseniz, videomuza buradan ulaşabilirsiniz:

Gerekli Malzemeler

Engelden Kaçan Robot Devresi

Ultrasonik Sensörün Çalışma Prensibi

Ultrasonik sensörün çalışma prensibinden bahsettiğimiz videomuza buradan göz atabilirsiniz.

Robotun Gövdesi

Robotumuzun gövde montajını daha önceden yaptığımız Çizgi İzleyen Robot uygulamasında bulabilirsiniz. Yaptığımız robotun gövdesi aynı olup sadece kullanılan sensörler değişmiştir.

Projemizin son hali şekilde gibidir.

Proje hakkında yorumlarınızı aşağıdaki ‘Yorumlar’ kısmında bizimle paylaşabilirsiniz.

Siz de yaptığınız projeleri Twitter ve Instagram üzerinden #Robotistan hashtagi ile bizimle paylaşın, projenizi hesabımızda paylaşalım !

Twitter ve Instagram Hesaplarımız: @Robotistan

Algoritma

Robotumuzu kodlamaya başlamadan önce hangi işlemleri takip edeceğimizi bilmemiz gerekiyor. Temel amacımız robotun bir engele takılmaması olacaktır. Örnek olarak geniş bir zeminde engelle karşılaştığında sağ yöne hamle yapan bir robotun temel algoritmasını göstermek istiyorum :

Bu algoritmayı Arduino’da yazalım 🙂

Arduino Kodları

#define echoPin 12 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
#define trigPin 13 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
#define MotorR1 7
#define MotorR2 6
#define MotorRE 9  // Motor pinlerini tanımlıyoruz.
#define MotorL1 5
#define MotorL2 4
#define MotorLE 3
long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.
void setup() {
  // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
  // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(MotorL1, OUTPUT);
  pinMode(MotorL2, OUTPUT);
  pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
  pinMode(MotorR1, OUTPUT);
  pinMode(MotorR2, OUTPUT);
  pinMode(MotorRE, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
  sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
  uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
  Serial.println(uzaklik);
  if (uzaklik < 15) // Uzaklık 15'den küçük ise,
  {
    geri();  // 150 ms geri git
    delay(150);
    sag();  // 250 ms sağa dön
    delay(250);
  }
  else {  // değil ise,
    ileri(); // ileri git
  }
}
void ileri(){  // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(MotorRE, 150); // Sağ motorun hızı 150
  digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
  analogWrite(MotorLE, 150); // Sol motorun hızı 150
  
  
}
void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
  digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
  analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor)
  digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
  digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
  analogWrite(MotorLE, 150); // Sol motorun hızı 150
  
  
}
void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
  digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
  digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
  analogWrite(MotorRE, 150); // Sağ motorun hızı 150
  digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
  digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
  analogWrite(MotorLE, 150); // Sol motorun hızı 150
  
}





Bir robot uygulamamızın daha sonuna geldik. Bir başka projede görüşmek üzere, takipte kalın 🙂

Son Çıkan Yazılar

225 YORUMLAR

  1. sitenizden satın aldığım arduino uyumlu nrf24l01 +pa ile arabya doğru şekilde bağlantı yaptım ama yazdığım kod ile test ettiğimde transmitterin çalışmadığını söylüyor bana yardımcı olrmusunuz …

    • NRF24L01 ile uzaktan kontrol uygulamamıza buradan göz atabilirsiniz. Yazdığınız kodun amacını bilmediğimden net bir yorum yapamıyorum fakat uygulamamıza göz attıktan sonra yazılımınızı kontrol edebilirsiniz.

  2. Merhabalar engelden kaçan robot yapımı için tüm parçaları sitenizden temin ettim ancak robotu çalıştırdığımda engelleri algılamıyor? Herşeyi doğru yaptığımı düşünüyorum yardımcı olabilir misiniz?

    • Merhaba. Arduino IDE’nin sağ üst kısmında bulunan “Seri Port Ekranı”nı kontrol ettiniz mi? Ultrasonik sensörü robottan söküp ayrı bir devrede test edebilir misiniz?

    • Stoklarla ilgili bilgi almak için [email protected] adresimizden bilgi alabilirsiniz. Stokta olmayan ürünlerde yandaki “Stoklara Düşünce Haber Ver” kısmına tıklayarak stok bilgilerini takip edebilirsiniz.
      4 motora sahip robot kullanmak istiyor ve aynı programdan faydalanmak istiyorsanız aynı taraftaki motorları paralel bağlamanız gerekir. Yani sağ ön motor ile sağ arka motor, sol ön motor ile sol arka motor paralel bağlanmalıdır.

    • Motorların ikisi de çalışıyor ve iki motor da ileri-geri hareket edebiliyorlar ise sürücüde sorun yoktur. Robota sadece “ileri git” veya sadece “geri git” gibi komutlar verip hamlelerini test edebilirsiniz. Bu testi gibi “sağa dön” ve “sola dön” komutları vererek de yapabilirsiniz. Bu şekilde motordaki ileri ve geri yönleri anlaşılır. Eğer motorlar doğru yönde dönüyorlarsa ve robotu yere koyduğunuzda hafif yalpalayarak gidiyorsa motor ile tekerlekler tam oturmamış olabilir.

  3. 6 tane kalem pili belirtildigi sekilde bagladim. Hersey calisiyor ama motorlara tam guc gitmiyor. Sanki titriyor gibi bir hareket var. Ancak bu haldeyken arduino kartini kablosuyla seri porta bagladigimda hersey duzgun calisiyor. Sorun nerede anlamadim…

  4. Engelden kaçan bir robot yaptım hc-sr04 mesafe sensörünü servo motorun üzerine bağladım. Hareketten kaçıyor ama servo motora kod yazamadım yardımcı olabilir misiniz. Kodları yüklerken hata veriyor. Yüklediğim kodları yollayayım isterseniz.

    • Nerede sorun yaşadığınızı anlayamadım. Motorları ayrıca test ettiğinizde ileri-geri hareketlerini doğru yapıyorlar mı? Sensörünüz mesafe görüyor mu? İkisi de doğru çalışıyorsa programı tekrar kontrol edebilir misiniz?

  5. Tayfun bey abi ardinoda yeni basladim yazilima bu proje ile ilgili her malzeme mevcut elimde kafama tek takilan yazarken ardinoya yeni sayfami acmamiz gerkiyor

    • Arduino’da yeni boş sayfa açabilirsiniz veya içinde program olan sayfadaki kodları silip kendi kodunuzu yazabilirsiniz.

  6. Uluslararası İHL Sivas
    ADMİN BEY ,sayfanızdaki içerikler çok işime yaradı , kod doğru çalışıyor;
    Sayfanızın düzenini de çok takdir ettim , çizgi izleyen vb robotların kodları ve bağlanış şekli de varmış ,inşallah bu kodu ve bağlamayı bitirince
    diğerlerine geçeceğim…
    TEŞEKKÜRLER…

  7. Arkadaşlar selamlar, geçenlerde ultrasonik sensör ile mesafe ölçümü projesi yaptım. Çok eğlenceli gelmişti. Bu proje çok daha ilgi çekici olmuş. Emeği geçen arkadaşlara teşekkürler.

  8. Merhaba engelden kaçan robotunuzu yaptım kod sayfasıda aynı şekilde sizin yazdığınız kodlarda sadece geri doğru gidiyordu robot onu çözmeye çalışırken sensör çalışıyordu o sorunu çözdüm ileri gidiyor robotum ama bu sefer engelleri algılamıyor sadece ileri gidiyor. seneörle ilgili bir değişiklik yapmadım sorun ne olabilir sizce kod sayfasınıda kopyalıyorum
    #define echoPin 12 //Ultrasonik sensörün echo pini Arduino’nun 12.pinine
    #define trigPin 13 //Ultrasonik sensörün trig pini Arduino’nun 13.pinine tanımlandı.
    #define MotorR1 6
    #define MotorR2 7
    #define MotorRE 9 // Motor pinlerini tanımlıyoruz.
    #define MotorL1 5
    #define MotorL2 4
    #define MotorLE 3

    long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.

    void setup() {

    // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
    // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
    pinMode(echoPin, INPUT);
    pinMode(trigPin, OUTPUT);

    pinMode(MotorL1, OUTPUT);
    pinMode(MotorL2, OUTPUT);
    pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
    pinMode(MotorR1, OUTPUT);
    pinMode(MotorR2, OUTPUT);
    pinMode(MotorRE, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi

    sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
    uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor

    Serial.println(uzaklik);

    if (uzaklik < 15) // Uzaklık 15'den küçük ise,
    {
    geri(); // 150 ms geri git
    delay(150);
    sag(); // 250 ms sağa dön
    delay(250);
    }
    else { // değil ise,
    ileri(); // ileri git
    }

    }

    void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 200); // Sağ motorun hızı 150

    digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 200); // Sol motorun hızı 200

    }

    void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 200); // Sağ motorun hızı 0 (Motor duruyor)

    digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 200); // Sol motorun hızı 200

    }

    void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
    digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
    analogWrite(MotorRE, 200); // Sağ motorun hızı 150

    digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
    digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
    analogWrite(MotorLE, 200); // Sol motorun hızı 150
    }

  9. selamlar. ben sizin yaptığınızı yapıyorum tek sensörle. ama ben 3 sensörlü yapmak istedim ve okadar kolay olmadığını anladım. yani 3 tane mesafe sensöründen birine tanımladığım if else diğer sensördeki ile çakışıyor. bunları nasıl bağımsız yapabilirim. yardımcı olur musunz bana bu konuda ?

    • Hareket fonksiyonları olan ileri, geri, sağ ve sol fonksiyonlarında yer alan analogWrite(150) komutlarındaki değerleri değiştirerek tekerleklerin hızlarını eşitleyebilirsiniz.

  10. Devreyi aynen yaptım enerji verdim çalışmıyor. Ne yapmalıyım ben öğrenciyim ve bunu mayısa kadar yetiştirmem lazım. Bana bunu nasıl 3 hcsr04 ile yapabileceğimi söylermisiniz. Bir tane de basit proje lazım bana. Lütfen yardım edin. HC-SR04 İle labirent çözen yapmaya çalışıyorum. Mayısa yapcam. ACELE YARDIM EDİN. 1 aydır ben buna uğraşıyorum. L293D Motor Shield aldım. Olmadı. Sadece entegresini kullandım olmadı. L298N ile yani bun devreyle de olmadı. YARDIM NOLUR.

  11. 4 moturlu yapmak istiyorum ancak bir tane çift motor sürücü kartı var. bit tane ile 4 motor kullanabilrmiyim yada 2 tane mi sürücü kartı kullanmam gerek yardım edermisiniz

    • Sağ ve sol tarafta ikişer adet motor kullanacaksanız her iki motorun da kablolarını paralel bağlayarak tek motor gibi 2’li motor sürücünüze bağlamanız mümkündür. Bu durumda her motoru tek tek kontrol etme şansınız olmayacaktır, fakat hareket için gerekli ileri-geri ve sağ-sol dönüşleri yaptırabilirsiniz.

  12. Engelden kaçan robotu yaptım algılamasında bir sorun yok fakat bazen tekerlek takılıyor ultrasonic sensöre servo motor takmak istiyorum acaba arduinoda nereye takmam gerekiyor yardımcı olursanız sevinirim.

  13. Merhaba, robotu yaptım çalışıyor fakat sensör bazen yanı görmüyor bu yüzden teker takılıyor. Ben ekstra servo motor eklemek istiyorum sensörün altında olup sağa sola dönmesini sağlayacak. Yardım ederseniz sevinirim

  14. // Yazılım Geliştirme By Robimek – 2015
    #include // servo motor kütüphanesi
    #include
    //motor pinleri
    #define SolMotorileri 9
    #define SolMotorGeri 10
    #define SagMotorileri 11
    #define SagMotorGeri 12
    //sensör pinleri
    #define USTrigger 6
    #define USEcho 7
    #define Maksimum_uzaklik 100
    Servo servo; //servo motor tanımlama
    NewPing sonar(USTrigger, USEcho, Maksimum_uzaklik);//ultrasonik sensör tanımlama
    //kullanılacak eleman tanımı
    unsigned int uzaklik;
    unsigned int on_uzaklik;
    unsigned int sol_uzaklik;
    unsigned int sag_uzaklik;
    unsigned int zaman;
    // program ilk çalıştığında sadece bir kez çalışacak programlar
    void setup()
    {
    //motor çıkışları
    pinMode(SolMotorileri, OUTPUT);
    pinMode(SolMotorGeri, OUTPUT);
    pinMode(SagMotorileri, OUTPUT);
    pinMode(SagMotorGeri, OUTPUT);
    servo.attach(4); //servo pin tanımı
    }
    // sonsuz döngü
    void loop()
    {
    delay(500);
    servo.write(90);
    sensor_olcum();
    on_uzaklik = uzaklik;
    if(on_uzaklik > 35 || on_uzaklik == 0)
    {
    ileri();
    }
    else
    {
    dur();
    servo.write(180);
    delay(500);
    sensor_olcum();
    sol_uzaklik = uzaklik;
    servo.write(0);
    delay(500);
    sensor_olcum();
    sag_uzaklik = uzaklik;
    servo.write(90);
    delay(500);
    if(sag_uzaklik>sol_uzaklik)
    {
    sag();
    delay(500);
    ileri();
    }
    else if(sol_uzaklik >sag_uzaklik)
    {
    sol();
    delay(500);
    ileri();
    }
    else
    {
    geri();
    }
    }
    }

    // robotun yön komutları
    void ileri()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, HIGH);
    digitalWrite(SagMotorGeri, LOW);
    digitalWrite(SagMotorileri, HIGH);
    }

    void geri()
    {
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SolMotorGeri, HIGH);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, HIGH);
    }

    void sol()
    {
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SolMotorGeri, HIGH);
    digitalWrite(SagMotorGeri, LOW);
    digitalWrite(SagMotorileri, HIGH);

    }

    void sag()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, HIGH);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, HIGH);
    }

    void dur()
    {
    digitalWrite(SolMotorGeri, LOW);
    digitalWrite(SolMotorileri, LOW);
    digitalWrite(SagMotorileri, LOW);
    digitalWrite(SagMotorGeri, LOW);
    }
    // sensörün mesafe ölçümü
    void sensor_olcum()
    {
    delay(50);
    zaman = sonar.ping();
    uzaklik = zaman / US_ROUNDTRIP_CM;
    }

    kodda bir sorun var. kodu kontrol edip düzeltebilirmisiniz

    • Her iki robot için de gerekli olan donanımı kurup, bir anahtar yardımı ile robotun çalışma modları arasında geçiş yapmasını sağlayabilirsiniz. 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 anahtar durumunu bir if veya switch/case yapısı ile okuyup robotun istediğiniz modda çalışmasını sağlayabilirsiniz.

    • Kullanabilirsiniz tabi ki, fakat 9V pillerin kapasitesi ve verebildikleri akım 6 adet AA kalem pilin kapasitesi ve sağlayabileceği akımdan daha düşüktür. Bu sebepten dolayı 6’lı pil yuvası kullanmaktayız. Aynı gerilim olduğu için 9V pil de kullanabilirsiniz, sadece robotunuz daha kısa sürede pili bitirecektir.

      • bana pil yetmiyor 9wolt arduino ya elektirik fazla gitmiyor ve motorlar çalışömıyor ayrıca 18wolt takıbnca aradan zaman geçtikten sonra arduino yandı tekrar aldım oda yandı

        • Arduino’nun adaptör girişinden verebileceğiniz maksimum gerilim 12V civarındadır. 18V ile uzun süre kullanımda sorun yaşamanızın sebebi, kart üzerindeki regülatörün bu yüksek gerilime dayanamaması ve aşırı ısınmasındandır. Daha uzun çalışma süresi istiyorsanız 2 hücreli (7.4V) LiPo bataryaları tercih edebilirsiniz: https://www.robotistan.com/2s-74v-li-po

  15. Merhaba iyi günler ben sitenizden aynen videodaki herşeyi aldım yaptım kodu yazdım yükledim ama herhangi bir hareket yok final proje ödevim yardımcı olurmusunuz

    • L293 motor sürücü entegresine mesafe sensörünüzü bağlayamazsınız, sensörü ve sürücüyü Arduino’nuza bağlamanız gereklidir.

  16. ÖNEMLİİİ!!!!
    Biz bu projeye buzzer koymak istiyoruz.Örnegin: mesafe 50 cm iken buzzer ötmeye başlıcak.mesafemiz kısaldıkça buzzerda ses artışı olacak.40 cm e geldiğinde ise robotumuz yön degiştircek.Bunu nasıl yapabiliriz.yardımcı olursanız sevinirim. kolay gelsin

  17. Hocam merhaba engelden kaçan ve blueetoth kontrllü aracı bir arada kullanmak için kodu vae devreyi nereden bulabilirim? İLGİNİZ İÇİN TEŞEKKÜRLER

  18. iyi günler
    1 adet Arduino 4WD Robot Araba Kiti
    1 adet Arduino Uno R3 (CH340 Klon)
    1 adet Arduino Uno USB Kablo
    1 adet HC-06 Bluetooth Modül
    1 adet Arduino L293D Motor Shield
    1 adet HC-SR04 Ultrasonic Mesafe Sensörü

    aldım ama arabayı entegre ettim . ama çalışmıyor bağlantı şeması paylaşırmısınız tşkler

  19. İyi Günler.

    2 wd araç kiti ile , Arduıno, Breadboard, Hc-SR04 Ultrasonik Mesafe Sensörü, L298N sürücü kartı kullandım.

    Engelden Kaçan Robot Uygulaması benim sorunum Tek tekerleğin sürekli etrafında dönüyor olması. (out1-out2) kısmı dönüyor.

    (out3-out4) kısmı dönmüyor. Bağladığım kabloları L298N devresinden çıkartığım zaman pillerle deniyorum 2 tekerlek dönüyor.
    Sizin [email protected] yazdım. ama beni bu sayfaya yönlendirdiler. Ama maalesef teker teker yukarıdaki projeyi ve kodlamayı yapmama rağmen 1 tekerlek çalışıyor öbür tekerlek çalışmıyor. Bu arada videodaki söylenen kodlar ile sizin verdiğiniz kodlar farklı ben iki sinide denedim. Ama bir türlü 2 WD araç ileri gitmiyor ve ya yerinde dönüyor ya da sağa dönüyor engel gördüğünde hafif duruyor sonra tekrar dönüyor. acaba nerde hata yapıyorum. Lütfen Yardımcı olur musunuz. Teşekkür ederim.

  20. Merhaba iyi günler
    robotum düz gitmiyor sapmalar yapıyor sağa doğru ve diğer bi sorum 1 sensör yerine 3 sensör nasıl yapabilirim yardımcı olabilir misiniz şema ve kod kısmında

  21. KODLARI AYNENE YÜKLEDİM BAĞLANTILARI AYNEN YAPTIM AMA MOTORLAR TIK TIK SES .IKARIYOR VE İLERLEMİYOR KODLAR
    #define echoPin 12 //Ultrasonik sensörün echo pini Arduino’nun 12.pinine
    #define trigPin 13 //Ultrasonik sensörün trig pini Arduino’nun 13.pinine tanımlandı.
    #define MotorR1 7
    #define MotorR2 6
    #define MotorRE 9 // Motor pinlerini tanımlıyoruz.
    #define MotorL1 5
    #define MotorL2 4
    #define MotorLE 3

    long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.

    void setup() {

    // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
    // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
    pinMode(echoPin, INPUT);
    pinMode(trigPin, OUTPUT);

    pinMode(MotorL1, OUTPUT);
    pinMode(MotorL2, OUTPUT);
    pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
    pinMode(MotorR1, OUTPUT);
    pinMode(MotorR2, OUTPUT);
    pinMode(MotorRE, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi

    sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
    uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor

    Serial.println(uzaklik);

    if (uzaklik < 15) // Uzaklık 15'den küçük ise,
    {
    geri(); // 150 ms geri git
    delay(150);
    sag(); // 250 ms sağa dön
    delay(250);
    }
    else { // değil ise,
    ileri(); // ileri git
    }

    }

    void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 150); // Sağ motorun hızı 150

    digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 150); // Sol motorun hızı 150

    }

    void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor)

    digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 150); // Sol motorun hızı 150

    }

    void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
    digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
    analogWrite(MotorRE, 150); // Sağ motorun hızı 150

    digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
    digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
    analogWrite(MotorLE, 150); // Sol motorun hızı 150

    }

    • Nasıl bir güç kaynağı kullandınız? Yeterince güçlü olmayan bir güç kaynağı veya bitik pil kullandığınızda bahsettiğiniz sorunla karşılaşma ihtimaliniz mevcuttur.

  22. MakeBlock mBot Bluetooth Kiti v1.1 aldım.
    Bu kodu yazdım ve yükledim…açıp kapadım ama değişen hiçbişey yok.

    Bu kitle bu yazılımı kendim çalıştıramaz mıyım?

    • mBot robotunda kendiliğinden engelden kaçma özelliği bulunmaktadır, bu programı yüklemenize gerek yoktur. Orijinal yazılımına mBlock yazılımını kullanarak geri dönebilirsiniz.

  23. Bu tarz projeler için nasıl bir li-po pil önerirsiniz yani kaç mA ve volt değerinde olmalı ? Biraz saçma olacak ama projelerimizde ki güç hesabını ve özellikle akım değerlerini nasıl hesaplarız.

    • Merhabalar, genellikle 9V ile çalışan projeleriniz için 2S, yani 7.4V vev 12V ile çalışan projeleriniz için 3S yani 11.1V LiPo bataryaları tercih edebilirsiniz. Bu piller tam dolu iken sırasıyla 8.4V ve 12.6V gerilimlere sahip olacaklarından sorunsuzca kullanılabilir. Projelerdeki güç hesabını genellikle projedeki motorların çalışma gerilimine göre belirlemekteyiz. Kalem pil veya 9V gibi piller yeterli akımı genellikle sağlayabilmektedir, daha yüksek güç ve uzun çalışma süresi için LiPo tercih edilebilir. LiPo bataryalar hakkında detaylı şekilde bilgi sahibi olmak için videomuzu izleyebilirsiniz: https://www.youtube.com/watch?v=w4kxKJYPlTY

      • Teşekkürler Kerem bey.ben bu proje için galiba yüksek akım değerli bir pil aldım.11,1 V 2250mAH lipo aldım sitenizden.Kullanmadan önce teknik destek ekibinizden bilgi aldım.4A sigorta gerektirir şeklinde bilgi verildi.

  24. Merhaba,
    Yaptım ve şahane oldu elinize sağlık. Acaba bir de kendi kendine dengede duran robot projesi yayınlayacak misiniz?
    Çok isterim.
    Teşekkürler

  25. Aynı bağlantıyı aynı yazılımı yazdım fakat 9 volt pil kullandım ona rağmen motorlar dıııt dıye ses çıkarıyor ne ileri ne geri hiç tık yok neden acaba yardımcı olursanız sevinirim 🙂

  26. Acil!
    -elime alıp çalıştırdığımda sol teker geri sağ teker ileri gidiyor .
    -yere koyunca geri geri tık tık gidiyor yani arka tarafı bi sağ bi sol yapıyor ağır ağır geri gidiyor tamammen asla ileri gitmiyor nerede hatam var
    1 haftadır çözemedim yardımcı olurmusunuz?
    -Teşekkür ederim.
    -ve bunun videosunu çekip size nasıl atabilrim öyle bir imkan varmıdır,sorunu anlamadıysanınz eğer video yollayabilirim acil lütfn cevap veriniz.

  27. Merhaba,
    bazı projeleri yapabilmek için, özellikle bu projeyi, sitenizden aşağıdaki ürünleri satın aldım. Öncelikle Proje setinden çıkan “Projelerle Arduino” kitabına detaylı bilgi koyulmamış, bilgiler kitapla bağlantılı olan videolara bırakılmış sanırım, fakat videoları izlemek için “Vakademi” isimli sitede hesap açmak mümkün değil zira aktivasyon maili atmayı başaramıyorlar ne yazikki (Gmail dahil birkaç mail adresiyle denendi). Kitaptaki anlatım yetersiz olduğundan engelden kaçan robotu oraya sağdık kalarak yapmak zor. Bu noktada çaresiz hissetmeye başlarken bu videoyu bularak umutlandım. Fakat aşağıda gördüğünüz gibi oldukça yoğun bir alım yapmama rağmen, videodaki pil aparatı mevcut değil, sadece tek 9V pil ile yapmak için gerekli şeyler var, ki sanırım içinden çıkan kitap da böyle yapıyor ama kitap videolarına ulaşamadığımdan o şekilde de yapamıyorum, zaten buradaki yorumlarda da 9V pil ile tekerlerin dönmediğinden vs bahsedilmiş. Bu durumda ben proje setini alırken tekerlekli robot yapma sebebiyle aldım, ve alım yaparken otomatik uyarı çıktı bu parçaları da almalısınız diye, onların da hepsini aldım. Madem 9V pil ile tekerler düzgün dönmeyecek, neden hala 9V pil bağlama setiyle satılıyor ve içinden bu kalem pil aparatı çıkmıyor, ya da alınması konusunda uyarı diğer parçalar gibi otomatik verilmiyor. Ek olarak içinden çıkan kitapta düzgün anlatım olmaması, anlatımların videolara bırakılmış olması, videoların da görünüşe göre ulaşılmaz olması pek hoş olmadı. Bu tarz proje yapmak için alışveriş yapcakların dikkat etmesini öneririm. Sizden de 9V ile düzgün çalışma ihtimali olup olmadığı konusunda tavsiye rica ediyorum, ya da tekrar parça beklemeden powerbank gibi bir şeyle yapılabilir mi? Mühendislik stajımda Arduino’lu projelerle uğraştığımdan zaman açısından darlık yaşıyorum, parça eksikliği planlanmamış gecikmeye sebep oldu. Selamlar.
    *Arduino Başlangıç Seti
    *Arduino Proje Seti
    *HC06 Bluetooth-Serial Modül Kartı
    *L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı(Kırmızı PCB)
    *Platforma Çok Amaçlı Mobil Robot Platformu – Kırmızı

  28. Arduinoya en fazla 20 volt verilebilir demişsiniz peki akü ile (12 v 60-80amper minibüs aküsü)çalıştırabilirmiyiz yani yüksek amper(60-80 civarı) arduinoya zarar verirmi

  29. Merhaba devrenin birebir aynısını kurduk hdmı ile arduinoya bağlayınca doğru çalışıyor bağlantısı sökülünce sürekli mesafe ölçümü yapıyor ileri gitmiyor ne yapabilirim.

  30. Ya Ben Yeni Başlıyorum L298N Voltaj Regulatörlü Çift Motor Sürücü Kartının Sağ Ve Sol Kısmındaki Şeyler Nedir Malzemeler Kısmında Onunla Alakalı Birşey Göremedim Bir Eşya İle Beraber Mi Geliyor Dediğim Gibi Yeni Başlıyorum.

  31. İyi günler ürünü sipariş verdim bugün geldi engelleri algılıyor yalnız iki teker normal durumda ters dönüyor ve bu yüzden sürekli kendi ekseni etrafında dönüyor bu durumda ne yapmalıyız.

  32. Merhabalar hocam bu işte henüz yeniyim bir iki sorum olacak projem için bir adet Arduino ve motor sürücü ile aynı anda iki adet DC motor ve 2 adet ultrasonik sensör çalıştırmam mümkün mü yada bunun bir sınırı var mı en fazla kaç adet sensör kullanabilirim onlara ilave ışık sensörü yada ses sensörü de ekleyebilirmiyim yardımcı olurmusunuz

  33. C:\Users\acer\AppData\Local\Temp\ccy1ljI8.ltrans0.ltrans.o: In function `main’:

    C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `setup’

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    bu hatayı alıyorum.sorun ne olabilir ?

  34. durmadan aynı yöne dönüyor bağlantıları düzgün yapıp yazlımı düzgün yükledim pil ise tam istenildiği gibi (güçde sıkıntı yok yani ) neden hep anı tara dönüyor

  35. Programı karta yüklerken bir sorun çıkmadı. aurdino İDE uyarı vermedi.Gücü bağlayınca aurdino uno çalışıyor sensöre elimi gösterince uno tepki veriyor.Fakat robotun motorları tepki vermiyor. Sürücü kartını denedim,sürücü kartı çalışıyor. Sizce sorun ne olabilir?

  36. Merhabalar benim robotum Arduıno Nano ile hazırlandı buradan satın aldım fakat nerede hata yaptım bilmiyorum robotumun sensörü engeli algılamıyor engelden kaçan robot yapmak istiyorum ama engeli tanımıyor yardımcı olabilir misiniz?

    • Merhaba, serial monitör üzerinden uzaklık değerlerini okuyabiliyor musunuz? Eğer sensörünüzden veri alamıyorsanız bağlantıları ve kodu kontrol edebilir misiniz? Her şey doğru gidiyor ve buna rağmen uzaklık değerlerini alamıyorsanız sensörden kaynaklanan bir problem olabilir.

  37. merhabalar. 4wd platform ile yaptigim arabada motorlarin enable ayarlarini 130 kadar verdigimde hicbir motor calismiyor. 130 dan yukari verdigimde ise motorlar cok hizli gidiyor ve cizgi izleyen +engelden kacan oldugu icin engele carpiyor. hizlu oldugundan duramiyor. lipo pil 11.7 volt kullaniyorum. bunun sebebi ne olabilir? yani motor hizini 100 neden yapamiyorum. tesekkur ederim

  38. arduinoya proramı yüklerken bu hatayı alıyorum
    yardımcı olabilr misiniz

    Arduino:1.8.8 (Windows 7), Kart:”Arduino Leonardo”

    Çalışmanız programın 6258 bayt (21 %) saklama alanını kullandı. Maksimum 28672 bayt.
    Global değişkenler belleğin 155 byte kadarını (6%) kullanıyor. Yerel değişkenler için 2405 byte yer kalıyor. En fazla 2560 byte kullanılabilir.

    avrdude: butterfly_recv(): programmer is not responding
    avrdude: butterfly_recv(): programmer is not responding
    avrdude: butterfly_recv(): programmer is not responding
    avrdude: butterfly_recv(): programmer is not responding
    avrdude: butterfly_recv(): programmer is not responding
    Found programmer: Id = “ş”; type = È
    Karta yüklenirken sorun oluştu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.
    Software Version = (.

  39. Arkadaşlar yaptığımız robot sadece sağ tarafından kendi etrafında dönüyor.10″dan fazla kod yazdık fakat çözüme ulaşamadık.Sorunu bilen varsa çözümü yazabşlirmi iyi günler

  40. İyi günler biz bitirme projesi yapıyoruz ve engel algılayan robot yaptık fakat basit düzeyde olduğu için robotu uçurmak istiyoruz bunu nasıl yapabiliriz.Yardımcı olurmusunuz

  41. Acil….!!!!

    Şerit takip sistemine mesafe dengeleyici ekledim fakat hangi kodu yazicagimi bilemedim. Kodun istediğim işlevi ise önüne herhangi bir engele 4 cm kadar yaklaştığında durması engeli kaldirdigimda ise yine seridini takip etmesi… Yardımcı olabilir misiniz ?

  42. Devreyi besledigimde ardiuno ve motor devresi uzerindeki isiklar yaniyo sensore elimi yaklastirdigimda ışıklar yanip sonuyo falat motorlar calismiyor sebebi nedir ?

  43. Bu devrede büyük bir eksiklik var. Belki dikkatten kaçmıştır. Devre bağlantısında aurdinonuya enerji verilmemiş.

    Bunu çözmek için:
    1-Ya aurdinonun jack girişinden 9V bir pil daha bağlamak, yani devrede iki 9 volt pil olacak. Bu durumda piller daha uzun gider.
    2-Motor sürücü kartın(kırmızı kart) 5V çıkışından bir kablo ille (erkek-erkek jumper kablosu) arduinonun 5v ucunu birleştirmek.

    NOT: Robotunuz 360 derece dönüyorsa motorlardan geriye doğru dönenin kablolarının yerini değiştirin.( HC04 ün bulunuduğu yönün tersine). Basit anlattım ki elektronikten anlamayan olabilir diye.

  44. LÜTFEN CEVAP VERİN !!!
    Kurulumda kodlarda aynı fakat sağ teker bazen çalışıp bazen dururken sol teker hiç kıpırdamıyor. Sebebi nedir çözüm ne olabilir?
    Teşekkür ederim şimdiden.

  45. Ben kodları yükledim pin bağlantıları her şeyi yaptım ama robot düzgünce ileri doğru gidiyor ama önüne engel çıkınca algılıyor ama tekleyerek öne doğru gitmeye devam ediyor ne gibi bir sorun olabilir acaba?

  46. selam

    Çoğu arkadaş gibi sorun yaşadım. SORUN: Aurdino nun beslemesi yok bu şekilde çalışmaz yada garip hareketler yapıyor.Şemaya aurdino için pil koyar mısınız yada vin girişi ile nasıl beslenir bilgi verir misiniz?

  47. Araba havada tuttuğumda tekerlekler ileri doğru gidiyor yere koyduğum anda ya kendi etrafında dönüyor ya da saçmalıyor, arkadaki sarhoş tekerlekten mi kaynaklanıyor acaba bir türlü çözemedim

  48. merhaba
    altıgen yada sekizgen bir odada çalışabilir mi? duvarlar arasındaki açı 90 dereceden büyük olduğunda çalışma hassasiyeti ne olur?

  49. merhaba,ben öğrenciyim ve yaptığınız her şeyi yaptım fakat kod yüklenmesine rağmen arabamda kıpırtı yok.İlk önce kodda sıkıntı var diye düşündüm ama kodu kopyala yapıştır yaptım ve hiç sorun çıkmadı (kontrolde ettim)
    yardım edebilir misiniz? Fotoğrafını atabilirim. çok acil lazım.

  50. pinMode(MotorL1, OUTPUT);
    pinMode(MotorL2, OUTPUT);
    pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
    pinMode(MotorR1, OUTPUT);
    pinMode(MotorR2, OUTPUT);
    pinMode(MotorRE, OUTPUT);

    hata bulada
    pinMode(MotorR1, OUTPUT);
    pinMode(MotoR2, OUTPUT);
    pinMode(MotorRE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
    pinMode(MotorL1, OUTPUT);
    pinMode(MotorL2, OUTPUT);
    pinMode(MotorLE, OUTPUT);
    DOĞLUSU BU DEĞİŞTİLİN çalişaçak

  51. tek bağlantı ile tüm kodlar çalışsa daha iyi olur…

    bluetooth ile çalışan araba yaptım. şimdi bu projeyi yapmak istiyorum, motor sürücü bağlantılarını sürekli değiştiriyorum. sadece kodları telefon ile değiştirip istediğim modu kullanabilirim. önerim her kodu kullanabileceğimiz tek bağlantı şemalı projeler yapmanız..

    • L298N kartınız üzerinde 5V çıkışı mevcut ise Arduino’nuzu bu 5V kaynaktan besleyebilirsiniz. Sürücü kartı üzerindeki 5V ile Arudino üzerindeki 5V pinine bağlantı yaparak bu şekilde bir kullanım sağlayabilirsiniz. Ya da pilin + bağlantısını Arduino’nuzun Vin pinine bağlayabilirsiniz.

  52. 4 tekerlekli araç kitini kullanıyorum ancak araç sağa dönerken sağ tekerler geriye dönüyor sol tekerler takılma yaşıyor, ileri hareket ederken geri dönüş uyguluyor kısa bir süre. Videodaki kodun aynısını kullandım yardımcı olur musunuz.

    • Motorların dönüş yönünü tersine çevirmek için motordan çıkan 2 adet kabloyu motor sürücüsüne yaptığınız bağlantıların yerlerini değiştirmeniz yeterlidir. Takılma sorununuz için ise robotu düz ve sert bir zeminde kullanmayı deneyin ve kullandığınız pillerin tam dolu olduğunundan emin olunuz.

  53. Merhaba herşey ogretdiginz gibi montajını yaptım fakat çalışmıyor rx ışığı sürekli yanıp sönüyor on ışığı sabit yanıyor şimdiden yardımlarınız için teşekkür ederim

  54. abi çok güzel olmuş ellerinize sağlık ben bu malzemeleri robotistan.com dan aldım ve bu projeyi yaptım bende sizi takib ederek yaptım çok güzel oldu.

  55. Merhaba benim sizden aldığım ürünler ve kod çalışıyor ama 9 v luk pil yetmedi bende bir 9v u l298 e diğer 9v u ardinioya taktım 5 dakka sorunsuz çalıştı ve pil aşırı ısındı gücü bitti şuan motoru bile zor döndürüyor yardım ederseniz sevinirim

    • Öncelikle kaliteli bir marka pil kullanmanızı, hatta imkan varsa Li-Po veya Li-Ion pil kullanmanızı öneririm. Zorlanma sırasında fazla akım çekme gibi bir şey yaşayabilirsiniz. Pil konusunu çözdükten sonra bizlerle tekrar iletişime geçebilirsiniz.

  56. Merhabalar L298N kartında 12v yerine 5v luk kullandım ve 5v u direk Arduino ya bağladım, enerji aldım(L298N üzerinde ışıklar yandı) ama motorları çalıştıramadım motorları nasıl çalıştırabilirim (2 tane motor kullandım)
    ya da Arduino üzerinden direk 12v enerji alabilir miyim?

    • L298N motor sürücü üzerindeki +12V veya VIN kısmından gerekli gücü bağladıktan sonra paralel olarak Arduino’ya da oradan güç aktarımı yapmanızı tavsiye ederim. Bu şekilde sistem daha kararlı çalışacaktır. Güç aktarımı yaparken eksi (-) hattı ortak yapmayı unutmayınız.

      Güç sistemini kurarken ise alkalin pil yerine şarjlı bir pil pil kullanmanız, sistemin devamlılığı açısından önem arz etmektedir.

  57. BEn sizden tum gereken parcaları aldım yaptım robotu ileri gidiyo ama engel gordugunde geri gitmesi gerekirken sag motor geri gidiyo sol motor ise ileri gidiyo kod sunlar
    #define echoPin 12 //Ultrasonik sensörün echo pini Arduino’nun 12.pinine
    #define trigPin 13 //Ultrasonik sensörün trig pini Arduino’nun 13.pinine tanımlandı.
    #define MotorR1 7
    #define MotorR2 6
    #define MotorRE 9 // Motor pinlerini tanımlıyoruz.
    #define MotorL1 5
    #define MotorL2 4
    #define MotorLE 3

    long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.

    void setup() {

    // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
    // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
    pinMode(echoPin, INPUT);
    pinMode(trigPin, OUTPUT);

    pinMode(MotorL1, OUTPUT);
    pinMode(MotorL2, OUTPUT);
    pinMode(MotorLE, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
    pinMode(MotorR1, OUTPUT);
    pinMode(MotorR2, OUTPUT);
    pinMode(MotorRE, OUTPUT);

    Serial.begin(9600);

    }

    void loop() {

    digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi

    sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
    uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor

    Serial.println(uzaklik);

    if (uzaklik < 30) // Uzaklık 15'den küçük ise,
    {
    geri(); // 150 ms geri git
    delay(100);
    sag(); // 250 ms sağa dön
    delay(250);
    }
    else { // değil ise,
    ileri(); // ileri git
    }

    }

    void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 100); // Sağ motorun hızı 150

    digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 100); // Sol motorun hızı 150

    }

    void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.

    digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
    digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
    analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor)

    digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
    digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
    analogWrite(MotorLE, 150); // Sol motorun hızı 150

    }

    void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.v
    digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
    digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
    analogWrite(MotorRE, 100); // Sağ motorun hızı 150

    digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
    digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
    analogWrite(MotorLE, 100); // Sol motorun hızı 150

    }

  58. merhaba kodu verdiğiniz şekilde yazdım arduino programinda taratığımda son satır hata veriyor yani
    geri komutundaki
    analogWrite(MotorLE,150); satıra hatalı olduğunu söylüyor ve algılamıyor daha sistemimi calıştırmadım calıştırdığım taktirde de geri gidmeyecek bana yardımda buluna bilirmisiniz teşekürler

  59. merhaba bende herşeyi düzgün bir şekilde yaptım ama ultrasoniksensör 0 ölçümü yapıyor <15 yerine <-15 yapınca sadece düz gidiyor

  60. Projeyi yaptım ama tek farkım ben sizin gibi l298n yi 12v varta marka alkali pil ile besledim. Motorlar hiç çalışmıyor ileri, geri, sağ, sol gram haraket yok. Kodlarla ayarlamaya çalıştım yine hiç haraket yok. Daha önce aynı projeyi yapmıştım ama sadece 9v pil ile hem arduinoyu hemde l298n kartını beslemeye çalıştım ve pilin gücüyetmedi. Motorlar tık, tık, tık diye hafif hafif dönüyodu ve içinden ses çıkıyodu şimdi hiç çalışmıyo :(.

  61. merhabalar öncelikle engelden kaçan robot yaptım sorunsuz bir şekilde ama 2. ultrasonik mesafe sensoru ekleyebilirmiyim nasıl yaparım yardımcı olursanız çok çok memnun olurum

  62. sizin yaptığınız gibi yaptım her şeyi ama robotum engeli görünce titrer gibi bir hareket yapıyor (hızlı bir şekilde ve olduğu yerde ileri geri hareket ediyor) nasıl çözebilirim???

  63. MERHABA VIDEO YAPTIGINI HERSEYI YAPTIM KOD CALISIYOR FAKAT TEKERLEKLERE BAGLI OLAN MOTOR HAREKT ETMIYOR L298N SURUCU KARTININ IŞIGI YANIYOR. MOTORLARI K298N YE BAGLAMADAN DENEDIGIM ZAMAN MOTORLAR CALISIYOR FAKAT L298N SURUCU KARTINA BAGLADIM ZAMAN SADECE ISIGI YANIYOR. BIDE BEN DIREK L298N YE 9V VERDIM ARUDINIYA DA AYRIDAN 9V VERDIM BIRSEY OLURMU

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz