Arduino ile Basit Park Sensörü Yapımı

HCSR04 Mesafe Sensörü ve Arduino Uno Kullanarak Park Sensörü Yapalım

Gerekli malzemeler: ( Not: Arduino Basit Park Sensörü Yapımı ve 10. Derse Kadar Olan Dersleri “Arduino Başlangıç Seti” İle Yapabilirsiniz. Malzemeler Bu Sette! >)

Projedeki Malzemeler Bu Sette. Şimdi İncele >

Buzzer dediğimiz devre elemanını ufak bir hoparlör olarak düşünebiliriz. Hoparlörler kadar yüksek ve detaylı ses üretemeseler de, “bip” leme seslerini çıkartmada oldukça başarılıdırlar.

HC-SR04, robotik projelerde Arduino ile kullanılan en popüler sensörlerden birisidir. Kullanımı oldukça kolaydır ve program kısmı düzgün olduğu sürece 2cm – 400cm arası uzaklıkları düzgün bir şekilde ölçebilmektedir. Çalışma prensibi ise şu şekildedir: Sensörün Trig pininden uygulanan sinyal 40 kHz frekansında ultrasonik bir ses yayılmasını sağlar. Bu ses dalgası herhangi bir cisme çarpıp sensöre geri döndüğünde, Echo pini aktif hale gelir. Biz ise bu iki sinyal arasındaki süreyi ölçerek -yani sesin yankısını algılayarak- cismin sensörden uzaklığını tespit edebiliriz.

Diğer bütün sensörler hakkında bilgi almak için yazımızı inceleyin >>> Sensör Nedir? Sensör Çeşitleri Nelerdir?

Park Sensörü Yapımı İçin Gerekli Devre

Devre şemamız bu şekilde:

Arduino Park Sensörü Devresi

Şimdi Gelelim Kodlara – Arduino Park Sensörü Kodları

Mesafe sensörü kodunu aşağıda anlamaya çalışalım ve park sensörü için kodumuzu yazalım:

#define echoPin 6
#define echoPin 6
#define trigPin 7
#define buzzerPin 8

int maximumRange = 50;
int minimumRange = 0;



void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);

}

void loop() {

  int olcum = mesafe(maximumRange, minimumRange);
  melodi(olcum*10);

}

int mesafe(int maxrange, int minrange)
{
  long duration, distance;

  digitalWrite(trigPin,LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration / 58.2;
  delay(50);

  if(distance >= maxrange || distance <= minrange)
  return 0;
  return distance;
}

int melodi(int dly)
{
  tone(buzzerPin, 440);
  delay(dly);
  noTone(buzzerPin);
  delay(dly);
  
}

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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir