5.00 / 1 oy

Arduino'da Ultrasonik Mesafe Sensörü Kullanımı Örneği

Ultrasonik mesafe sensörü, park sensörü gibi gündelik uygulamalarda kullanabileceğimiz bir elektronik component'idir. Ultrasonik sensörlerin çalışma mantığı, bir gözünden ses sinyali göndererek diğer gözünden gönderdiği sesin bir cisme temas edip etmediiğini kontrol ederek çalışırlar. Gönderdiği ses ne kadar erken bir cisme çarparsa o kadar yakınında bir cisim olduğunu algılarlar ve bu mesafeyi de birazcık kod yazarak cm cinsinden öğrenebiliriz.

Arduino component'i olarak satın aldığımız ultrasonik sensörlerin 4 adet pini bulunmaktadır: artı, eksi pinleri ile trigger pini (tetikleme pini) ve echp pini (dönen sinyali dinlediğimiz pin). Ancak tinkercad üzerinde tasarlanmış olan ultrasonik mesafe sensörü simülasyonunun üç adet pini olduğu için bu uygulamayı üç pin üzerinden hazırlayacağım, çalışma mantıkları birebir aynı olacak. Üçüncü pin hem echo hem de trigger pini olarak hem input hem de output olacak şekilde loop içerisinde kodlanarak belirlenecek.

arduino ultrasonik mesafe sensörü

Şimdi ultrasonik mesafe sensörümüz için karşısındaki cisim ile arasındaki mesafeyi cm cinsinden ölçebilen kodları yazalım. Bu uygulamayı birazdan buzzer ile bir park sensörü uygulamasına dönüştüreceğiz.

arduino mesafe ölçümü cm

Kodlar:

const int ultrasonik = 8;

void setup() {
  Serial.begin(9600);
}

void loop() {
  
  int sure, cm;
  pinMode(ultrasonik, OUTPUT);
  digitalWrite(ultrasonik, LOW);
  delayMicroseconds(2);
  digitalWrite(ultrasonik, HIGH);
  delayMicroseconds(5);
  digitalWrite(ultrasonik, LOW);

  pinMode(ultrasonik, INPUT);
  sure = pulseIn(ultrasonik, HIGH);

  cm = mikrosaniyeCmDonustur(sure);

  Serial.print("Mesafe: ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();

  delay(50);
}

int mikrosaniyeCmDonustur(int mikrosaniye) {
  return (mikrosaniye/2)/29;
}

Mikrosaniye cinsinden geçen zamanı cm uzaklık birimine dönüştüren kodları mikrosaniyeCmDonustur fonksiyonu içinde bulabilirsiniz. Ultrasonik mesafe sönsöründe gönderip alma süreleri arasında normalde arduino'da kullandığımız delay metodunda olduğu gibi milisaniye yerine mikrosaniye cinsinden yazdığımız için delayMicroseconds fonksiyonu kullanılır.

mr. faruk

28.05.2020 16:48

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Arduino'da Ultrasonik Mesafe Sensörü Kullanımı Örneği

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.