Arduino ile park sensörü yapımı-Profesyonel Düzey

Bu yazımızda profesyonel anlamda park sensörü yapmak için gerekli arduino devre şemasını ve gerekli arduino kodlarını inceleyeceğiz.

06 Şubat 2019 3.740 views 1

Bu yazımızda profesyonel anlamda park sensörü yapmak için gerekli arduino devre şemasını ve gerekli arduino kodlarını inceleyeceğiz.

İnternette paylaşılan ve arduino ile yapılmış bir çok park sensörü bazı yönleriyle eksik kalmaktadır. Genellikle mesafe sensöründen alınan uzaklık değeri çeşitli uzaklıklarda oranlanıp, uzaklık değerine göre led yakılmaktadır. Fakat buzzer kullanımında ya hiç buzzer kullanılmamakta ya da sadece en yakın mesafede buzzer ile ses çıkışı sağlanmaktadır.

Biz bu yazımızda arabalarda olduğu gibi mesafe durumuna göre değişen aralıklarla buzzerdan sesli uyarı ve yine mesafe durumuna göre yanan ledler ile tam manasıyla bir park sensörü yapmaya çalışacağız.

Arduino ile park sensörü yapmak için gerekli malzemeler;

Arduino uno, HC-SR04 ultrasonik mesafe sensörü, buzzer, 5 adet led, bağlantı kanloları…

Arduino park sensörü bağlantı devre şeması…

arduino-ile-park-sensörü-devresi

arduino-ile-park-sensörü-devresi

Bağlantıları yaparken ledlerin uzun bacaklarını sırasıyla arduino 2,3,4,5,6 numaralı dijital pinlere bağladık.

Buzzer’ın uzun veya + bacağı arduino 7 numaralı dijital pine bağladık.

HC-SR04 ultrasonik mesafe sensörü eco pinini arduino 12 numaralı pine,  trig pinini arduino 13 numaralı pine bağladık.

Devre şemmasını hazırladıktan sonra şimdi arduino park sensörü kodlarını yazmaya bağlayabiliriz.

Park sensörü arduino kodları nasıl yazılır?

Kodlara geçmeden önce bunun gibi projeler oluşturmak için arduino ile millis kullanımını konusunu iyi bilmemiz gerekiyor. Eğer daha önce arduino millis komutu kullanımı ile ilgili bilginiz yok ise aşağıdaki linkten detaylı bilgiye ulaşabilirsiniz.

Arduino ile millis komutunun kullanımı

arduino-ile-millis-komutu-nasıl-kullanılır

arduino-ile-millis-komutu-nasıl-kullanılır

Park sensörü yaparken mesafeye göre hem sesli hem de görüntülü uyarı alacağız. Sesli uyarı almak için buzzerdan uzak mesafelerde daha uzun aralıklarla, yakınlaştıkça daha kısa aralıklarla bip sesi elde etmek için millis komutunu kullanacağız.

Şimdi kodları hazırlayalım…

Kodları incelediğimizde; en üstte gerekli pin tanımlamalarını yapıyoruz. void setup() içinde pinlerin giriş veya çıkış durumlarını belirliyoruz.

loop dögüsü içerisindeki yukarıdaki kodları kullanarak ultrasonik mesafeden uzaklık değerini ölçüyoruz. Buradaki kodlar  ultrasonik mesafeden uzaklık değerini ölçebilmek için kullandığımız neredeyse standartlaşmış kodlardır.

Buzzerdan aralıklarla ses sinyali almak için millis komutunu kullanmamız gerektiğini başta belirtmiştik. Şimdi bu işlem için bir fonksiyon hazırlıyoruz.

Yukarıdaki ses isimli fonksiyon ile gelen milisaniye değerine göre buzzerdan aralıklarla bip sesi alacağız. Bunun için kodlarda ses(milisaniye değeri) şeklinde çağırdığımız yerlerde bu fonksiyonu çalıştırmış olacağız.

Mesafeyi hesapladıktan sonra if komutu ile uzaklık değerini karşılaştırarak mesafeye göre gerekli ledi yakacağız, aynı zamanda hazırladığımız ses fonksiyonuna milisaniye değerleri göndererek mesafe kısaldıkça daha sık aralıklarla buzzerdan ses alacağız.

Yukarıdaki kodlarda ise uzaklık 40 cm altına düştüğünde 1. led yanacak ve ses(400); komutu ile yukarıdaki hazırladığımız millis fonksiyonu çalışacak ve 400 milisaniye aralıklarla buzzer ses verecektir. Mesafe azaldıkça diğer ledler yanacak ve buzzerdan daha sık ses almak için ses fonksiyonuna az milisaniye değerleri göndererek gerçek anlamda bir park sensörü elde etmiş olacağız. Uzaklık değeri 45 ve daha fazla ise digitalWrite(buzzer,LOW); komutu ile buzzer’ı susturmuş oluyoruz.

Buradaki if komutları içerisindeki mesafe değerlerini değiştirebilirsiniz. Aynı zamanda ses fonksiyonuna göndereceğiniz milisaniye değerlerini de değiştirerek daha farklı mesafelerde farklı davranan bir park sensörü elde edebilirsiniz.

Konumuzu burada bitiriyoruz. Konuyla ilgili görüş, öneri ve düşüncelerinizi yorumlar kısmından bize iletebilirsiniz.

Yeni yazılarımızdan anında haberdar olmak için Kodlakafa Facebook hesabını takip etmeyi unutmayın…

https://www.facebook.com/kodlakafa

Bir sonraki yazımızda görüşmek dileğiyle…

Like
Beğen!Bunu sevdim!Süper!Muhteşem!Eh işte!Beğenmedim!
1
BENZER KONULAR
YORUM YAZ
Avatar
bosver

int D0=2;
int DA=A0;
int parlama=535;
int sensor=0;

void setup() {
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}

void loop() {
sensor=analogRead(DA);
if(sensor>=parlama)
{digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}

else{
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
}