Arduino Proje 9 – Sesli Park Sensörü

Merhaba arkadaşlar, bu yazımda sizlere buzzer yardımıyla sesli park sensörünün nasıl yapıldığından bahsedeceğim. Bu projemizde kullanacağımız mesafe sensörümüzün ölçtüğü mesafenin belirli bir değerin altında olması durumunda buzzerımızın ses çıkarmasını sağlayacağız. Projemize başlamadan önce aşağıdaki malzemeleri temin edelim. Dilerseniz simülasyon da gerçekleştirebilirsiniz.

Kullanacağımız Malzemeler

  1. 1 x Arduino Uno
  2. 1 x A’dan B’ye USB Kablo
  3. 1 x Orta Boy BreadBoard
  4. 8 x Erkek Erkek Jumper Kablo
  5. 1 x 10K Ohm Direnç
  6. 1 x HC-SR04 Mesafe Sensörü
  7. 2 x Aktif ve Pasif Buzzer

Haydi Başlayalım!

Öncelikle projemize başlamadan önce buzzerımızın çalışması ile ilgili bir noktaya değinmek istiyorum. Buzzer belirli frekansta ses çıkaran bir elektronik komponenttir. Çalışma mantığı bir led ile aynıdır. Anot ucuna aynı ledde olduğu gibi akım sınırlayıcı bir direnç bağlayarak buzzerın yanmadan çalışmasını sağlacayacağız. Burada dikkat edilmesi gereken noktalardan bir tanesi de derleyicimize kodumuzu yazarken buzzerın çalışmasını istediğimiz frekansı belirtmemizdir. Biz bu örnekte 440 Hz frekansta buzzer çalıştıracağız. Siz isterseniz buzzer çalışma frekansını değiştirerek de projeniz üzerinde denemeler yapabilirsiniz.

HC-SR04 mesafe sensörümüzün bağlantılarını diğer projelerimizde olduğu gibi burada da trig ve echo pinlerini digital pinlere diğer pinleri ise 5V ve GND pinlerine olacak şekilde bağladık. Bu projede ölçülen mesafenin 50 cm’den küçük olması durumunda buzzerımızın 440 Hz ile çalışmasını sağladık. Bunu sizde değiştirebilirsiniz. Bu devremizin çizimini hemen aşağıda verdim. İnceleyebilirsiniz.

Yukarıdaki devremizin istenilen şartlarda çalışabilmesi için gerekli algoritma hemen aşağıdadır. Kod üzerinde değişiklik yapabilirsiniz.

#define trig 12
#define echo 11
#define buzzer 9

void setup()
{
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(buzzer, OUTPUT);
  
}

void loop()
{
  float zaman;
  float mesafe;
  
  zaman = pulseIn(echo, HIGH);
  mesafe = zaman / 58.2;
  
  if(mesafe < 50){
    tone(buzzer, 440);
    delay(50);
    noTone(buzzer);
  }
}

Anlamadığınız yerleri yorum kısmından bizimle iletişime geçerek sorabilirsiniz.