/* "HC-SR04 Ultrasonik Mesafe Sensörü kullanarak Park Sensörü"
Arduino ile HC-SR04 kullanarak cisimle olan mesafeye göre
BUZZER ve LEDleri çalıştıran park sensörü programı.
<u>diyot.net</u> */
const int trig = 2; // değişkenler tanımla.
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 mavi = 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(mavi,OUTPUT);
<b>Serial</b>.begin(9600); // seri haberleşme başlat.
}
void loop() {
digitalWrite(trig,HIGH);
delay(1);
digitalWrite(trig,LOW);
// 1 msn aralıklarla trig pinini HIGH yap.
zaman=pulseIn(echo,HIGH);
mesafe=(zaman/2)/28.9;
// sıcaklık 25 derece için katsayı=28,9
<b>Serial</b>.println("UZAKLIK =");
<b>Serial</b>.print(mesafe);
<b>Serial</b>.println("cm");
<b>Serial</b>.println("--------------------------");
if ((mesafe >= 0) && (mesafe <= 10)){
//mesafe 0 ile 10cm arasındaysa...
digitalWrite(kirmizi,HIGH);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(kirmizi,LOW);
digitalWrite(buzzer,LOW);
delay(250);
}
else if ((mesafe >= 10) && (mesafe <= 30)){
//mesafe 10cm-30cm arasındaysa...
digitalWrite(sari,HIGH);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(sari,LOW);
digitalWrite(buzzer,LOW);
delay(500);
}
else if ((mesafe >= 30) && (mesafe <= 50)){
//mesafe 30cm-50cm arasındaysa...
digitalWrite(yesil,HIGH);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(yesil,LOW);
digitalWrite(buzzer,LOW);
delay(750);
}
else if(mesafe >= 50){
//mesafe 50cm'den büyükse...
digitalWrite(mavi,HIGH);
delay(50);
digitalWrite(mavi,LOW);
delay(1000);
}
else if(mesafe <= 0){
//mesafe 0'dan küçükse...
digitalWrite(buzzer,LOW);
digitalWrite(kirmizi,LOW);
digitalWrite(sari,LOW);
digitalWrite(yesil,LOW);
digitalWrite(mavi,LOW);
}
}