HC-SR04 Ultrasonik Mesafe Sensörü

HC-SR04 Ultrasonik Mesafe Sensörü

HC-SR04 Ultrasonik Mesafe Sensörü Pinleri
4 adet pini bulunmaktadır.

  • Vcc = 5v kaynağı.
  • Gnd = Topraklama bacağı.
  • Trig = Sensörün ses dalgası gönderen kısmı. (Trigger) pini, ultrasonik ses sinyallerini tetiklemek için kullanılır.
  • Echo = Gönderilen ses dalgasını alan kısmı. Yansıtılan sinyal alındığında bir BPM üretir. Pulse uzunluğu, iletilen sinyalin algılanması için geçen süre ile orantılıdır.

HC-SR04 Ultrasonik Mesafe Sensörünün  teknik özellikleri

Çalışma Gerilimi : DC 5V
Çalışma Akımı : 15mA
Çalışma Frekansı : 40KHz
Maksimum Ölçüm : 4m ( 2 m kadar önerilir )
Minimum Ölçüm  : 2cm
Ölçüm Aralığı : 3mm
Ölçüm Açısı : 15 derece
Tetikleyici Giriş Sinyali : 10µS TTL
Boyut : 45 x 20 x 15 mm

HC-SR04 Çalışma Mantığı

HC-SR04
Sensörün üzerinde iki kısım vardır. Sensörü kullanmak için Trig pininden 10us (mikrosaniye) ‘ lik pals gönderilir.  Buna yanıt olarak, sensör 40 KHz’de 8 darbeden oluşan bir ses patlaması iletir. Bu 8 darbe, cihazın benzersiz ses imzası ile çıkar ve alıcının gelen özel ses dalgalarını, ortam gürültüsünden ayırt etmesini sağlar. 8 ultrasonik ses darbesi vericiden çıktıktan ve cisme çarpıp geri gelip ECHO pinine ulaştıktan sonra, ECHO pini sinyalin başlangıcını oluşturmaya başlamak için HIGH olur. Giden ses dalgaları geri gelmezse, ECHO sinyali 38 mS (38 milisaniye) sonra zaman aşımına uğrar ve azalır. Böylece 38 mS’lik bir darbe sensör aralığında herhangi bir engel olmadığını gösterir.
Bu sensör, robotik projelerde Arduino ile kullanılan en popüler sensörlerden birisidir. Kullanımı oldukça kolaydır ve program kısmı doğru olduğu sürece ölçüm yaptığı mesafe 2-200 cm arasındadır. 200 cm’den fazla mesafelerde verimli bir şekilde ölçüm yapmaz.
HC-SR04
Hesap Örneği
Sensörün önünde bilinmeyen bir mesafede bir nesnemiz olduğunu ve ECHO pininde 500 µS genişliğinde bir darbe aldığımızı varsayalım. Şimdi nesnenin sensörden ne kadar uzak olduğunu hesaplayalım. Aşağıdaki denklemi kullanacağız.
Mesafe = Hız x Zaman
Burada Zaman değerine yani 500 µs değerine sahibiz ve hızı biliyoruz. Neyin hızı bu hız? Sesin hızı elbette! 340 m / s. Mesafeyi hesaplamak için ses hızını cm / µs’ye dönüştürmeliyiz. “Mikrosaniye başına santimetre cinsinden ses hızı” için hızlı bir Google araması ile, 0,034 cm / µs olduğunu söyleyecektir. Matematiğini hesaplayarak bunu yapabilirsiniz, ancak google ile aramak daha kolaydır. Her neyse, bu bilgilerle mesafeyi hesaplayabiliriz!
Mesafe = 0,034 cm / µs x 500 µs
Pulse’nin sinyalin gönderilmesi ve geri yansıtılması için geçen süreyi gösterdiğini, böylece mesafeyi elde etmek için sonucunuzu ikiye bölmeniz gerektiğini unutmayın.
Mesafe = (0,034 cm / µs x 500 µs) / 2
Nesnenin sensörden 8.5 santimetre uzakta olduğunu basit bir formül ile kolayaca öğrendik.

HC-SR04

Arduino Örnek Ultrasonik Mesafe Sensörü Kullanımı Kodları

int trigPin = 12;
int echoPin = 11;
long sure;
long uzaklık;
Burada öncelikle bizim ses dalgası gönderen ve ses dalgasını alan pinlerimizin Arduino kartımız üzerindeki pinlerimizi belirliyoruz. Daha sonra süre ve uzaklık adında iki tane değişken atıyoruz.
pinMode(trigPin, OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);
Burada ise trig pinimizi OUTPUT olarak belirliyoruz. Bunun sebebi ise ses dalgasını gönderen kısmımız trig pinimiz olmasından dolayı. Echo pinimiz ise gönderilen ses dalgasını aldığı için INPUT olarak belirtiyoruz ve son olarak Serial.begin ile de seri haberleşmemizi başlatıyoruz.
digitalWrite(trigPin, LOW);İlk olarak trip pinimizi low durumunda başlatıyoruz.
delayMicroseconds(5); 5 Mikrosaniye(saniyenin milyonda biri) beklemesini belirtiyoruz.
digitalWrite(trigPin, HIGH); Daha sonra pinimizin ses dalgası göndermesi için emir veriyoruz.
delayMicroseconds(10);
digitalWrite(trigPin, LOW);   Yeni ses dalgası üretebilmesi için trig pinimizi pasif durumuna getiriyoruz.
sure = pulseIn(echoPin, HIGH); Gönderilen ses dalgasının geri dönmesindeki süre ölçülüyor.
uzaklik= sure /29.1/2;Ölçütüğümüz süre uzaklığa çevriliyor.
if(uzaklik > 200) if komutu ile 200 cm ve üzeri bütün uzaklıklar 200 cm olarak yazılacak.
uzaklik = 200;
Serial.print(“Uzaklik “); 
Serial.print(uzaklik); Ölçtüğümüz uzaklığımız bilgisayarımıza yani Arduino programımızda Araçlar>Seri Port Ekranı kısmına yazılıyor.
Serial.println(” CM “); 
  delay(100); }

Arduino Örnek Ultrasonik Mesafe Devresi

Bağlantımızı yaptıktan sonra, Arduino programımızı açıp Dosya>Örnekler>NewPing>NewPingExample adımlarını takip ederek örnek kodu açıyoruz. Bu koddaki #define TRIGGER_PIN 12 ve #define ECHO_PIN 11 satırları, HC-SR04 sensörümüzün Trig ve Echo pinlerinin bağlanacağı Arduino pinlerini ayarlamamızı sağlıyor. #define MAX_DISTANCE 200 satırı da sensörümüzün ölçeceği maksimum mesafayi 200 cm olarak ayarlamamızı sağlıyor.loop fonksiyonundaki delay(50) komutu, her bir ultrasonik ses göndermenin arasında 50 ms bekleme yapılmasını sağlıyor. İki ölçüm arasındaki süreyi bu komutla değiştirmemiz mümkün, dikkat etmemiz gereken ise bu iki ölçüm arasındaki minimum süre 29 ms’den daha az olmaması. Aksi takdirde bir önceki ölçümden gelen yankı ile çakışma meydana gelir ve ölçümümüz doğru bir sonuç vermez.

 

 

Benzer Yazılar

YAZAR : Admin

Elektronik Mühendisi E.Ü. Tıp Fakültesi Kalibrasyon Sorumlusu X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

DS18B20

DS18B20 sıcaklık sensör entegresi , Hassas ölçüm yapması ve fabrikasyon olarak kalibreli olması sayesinde tüm …

Bir cevap yazın