Categories: PythonRaspberry Pi

Raspberry Pi Ultrasonik Mesafe Sensörü

Merhaba Arkadaşlar,

Bugün birlikte Raspberry Pi 3 kullanarak ultrasonik sensör yardımıyla mesafe ölçeceğiz. Ultrasonik sensörlerin çalışması hakkında geniş bilgiye buradan ulaşabilirsiniz. Bu işlem için ihtiyaç duyduğumuz malzemeler aşağıdaki gibidir.

  1. Raspberry Pi 3
  2. Breadboard
  3. HC-SR04 Ultrasonik Sensör
  4. 1 adet 1k direnç
  5. 1 adet 2k direnç
  6. 8 adet dişi-erkek jumper kablo

Devremizi aşağıdaki şekilde göründüğü gibi Breadboard üzerinde kuruyoruz.

Şimdide değerleri okuyabilmek için kodumuzu yazıyoruz.

# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import time
import datetime

GPIO.setmode(GPIO.BCM)

TRIG=20
ECHO=26

GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)

GPIO.output(TRIG,False)
time.sleep(2)

while True:
   GPIO.output(TRIG, True)
   time.sleep(0.00001)
   GPIO.output(TRIG, False)

   while GPIO.input(ECHO)==0:
      pulse_start=time.time()

   while GPIO.input(ECHO)==1:
      pulse_end=time.time()

   pulse_duration = pulse_end - pulse_start

   distance = pulse_duration*17150

   distance = round(distance, 2)

   print("-------------------------------------------")
   print("Tarih: " + str(datetime.datetime.now()))
   print"Ölçülen Mesafe:",distance," cm"

   time.sleep(15)

GPIO.cleanup()

# -*- coding: utf-8 -*-

 

Kodu çalıştırdığımızda aşağıdaki gibi her 15 saniyede bir mesafeyi ölçüp tarih ile birlikte ekrana yazdığını görüyoruz.

Semih DURAN

View Comments

  • Merhaba.
    Proğram Raspberry pi 4 te çalışırmı. Birde Breadboard olmadan nasıl bağlayabilirim küçük bir terif edebilirmisiniz rica etsem. Teşekkür eder iyi çalışmalar dilerim

  • #include
    #include
    #include

    #define TRIG 22
    #define ECHO 25

    void setup()
    {
    wiringPiSetupGpio();
    pinMode(TRIG, OUTPUT);
    pinMode(ECHO, INPUT);

    //TRIG pin must start LOW
    digitalWrite(TRIG, LOW);
    delay(30);
    }

    int getCM() {
    //Send trig pulse
    digitalWrite(TRIG, HIGH);
    delayMicroseconds(20);
    digitalWrite(TRIG, LOW);

    //Wait for echo start
    while(digitalRead(ECHO) == LOW);

    //Wait for echo end
    long startTime = micros();
    while(digitalRead(ECHO) == HIGH);
    long travelTime = micros() - startTime;

    //Get distance in cm
    int distance = travelTime / 58;

    return distance;
    }

    int main(void) {
    setup();
    printf("Distance: %dcm\n", getCM());
    return 0;
    }
    bu kodlara while döngüsü eklemek istiyorum yardımcı olabilir misin

  • While döngüsünü nereye yazmalıyım?

    #include
    #include
    #include

    #define TRIG 22
    #define ECHO 25

    void setup()
    {
    wiringPiSetupGpio();
    pinMode(TRIG, OUTPUT);
    pinMode(ECHO, INPUT);

    //TRIG pin must start LOW
    digitalWrite(TRIG, LOW);
    delay(30);
    }

    int getCM() {
    //Send trig pulse
    digitalWrite(TRIG, HIGH);
    delayMicroseconds(20);
    digitalWrite(TRIG, LOW);

    //Wait for echo start
    while(digitalRead(ECHO) == LOW);

    //Wait for echo end
    long startTime = micros();
    while(digitalRead(ECHO) == HIGH);
    long travelTime = micros() - startTime;

    //Get distance in cm
    int distance = travelTime / 58;

    return distance;
    }

    int main(void) {
    setup();
    printf("Distance: %dcm\n", getCM());
    return 0;
    }

Recent Posts

Türkiye Bankalar ve Ödeme Kuruluşları BIN Numaraları Listesi – 2025 Güncel

Merhaba Arkadaşlar, Sizinle Türkiye'de faaliyet gösteren bankalar ve ödeme kuruluşlarının kartlarının güncel BIN numaraları listesini…

8 ay ago

Asp.Net Array List Veri Gönderme

Bu yazımda size Asp.Net üzerinden bir api'ye nasıl dizi (Array List) veri gönderebileceğinizden bahsetmek istiyorum.…

4 yıl ago

Postman ile Array List Veri Gönderme

Merhaba Arkadaşlar, Bu yazımda size Postman üzerinden bir diziyi (Array List) nasıl post olarak göndereceğinizden…

4 yıl ago

Google Sheets Komut Dosyası Tetikleyiciler

Merhaba Arkadaşlar, Google Sheet üzerinden hazırladığınız bir uygulamanızı nasıl belirli saatlerde çalışmasını sağlayabileceğinizi paylaşmak istiyorum.…

5 yıl ago

Google Sheets Komut Dosyası Mysql Veritabanından Veri Çekme

Merhaba Arkadaşlar, Google Sheet hepimizin kullandığı bir uygulama. Sizlerle Sheet üzerinden nasıl Mysql veritabanına bağlanıp…

5 yıl ago

İnternet Sayfasına Whatsapp Link Ekleme

Merhaba Arkadaşlar, İnternet sayfalarında aşağıdaki şekilde kolayca Whatsapp mesaj linki ekleyebilirsiniz.

5 yıl ago