ARDUİNO İLE PARK SENSÖRÜ YAPIMI

Gerekli malzemeler:

Ben bu projeyi JSN-SR04T ler ile yaptım ama HC-SR04 ilede birebir aynı şekilde yapılabilir.

Aşağıdaki kodlama mantığı ile sensörleri çoğaltabilirsiniz.

Sensörleri 30,40,60 ve 100 cm lere göre ayarladım(eğer siz HC-SR04 kullanacaksanız farklı projede yani 30 değilde 5 e kadar düşebilirsiniz). 30cm den aşağı düşünce kırmızı/mavi led sabit yanacak ve devamlı bipleyecek, diğer mesafelerde kırmızı led yanıp sönecek ve aralıklı bipleyecek (mesafeleri istediğiniz gibi değişebilirsiniz). Kodlamaya göre 400cm den sonrasını ölçülmeyecek (Menzil Dışında yazacak).

Kodlamada tavsiyeleriniz olursa yorum olarak yazabilirsiniz.

Devre şeması:

Kullanacağınız kodlar:

#include <NewPing.h>

#define TRIGGER_PIN_2   6
#define ECHO_PIN_2      7
#define TRIGGER_PIN_1   8
#define ECHO_PIN_1      9
#define MAX_DISTANCE    400  //400cm den sonrası ölçülmeyecek
int buzzer=10,led=11,led2=12;

NewPing sonar1(TRIGGER_PIN_1, ECHO_PIN_1, MAX_DISTANCE);
NewPing sonar2(TRIGGER_PIN_2, ECHO_PIN_2, MAX_DISTANCE);

float duration1, distance1;
float duration2, distance2;

int iterations = 5;  //Geçersiz okumaları atar ve 5 okumanın ortalamasını alır.

void setup() {
Serial.begin(9600);
pinMode(buzzer,OUTPUT);
pinMode(led,OUTPUT);
pinMode(led2,OUTPUT);
}
void loop() {

duration1 = sonar1.ping_median(iterations);
duration2 = sonar2.ping_median(iterations);
  
distance1 = (duration1 / 2) * 0.0343;
distance2 = (duration2 / 2) * 0.0343;

Serial.print("Mesafe 1 = ");
if (distance1 >= 400 || distance1 <= 2) {
Serial.println("Menzil Dışında");
}
else {
Serial.print(distance1);
Serial.println("  cm");
}

Serial.print("Mesafe 2 = ");
if (distance2 >= 400 || distance2 <= 2) {
Serial.println("Menzil Dışında");
}
else {
Serial.print(distance2);
Serial.println("  cm");
}
Serial.println(" ");  //serial mönitörde 1 satır boşluk için

if(distance1<=30)  //30cm altına düşünce devamlı yanıp bipleyecek. sensör 1.
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  digitalWrite(led2,HIGH);
}
else if(distance2<=30)  //30cm altına düşünce devamlı yanıp bipleyecek. sensör 2.
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  digitalWrite(led2,HIGH);
}
else if(distance1<=40)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(40);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(40);
}
else if(distance2<=40)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(40);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(40);
}
else if(distance1<=60)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(60);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(60);
}
else if(distance2<=60)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(60);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(60);
}
else if(distance1<=100)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(100);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(100);
}
else if(distance2<=100)
{
  digitalWrite(buzzer,HIGH);
  digitalWrite(led,HIGH);
  delay(100);
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(100);
}

else if(distance1>=31)  //30cm de devamlı yanan ledleri ve buzzeri 30cm den uzaklaşınca susturuyoruz. sensör 1 için.
{
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(50);
}
else if(distance2>=31)  //30cm de devamlı yanan ledleri ve buzzeri 30cm den uzaklaşınca susturuyoruz. sensör 2 için.
{
  digitalWrite(buzzer,LOW);
  digitalWrite(led,LOW);
  digitalWrite(led2,LOW);
  delay(50);
}
}

NewPing kütüphanesini yüklemeden kodları çalıştırmaya kalkarsanız aşağıdaki hatayı alırsınız;

fatal error: NewPing.h: No such file or directory

 #include "NewPing.h"

          ^~~~~~~~~~~~

compilation terminated.

exit status 1

NewPing.h: No such file or directory



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Benim yaptığım;

Kaynak: https://dronebotworkshop.com/hc-sr04-ultrasonic-distance-sensor-arduino/

Author: Vatan Yiğit
Bilgi Yönetimi | Bilgisayar İşletmenliği | CompTIA A+ | Bilgi Teknolojileri

2 thoughts on “ARDUİNO İLE PARK SENSÖRÜ YAPIMI

    1. teşekkürler çoğusu tek sensör ile yapmış, farklı şeyler yapmaya çalışanlara yardımı olur inşallah.

Comments are closed.