Ana Sayfa Raspberry Pi Raspberry Pi ile Mesafe Ölçümü

Raspberry Pi ile Mesafe Ölçümü

4 min read
3
0
2,789

Merhaba Arkadaşlar;

Bu uygulamada HC-SR04 ile mesafe ölçümü yapacağım. Bunun için ilk önce HC-SR04 ü biraz tanıyalım.

4 pinden oluşmaktadır. VCC- GND ve pals pinleri. Trig pini ile pals verip Echo pinini dinleriz ve gelen sinyalin uzunluğuna göre bize sonuncu bildirir.

Şekilde görüldüğü gibi 10uS lik pals den sonra 8 defa 40 khz de ölçüm alarak bize Echo pininden çıkış vermektedir.

Raspberry Pi bağlantısı için ben Trig ->GPIO  0 ve Echo için GPIO 1 nolu gpio pinlerine bağladım. Pinleri hatırlamak gerekirse aşağıdaki resmi inceleyebilirsiniz. Vcc -> 5V  ve GND yide bağladıktan sonra programa geçebiliriz.

Netbeans ile yeni proje açıp Pi mizi seçelim. (Netbans kurulumu ve proje oluşturmak için önceki yazılarıma bakabilirsiniz.) İlk olarak pinleri giriş çıkış ayarladıktan sonra Trig pinine gerekli pals verilir.

        digitalWrite(TRIG, HIGH);
        delayMicroseconds(20);
        digitalWrite(TRIG, LOW);
daha sonra echo pini palsi bağşatıncaya kadar bekleriz
        while(digitalRead(ECHO) == LOW);
Pals başlayınca sistem timer  daki değer başka bir değişkene yedeklenir.
        long startTime = micros();
ve Pals 0 oluncaya kadar beklenir.
        while(digitalRead(ECHO) == HIGH);
Echo 0 olduktan sonra sistem timer daki değerden yedeklediğimiz çıkartılır.
        long travelTime = micros() - startTime;
Sonuç Elde edilir.
        int distance = travelTime / 58;
Programın tam halini aşağıda veriyorum.

 

#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>

#define TRIG 13
#define ECHO 12
void setup()
{
   wiringPiSetup();
   pinMode(TRIG, OUTPUT);
   pinMode(ECHO, INPUT);

   //TRIG pini başlangıç için low
   digitalWrite(TRIG, LOW);
   delay(30);
}

int getCM()

{
   //trig pals gönder
   digitalWrite(TRIG, HIGH);
   delayMicroseconds(20);
   digitalWrite(TRIG, LOW);

   //echo başlangıcına kadar bekle
   while(digitalRead(ECHO) == LOW);

   //echo bitene kadar bekle
   long startTime = micros(); 
   while(digitalRead(ECHO) == HIGH);
   long travelTime = micros() – startTime;

   //mesafeyi olc
   int distance = travelTime / 58;

   return distance;
}
int main(int argc, char** argv)
{
   setup();
   printf(“Uzunluk: %dcm\r\n”, getCM());
   return (EXIT_SUCCESS);
}

 

Netbeans üzerinden programımızı çalıştırırsak sonuncu görmüş olacağız.

 

Bir sonraki uygulamada görüşmek üzere…

  • Raspberry Pi IP Adresi Öğrenme

    Merhaba Arkadaşlar, bu yazımızda Raspberry Pi’nin IP adresini bulmayı göstereceğim. Raspbe…
  • Raspberry Pi İlk Kurulum

    Merhaba Arkadaşlar, bu yazımızda Raspberry Pi’ye Raspbian İşletimi Sistemi kurulumunu anla…
  • Raspberry Pi Giriş

    Raspberry Pi Nedir ? Raspberry Pi, Birleşik Krallıklardaki okullarda bilgisayar bilimini ö…
Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Umut Kazanç
  • Raspberry Pi IP Adresi Öğrenme

    Merhaba Arkadaşlar, bu yazımızda Raspberry Pi’nin IP adresini bulmayı göstereceğim. Raspbe…
  • Raspberry Pi İlk Kurulum

    Merhaba Arkadaşlar, bu yazımızda Raspberry Pi’ye Raspbian İşletimi Sistemi kurulumunu anla…
  • Raspberry Pi Giriş

    Raspberry Pi Nedir ? Raspberry Pi, Birleşik Krallıklardaki okullarda bilgisayar bilimini ö…
Daha Fazla Göster -  Raspberry Pi

3 Yorumlar

  1. […] 6 gün önce Raspberry Pi ile Mesafe Ölçümü […]

    Reply

  2. […] de thread kullanıldı. HC-SR04 Ultrasonic sensör için önceki yazımı inceleyebilirsiniz. Tıklayın. Bu Thread de mesafe ölçümü yapıldıktan sonra define ile girilmiş min mesafe den küçük […]

    Reply

  3. halil

    21 Nisan 2021 at 23:17

    Merhaba kodlar için teşekkürler.raspberry pi 3 B+ ım var ve kodları geanye yüklemem gerek bu kodlar orada çalışır mı ?

    Reply

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

NodeMCU : DS18B20 ile Sıcaklık Web Server

Merhaba Arkadaşlar, Bu uygulamada sizlere ESP8266 da LUA ile DS18b20 yi okuyacağım.. Bunun…