KENDİ KENDİNE PARK EDEN ARAÇ

Arkadaşlar merhaba. Bu yazıda vakit buldukça uğraştığım proje olan, kendi kendine park eden araç nasıl yapılır genel hatlarıyla anlatmaya çalışacağım.

Araştıranlar bilir paralel park için çeşitli metodlar mevcut. Benim kullandığım her ne kadar tam olarak yansıtmasa da Şekil 1 de görünen metoda yakın bir metod.

 

Şekil 1 : Paralel Park Algoritması

Proje kaynak kodlarını vermeyeceğim. Algoritmasını yani nasıl bir yol izlemeniz gerektiğini anlatacağım. Projeye başlayan arkadaşlar takıldıkları yerde ulaşabilirler.

      Proje Gereksinimleri

  • Arduino Uno R3 Mikrodenetleyici
  • DC motor
  • HC-SR04 Ultrasonik Mesafe Sensörü
  • L9110S Motor Sürücü
  • LM393 Kızılötesi Hız Sensörü
  • SC90 9g Mikro Servo Motor
  • Model Araç
  • Arduino IDE

Saydığım malzemelerden aşina olmayacağınız bir LM393 IR sensör olabilir. Onu da kısaca açıklayayım:

Bir ışık kaynağı ve bir fotodiyottan oluşmaktadır. Işık kaynağından diyota ışık gelince çıkış ucu bir olmaktadır. Projede bir enkoder çark ile beraber aracın tekerleğinin ne kadar döndüğünün hesaplanması için kullanılmıştır. Çıkış ucu her 1 olduğunda sisteme kesme göndermektedir. Böylece çark dönerken mikrodenetleyici başka işler de yapabilmektedir. Hız sensörü ve enkoder çark Şekil 2 ve Şekil 3 te gösterilmiştir.

Şekil 2 : Enkoder Çark                                   Şekil 3 : LM393 IR Hız Sensörü

 

Sensör Yerleşimi

Şekil 4 : Sensör Yerleşimi

Durum Diyagramı

Şekil 5 : Durum Diyagramı

Durum 0  

  • Başlangıç durumudur. Aracın ortasında yer alan ölçüm biriminden alınan uzaklık verisi belli bir mesafenin altında olduğu sürece bu durumda kalınacaktır. İstenen uzaklık bulunduğu anda sistem “Durum 1” durumuna geçiş yapar.
  • Orta mesafe sensöründen sürekli ölçüm yapılacaktır. Eşzamanlı olarak düz-ileri hareket edilecektir. Sensör verisi 15 cm’den küçük olduğu sürece “Durum 0” durumunda kalacaktır.

Şekil 6 : Durum 0

Durum 1 

  • Şekil 7 de kırmızı çizgiyle gösterilen uzaklık 15 cm den büyük olduğu sürece mesafe ölçme işlemi yapılacaktır.
  • Yeterli mesafe bulunursa Durum 2 ye geçiş yapılacaktır.
  • Eğer mesafe yeterli değilse park edemeyeceği için final durumu olan Durum 7 ye geçecektir.
  • Eğer istenirse son duruma gidilmeyip, başlangıç durumuna geçilerek park yeri aranmaya devam edilebilir.

Şekil 7 : Durum 1

Durum 2

  • Durum 2 ye geçilmişse park yeri bulunmuş demektir.
  • Bu durumda araç bir süre sol-ileri gidip Durum 3 e geçiş yapmaktadır. (Eğer aracın dönüş açısında problem varsa bu yolu izleyiniz. Aksi durumda Şekil 1 de gösterildiği gibi düz devam ediniz.)

Şekil 8 : Durum 2

Durum 3

  • Durum 3, aracın parka ilk adımı olup, park alanına girmeyi sağlar. Bu durumda araç tam  sağ yapıp geri gelir.
  • Arka uzaklık sensöründen alından veri 25 cm den küçük olduğu sürece sağ geri gelme işlemi devam eder. 25 sayısı zorunlu değildir. Aracın içeriye girdiğini teyit amaçlı verilmiştir.
  • Şart sağlandıktan sonra Durum 4 e geçiş yapılır.

Şekil 9 : Durum 3

Durum 4

  • Bu durum parkın ikinci aşamasıdır.
  • Sol arka mesafe sensöründen okunan değer 7 cm’den büyük olduğu sürece bu işlem devam eder.
  • İşlem boyunca sol-geri hareket edilir. Şart sağlanınca Durum 5 e geçilir.

Şekil 10 : Durum 4

Durum 5

  • Durum 5 te araç artık park alanına girmiştir.
  • Park alanına paralel hale gelmesi için ön mesafe sensöründen okunan uzaklık değeri 6 cm’den küçük olduğu sürece sağ-ileri hareket edilir.
  • Bu durum tamamlandıktan sonra Durum 6 ya geçilir.

Şekil 11 : Durum 5

Durum 6

  • Bu durum park için son adımdır.
  • Aracın yola tam paralel olması için sol geri geldiği durumdur.
  • Bu durumda çeşitli yollar izlenebilir.
  • Bunlardan biri ön mesafe belli bir değerden büyük olduğu sürece sol-geri gelinmesi.
  • Bir diğeri ise arka ve ön mesafe eşit olana kadar sol-geri gelinmesi olabilir.
  • Projede iki de denemiştir. İkinci durum daha iyi sonuç vermiştir.

Şekil 12 : Durum 6

Durum 7

  • Durum 7 parkın bittiği durumdur.

 

Park yerinin uygun olduğu durum:

Park yerinin uygun olmadığı durum:

Okuduğunuz için teşekkürler. Umarım aklınıza takılan tek nokta durumların neden birden değilde sıfırdan başladığıdır.

#Arduino #DIY #SelfParkingCar

BeğenFavori PaylaşYorum yap
Tüm blog yazılarını gör