Arduino İle Park Sensörü Nasıl Yapılır [Kodlar-Devre Şeması]

Merhabalar arkadaşlar. Arduino öğrenenlerin ilk projeleri arasında park sensörü mutlaka var. Ayrıca okulda öğrencilerimiz ile yapacağımız ilk projelerden birisi de kesinlikle bu olmalı diye düşünüyorum. Kısaca sistemin nasıl çalışacağından bahsedeyim.

Elimizde bir adet hcsr-04 mesafe sensörü var. Bu sensör 4 metre alana kadar ölçme yapabiliyor. Biz bu sensör ile mesafeye duyarlı bir park sensörü yapacağız.

Park Sensörü İçin Malzemeler

- Arduino Uno

- HcSr-04 mesafe sensörü

- Breadboard

- Direnç 220 ohm ve led

- Buzzer (zil)

Arduino Park Sensörü Devre Şeması ve Kodlar



const int trig = 2; // değişkenler tanımlıyoruz
const int echo = 3;
int mesafe;
int zaman;
const int buzzer = 4;
const int kirmizi = 5;
const int sari = 6;
const int yesil = 7;
const int beyaz = 8;

void setup()

{

pinMode(trig,OUTPUT); // trig pini çıkış olsun.
pinMode(echo,INPUT); // echo pini giriş olsun.
pinMode(buzzer,OUTPUT); // buzzer pini çıkış olsun.
pinMode(kirmizi,OUTPUT); // LED bağlı pinler çıkış olsun.
pinMode(sari,OUTPUT);
pinMode(yesil,OUTPUT);
pinMode(beyaz,OUTPUT);
Serial.begin(9600); // seri haberleşmeyi başlatıyoruz

}

void loop()

{

digitalWrite(trig,HIGH);
delay(1);
digitalWrite(trig,LOW); // 1 msn aralıklarla trig pinini HIGH (YÜKSEK) yapıyoruz.
zaman=pulseIn(echo,HIGH);
mesafe=(zaman/2)/28.9; // sıcaklık 25 derece için katsayı=28,9 Eğer sıcaklık değişirse bu değerde değişir arkadaşlar
Serial.println("UZAKLIK =");
Serial.print(mesafe);
Serial.println("cm"); Serial.println("--------------------------"); 
if ((mesafe >= 0) && (mesafe <= 10))

{

 //mesafe 0 ile 10cm arasındaysa çalışacak kodlar

 digitalWrite(kirmizi,HIGH);
 digitalWrite(buzzer,HIGH);
 delay(50);
 digitalWrite(kirmizi,LOW);
 digitalWrite(buzzer,LOW);
 delay(50);

}

else if ((mesafe >= 10) && (mesafe <= 30))

{

 //mesafe 10 cm-30 cm arasındaysa çalışacak kodlar

 digitalWrite(sari,HIGH);
 digitalWrite(buzzer,HIGH);
 delay(30);
 digitalWrite(sari,LOW);
 digitalWrite(buzzer,LOW);
 delay(250);
}

else if ((mesafe >= 30) && (mesafe <= 50))

{

 //mesafe 30cm-50cm arasındaysa çalışacak kodlar

 digitalWrite(yesil,HIGH);
 digitalWrite(buzzer,HIGH);
 delay(50);
 digitalWrite(yesil,LOW);
 digitalWrite(buzzer,LOW);
 delay(500);

}

 else if(mesafe >= 50)

{

 //mesafe 50 cm'den büyükse çalışacak kodlar

 digitalWrite(beyaz,HIGH);
 delay(50);
 digitalWrite(beyaz,LOW);
 delay(1000);

}

 else if(mesafe <= 0)

{

 //mesafe 0'dan küçükse çalışacak kodlar

 digitalWrite(buzzer,LOW);
 digitalWrite(kirmizi,LOW);
 digitalWrite(sari,LOW);
 digitalWrite(yesil,LOW);
 digitalWrite(beyaz,LOW);

}

}

0 yorum:

Yorum Gönder