KodlaBatu

ARDUINO HC-SR04 MESAFE ÖLÇÜMÜ




Merhabalar. Bu yazım içerisinde, arduino hc sr04 ultrasonik mesafe sensörü, hc sr04 arduino, arduino mesafe sensörü kodu gibi aramalarınıza yanıt bulabileceksiniz.

Kulaklarımızın herhangi bir sesi algılayabilmesi için o sesin saniyede en az 20 (20 Hz) titreşim, en fazla ise 20.000 (20 Khz) titreşim değerlerine sahip olması gerekir. Ultrasonik sensörler ise doğru kodlama gerçekleştirildiğinde bu değerlerden daha yüksek ses dalgaları üretirler ve yansıyan dalgaları dinlemeye başlarlar. HC-SR04 ultrasonik mesafe sensörü de 40Khz frekansta çalışır ve sensörden elde edilen verilerden doğru sonuçlar oluşturularak doğru kodlama gerçekleştirildiğinde 2cm ile 400cm arasında olan nesnelerin uzaklıkları ölçülebilir. 

HC-SR04 ultrasonik sensör üzerinde trigger, echo, VCC ve GND pinleri yer alır. Sensörün ses dalgası oluşturabilmesi için, 10us(mikrosaniye) boyunca trigger pinini tetiklemek gerekir. Trigger pini yeterli şekilde tetiklendiğinde sensörümüz 8 adet sonik pals(ses vuruşu) üretir. Üretilen bu ses dalgası ses hızında ilerler ve önüne bir engel çıktığı takdirde ona çarparak aynı hızda tekrar sensöre gelir. Ses dalgasını gönderdikten sonra dinlemeye geçen sensörümüz oluşturduğu ilk vuruşu yakaladığında, o vuruşun üretildiği zamanı ve yakaladığı zamanı baz alarak hesaplama yaptığımızda sensör ile önüne çıkan engelin arasındaki mesafe doğru şekilde ölçülmüş olur.    

Üretilen bu ses dalgası normal şartlar altında 340 m/sn yani 0,034 cm/us hızla ilerler. Sensörümüzden 20 cm uzaklıkta bir nesne olduğu düşünülürse, X = V.T (mesafe = hız * zaman) => T = X / V (zaman = mesafe / hız) formülünde değerleri yerine koyduğumuzda; zaman = 20 / 0,034 = 588us olarak hesaplarız. Fakat bu sonuç, sesin 20cm mesafeyi katetme zamanıdır. Oluşturulan dalga sensörden çıkıp engele ulaşana kadar geçen zaman. Sinyal nesneden yansıyıp tekrar sensöre gelirken 20cm mesafeyi tekrar katedeceği için 588us süre daha geçmiş olacak. Bu nedenle sensör ile engel arasındaki mesafe hesaplanmak istendiği zaman geçen sürenin ikiye bölünmesi gerekir. Arduino HC-SR04 ile mesafe hesaplanmak istenirse aşağıdaki formülün kullanılması gerekir:

Mesafe = (süre/2)*0,034


ARDUINO HC-SR04 MESAFE ÖLÇÜMÜ PROJE


Malzemeler

  • Arduino
  • HC-SR04 ultrasonik sensör

ARDUINO HC-SR04 BAĞLANTISI


HC-SR04 maksimum 15mA çektiği için arduino üzerinde yer alan 5V çıkışı ile beslenebilir. Sensörün diğer pinlerinin bağlantısı aşağıdaki gibi yapılabilir.



ARDUINO HC-SR04 KODU


int trigPin = 10;     
int echoPin = 9;    
long gecenSure, cm;
 
void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
 
void loop() {

  digitalWrite(trigPin, LOW); // Temiz bir ölçüm için
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH); // Sensörü 10us tetikle
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);  // Trigger işlemini tamamla   
 
  // Yankılanan sesi dinlemek için
  gecenSure = pulseIn(echoPin, HIGH);  // Sesin geri dünüş süresini al
  // Geçen sürenin mesafeye çevrilme işlemi 
  cm = (gecenSure/2) *0.0343;     
  // Mesafeyi seri port ekranına yazdır
  Serial.print("Mesafe: ");
  Serial.print(cm);
  Serial.print(" cm");
  Serial.println();
  delay(500);  // Bir sonraki ölçüm için yarım saniye bekle
}
Sensör ile engel arasındaki mesafeyi seriport ekranını açarak takip edebilirsiniz. Bir yazımızın daha sonuna geldik. Görüşmek üzere.

Hiç yorum yok:

Yorum Gönder