Merhabalar. Bu dersimizde sizlerle Raspberry Pi’mize HC-SR04 ultrasonik mesafe sensörü bağlayarak uzaklık ölçümü yapacağız.

Gerekli malzemelerimiz:

HC-SR04 ultrasonik mesafe sensörü nedir?

HC-SR04 ultrasonik mesafe sensörü, neredeyse tüm robotik projelerde yer alan çok popüler bir sensördür. Kullanım kolaylığı ve ucuzluğu sebebiyle sıkça tercih edilir.

Ultrasonik sensörlerin çalışma prensibi:

Sensörün çalışma prensibi basittir: TRIG pininden sinyal verildiğinde 40kHz frekansında bir ses dalgası sensör tarafından üretilir ve bu ses dalgası bir cisme çarpıp geri döndüğünde ECHO pini aktif hale gelir. Sesin havada yayılma hızını bildiğimiz için (deniz seviyesinde ve 21 °C sıcaklıkta 343.2 m/s), TRIG pinine verilen sinyalden sonra ECHO pininin aktif olduğu zamana kadarki süreyi ölçerek aradaki mesafeyi kolayca hesaplayabiliriz.

Raspberry Pi – HC-SR04 ultrasonik mesafe sensörü devresi:

Raspberry Pi ultrasonik mesafe ölçüm Python kodu:

Kodu kopyaladığınızda sorun yaşıyorsanız buradan deneyebilirsiniz.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

TRIG = 23
ECHO = 24

print "HC-SR04 mesafe sensoru"

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

while True:

 GPIO.output(TRIG, False)
 print "Olculuyor..."
 time.sleep(2)

 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)

 if distance > 2 and distance < 400:
 print "Mesafe:",distance - 0.5,"cm"
 else:
 print "Menzil asildi"

2 Yorumlar

  1. pi@abdurrahman-pi:~ $ sudo python hh.py
    File “hh.py”, line 25
    pulse_start = time.time()
    ^
    IndentationError: expected an indented block
    bu hatayı alıyorum yardımcı olabilirmisiniz

CEVAP VER