Arduino HC-SR04 Ultrasonic Sensör Kullanımı

Merhaba arkadaşlar, Arduino Projeleri kapsamında kullandığımız sensörlerin başında gelen bir diğer sensör de mesafe ölçen HC-SR04 Ultrasonic Sensördür.  Arduino ile yaptığımız bir çok uygulamada farklı amaçlarda kullandığımız Ultrasonic sensör ile ilgili temel bilgileri ve örnek uygulamaları bu yazıda göreceğiz.

HC-SR04 Ultrasonic Sensör , mesafe ölçmek amacıyla kullanılan bir sensördür. İsminden de anlaşılacağı gibi temel mantık "Sonic" yani ses dalgaları kullanılarak ölçüm yapılmaktadır. Bildiğimiz gibi ses dalgaları havada , deniz seviyesinde  ve 21 °C sıcaklıkta yaklaşık 343.2 m/s (343.2 metre/saniye) (yaklaşık 1235.5 km/saat) hız ile yol alır. HC-SR04 Ultrasonic Sensör, ses dalgalarının bu özelliğinden faydalanılarak, sesin bir cisme ulaşıp, çarpıp , geri dönme süresini ölçerek mesafenin hesaplandığı bir sistemdir. 

Arduino ile HC-SR04 Ultrasonic Sensör Uygulamaları  için farklı seçenekler düşünülebilir. Bu yazıda temel arduino kodlarını görüp birkaç örnek yapalım. Öncelikle yapacak olduğumuz uygulamalar için malzemeleri şu şekilde sıralayabiliriz.

1 x Arduino UNO R3
1 x HC-SR04 Ultrasonic Sensör
2 x Direnç 100 ohm
1 x Kırmızı Led
1 x Yeşil Led

 HC-SR04 Ultrasonic Sensör ile ilk uygulamamız okunan mesafe değerinin serial ekrana yazılması olacak bunun için gerekli Arduino Kodu aşağıdaki gibidir. Bu uygulamada HC-SR04 Ultrasonic Sensörden okunan değerler serial ekrana 500 mili saniye aralıklarla yazdırılmıştır. Uygulamada Ultrasonic Sensörün TRIG pini Arduino üzerindeki 8 nolu pine, ECHO pini arduino üzerindeki 9 nolu pine bağlanmıştır.


/* Arduino HC-SR04 Ultrasonic Sensör Uygulaması */
/* http://mvaslan.blogspot.com - Robot Projeleri */

int TrigPIN = 8;
int EchoPIN = 9;

void setup()
{ 
  Serial.begin (9600);
  pinMode(TrigPIN, OUTPUT);
  pinMode(EchoPIN, INPUT);
}

void loop() 
{
  long sure, mesafe; 
  //alt kısımda ses dalgası gönderilip alınarak toplam süre ölçülür.
  digitalWrite(TrigPIN, LOW);  
  delayMicroseconds(2); 
  digitalWrite(TrigPIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPIN, LOW);
  sure = pulseIn(EchoPIN, HIGH);
  
  //Bu kısımda da geçen süreden aradaki mesafe hesaplanır.
  mesafe = (sure/2) / 29.1;
  
  //ölçülen değerin serial ekrana yazdırılma işlemi 
    Serial.print("Öçlülen Mesafe : ");
    Serial.print(mesafe);
    Serial.println(" cm");
    delay(500); 
}

İkinci örnekte de HC-SR04 ultrasonic sensör ile led kontrolü yapacağımız bir uygulama olsun. Uygulama bağlantımıza biri kırmızı diğeri yeşil olmak üzere iki led ekleyelim ve ölçülen mesafe değerine göre bu ledlerin yanıp sönmelerini kontrol edelim. Sırasıyla 6 ve 7 nolu pinlere bağladığımız kırmızı ve yeşil ledler, mesafe 100 cm den küçük olunca kırmızı ledin yandığı yeşil ledin söndüğü ve mesafe 100cm den büyük olduğu durumda yeşil led yanarken kırmızı led sönük olsun.



/* Arduino HC-SR04 Ultrasonic Sensör Uygulaması */
/* http://mvaslan.blogspot.com - Robot Projeleri */

int TrigPIN = 8;
int EchoPIN = 9;
int KirmiziLED = 6;
int YesilLED =  7;

void setup()
{
  pinMode(TrigPIN, OUTPUT);
  pinMode(EchoPIN, INPUT);
  pinMode(KirmiziLED, OUTPUT);
  pinMode(YesilLED, OUTPUT);
}

void loop()
{
  long sure, mesafe;
 
  //alt kısımda ses dalgası gönderilip alınarak toplam süre ölçülür.
  digitalWrite(TrigPIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPIN, LOW);
  sure = pulseIn(EchoPIN, HIGH);
 
  //Bu kısımda da geçen süreden aradaki mesafe hesaplanır.
  mesafe = (sure/2) / 29.1;
 
  if(mesafe<100)
  {
    digitalWrite(KirmiziLED,LOW);
    digitalWrite(YesilLED,HIGH);
  }
}

Arduino ile HC-SR04 Ultrosonic Sensor uygulamaları ile ilgi farklı paylaşımlar için takipte kalın kolay gelsin..



2 yorum

Click here for yorum
Adsız
admin
Haziran 08, 2017 ×

kodlar çalışmıyor

Reply
avatar
mvaslan
admin
Haziran 09, 2017 ×

Merhaba Adsız, Buraya denenmemiş kod paylaşmadım hiç. Sanırım Bazı karakterler tema yüzünden silinmiş görünüyor. kirmiziled yerine irmiziled falan yazıyor şimdi farkettim. Direk kopyala yapıştır yapmışsan sorun olmuştur. Düzeltirim. Sende düzeltilmiş haliyle dene bakalım. Kolay gelsin.

Reply
avatar