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


https://microsoft.hackster.io/en-US/hvttrung/vehicle-artificial-perception-building-experimental-systems-93a3fc?ref=channel&ref_id=4087_trending___&offset=22 şunu da şuraya bırakayım ilgisi olanlar bi göz atsın
hocam konuya çok yabancı ama ilgili biri olarak bir kaç şey sorıyım vizeler proje ödevleri falan izin verirse uğraşmak istiyorum ben de, öncelikle LM393 IR hız sensörü ve çarkın uygulanmasının bir fotoğrafını atabilirmisiniz, bunu kullanmak yerine direk motorun maksimum hızını düşük tutup mesafenin belirli bir seviyeye düşmeye başladıkça yavaşlatma işlemi ve en sonunda durma yapılamaz mı bu hız sensörünü kullanmak yerine?
Pilinizin durumuna göre motorunuzun hızı değişecektir. Mesafeyi nasıl ölçmeyi planlıyorsunuz?
Bu arada buyrun.
@yunus__sarigul Çarkı tekerleğin olduğu mile geçirmeniz gerek. Tekerlekle beraber dönecek yani. Sensörde üstte ters şekilde duruyor. Çarkı içine alacak şekilde. Kullanması çok kolaydır.
hız ölçerin bir işlevi var mı park sırasında?
Tabii ki. Park edeceğin alanın uzunluğu yeterli mi onunla ölçüyorsun.
@yunus__sarigul öndeki sensörle de ölçüm yapıp ona göre karar veremez mi?
@frt yok olmuyor. Bu sensörler 15 derecenin üzerinde ölçüm yapamıyor. Yandaki sensör 15 cm den büyük olduğu sürece hız sensörü sayma yapacak. Gerekli uzunluğa ulaşırsa park edilebilir diye karar vermesi lazım.
@yunus__sarigul yok öyle değil. karşıdaki duvarla arasındaki azalan mesafeyi ölçemez mi?
@frt zaten o şekilde yapıyor içeri girerken
@yunus__sarigul bu arada benim aldığım sette de encoder bulunuyor. bunu kullanmak için bir de dediğin sensörden almak lazım anladığım kadarıyla değil mi?
@frt enkoder disk mi var yoksa LM393 mü
@yunus__sarigul https://www.aliexpress.com/item/Free-Shipping-SMD-Resistor-0603-300K-5-resistor-smd-resistor-300K-5000pcs-reel-in-stock-if/1877829065.html
@frt aynen çark var. Sensörden alman lazım. Birkaç lira bişey zaten
@yunus__sarigul neyse bi gelsin de hele, alırız sonra 🙂 1 ay oldu daha gelecek 🙁
Hocam iyi çalışmalar öncelikle. Yaptığın projeyi bu yıl okul projem olarak düşündüm gerekli yerlerde sıkıntı yaşadığım durumlarda irtibata geçebilir miyiz?
merhaba,rica etsem proje yazılımını benimle paylaşır mısınız? [email protected]