Herkese merhaba arkadaşlar, bu projemizde adım adım ilerleyerek arabalarımızda bulunan park sensörlerinin küçük bir kopyasını yapacağız.

Malzeme Listesi

HC-SR04 ultrasonik sensör : Çalışma mantığı çok basittir. Bir tarafından sesi gönderirken diğer taraftan sesi alır. Ses hızı bilindiğinden fizik kurallarını kullanarak karşısında cisim var mı yok mu ve ne kadar mesafede bulunuyor anlayabilir.

Buzzer : Sensörden gelen verileri değerlendirerek bizim anlayabileceğimiz verilere dönüştürür yani ses sinyali vererek bizi uyarır.

Devre Şeması

1- Sensörü yerleştiriyoruz.

  • Kırmızı kabloyu sensörün üzerindeki Vcc pinine diğer ucunu da Arduino üzerinde 5V’ye takıyoruz.
  • Siyah kablo ile sensör üzerindeki Gnd pinini Arduino üzerindeki GND pini ile bağlıyoruz.
  • Yeşil kabloyla sensördeki Trig pini ile Arduino üzerindeki 7. pine 
  • Sarı ile de sensördeki Echo pinini ve Arduino da bulunan 6. pini birleştirdik.

Böylece sensörün bağlantısını tamamladık.

2-Buzzerımızı bağlıyoruz.

  • Bu işlemi yaparken üzerindeki artı işaretine dikkat etmemiz gerekiyor. Artı kısmını sensör tarafında olacak şekilde takıyoruz.
  • Buzzerın artı bacağına 330 Ω direncimizi ( turuncu-turuncu-kahverengi) takıyoruz. Direncin diğer tarafı breadboardın diğer tarafına yerleştirdik. 
  • Direncin boşta kalan bacağından arduinonun 8. pinine bağlantımızı yapıyoruz  

Buzzerın boşta kalan bacağından eksi bacağından arduino gnd pinine bağlantı yapıyoruz.   

  Devremizin son hali :

ŞİMDİ ARDUİNOMUZU BİLGİSAYARA BAĞLAYIP KOD KISMINA GEÇEBİLİRİZ!

Arduino Kodu

#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);
}

DİKKAT!!

Kodu çalıştırmadan önce Arduinonun bilgisayarın bir portuna bağlı olduğundan emin olun.

Karşılaşabileceğiniz Problemler

Buzzerdan Ses Gelmemesi Durumu 

Direnci çıkarıp kabloyu buzzerın direk artı yüküne bağlayın ama unutmayın ki dirençsiz kullanmak buzzerın ömrünü kısaltır. Buzzer Arduinodan gelen 5V’den dolayı zarar görebilir.

Kodun Exit Status 1 Hatası Vermesi 

Böyle bir durumda gösterilen satırda yazım yanlışı hatası ( ; koymayı unutmak gibi) yapmış olabilirsiniz.Kodunuzu dikkatlice inceleyip yanlışı düzeltmeye çalışın.

Kodunuzda Arduino Derleme Hatası

Devrenizdeki yerleşimlerde hata olabilir. Devrenizi tekrar kurunuz.