Arduino İle Park Sensörü Yapımı

Arduino İle Park Sensörü Yapımı


Gerekli malzemeler:

  1. Arduino UNO
  2. Breadboard
  3. 4 x Led
  4. 1 adet Buzzer
  5. 4 adet 220Ω direnç
  6. 1 adet HC-SR04 ultrasonik mesafe sensörü
  7. 12 x Jumper kablo


NOT: Arduino üzerinden Breadboard üzerine GND(TOPRAKLAMA) ve 5V(GÜÇ) hatlarını almayı unutmayınız.. !!


ARDUİNO KODU:

**Bu kod sayesinde mesafe sensörümüz 50 cm’ye kadar uzaklıktaki engelleri algıladığında, cismin uzaklığına göre artan sıklıklarla bipleyen bir park sensörü yapmış olacağız.

/* "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ı.
 */

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 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ş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

Serial.println("UZAKLIK =");
Serial.print(mesafe);
Serial.println("cm");
Serial.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(50);
}
else if ((mesafe >= 10) && (mesafe <= 30)){
  //mesafe 10cm-30cm arasındaysa...
  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...
  digitalWrite(yesil,HIGH);
  digitalWrite(buzzer,HIGH);
  delay(50);
  digitalWrite(yesil,LOW);
  digitalWrite(buzzer,LOW);
  delay(500);
else if(mesafe >= 50){
  //mesafe 50cm'den büyükse...
  digitalWrite(beyaz,HIGH);
  delay(50);
  digitalWrite(beyaz,LOW);
  delay(1000);
}  i
else if(mesafe <= 0){
  //mesafe 0'dan küçükse...
  digitalWrite(buzzer,LOW);
  digitalWrite(kirmizi,LOW);
  digitalWrite(sari,LOW);
  digitalWrite(yesil,LOW);
  digitalWrite(beyaz,LOW);
}
}

Yorumlar

Yorum Gönder