HC-SR04 ultrasonik sensör, çeşitli DIY ve profesyonel projelerde mesafeyi ölçmek için popüler, uygun maliyetli bir araçtır. Bir Raspberry Pi ile eşleştirildiğinde, engel algılama, seviye ölçümü ve hatta etkileşimli kurulumlar gibi uygulamalar oluşturmak için bir olasılık dünyası açar. Bu blog yazısı, HC-SR04 sensörünü Raspberry Pi'nizle kurma ve kullanma sürecinde size rehberlik edecektir.
HC-SR04 ultrasonik sensörü nedir?
HC-SR04, ultrasonik dalgalar yayarak ve yankının geri dönmesi için gereken süreyi hesaplayarak mesafeyi ölçen ultrasonik bir sensör modülüdür. 5V'de çalışır ve kısa ila orta menzilli mesafe ölçümlerinde, tipik olarak 2 cm ile 400 cm arasında doğruluğu ve güvenilirliği ile bilinir.
İhtiyacınız olacak bileşenler
- Raspberry Pi (Raspberry Pi 4 gibi GPIO pimleri olan herhangi bir model)
- HC-SR04 ultrasonik sensör
- Jumper telleri
- Breadboard
- 10kΩ direnç (voltaj bölümü için)
- İsteğe bağlı: görsel geri bildirim için LED ve direnç
HC-SR04'ü Raspberry Pi'ye bağlama
HC-SR04'ü Raspberry Pi'ye bağlamak, özellikle Raspberry Pi GPIO pimleri 3.3V'de çalıştığı ve HC-SR04 5V'de çalıştığı için dikkatli bir şekilde kullanım gerektirir. PI'nize zarar vermeyi önlemek için, yankı piminde bir voltaj bölücü kullanmak önemlidir.
Pin bağlantıları
- VCC HC-SR04 ila 5V Raspberry Pi'de Pin
- Gnd HC-SR04 ila Gnd Raspberry Pi'de
- Trig HC-SR04 PIN Gpio pimi Raspberry Pi'de (ör. GPIO23)
- Yankı Bir voltaj bölücüsü aracılığıyla HC-SR04'ün Raspberry Pi'ye pimi
Voltaj bölücüsünün ayarlanması
Yankı pimini Raspberry Pi'ye güvenli bir şekilde bağlamak için, 10KΩ direnç ve 20kΩ dirençli bir voltaj bölücü kullanın. Bu, 5V sinyalini yaklaşık 3.3V'ye indirecektir.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Gerekli kütüphaneleri yükleme
Kodu yazmadan önce, Raspberry Pi'nizin güncel olduğundan ve gerekli kütüphanelerin yüklendiğinden emin olun.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Python betiğini yazmak
Aşağıda HC-SR04 sensörü ile arayüz sağlamak için basit bir Python komut dosyası bulunmaktadır. Bu komut dosyası bir tetik darbesi gönderir, yankıyı bekler ve yankının geri dönmesi için gereken süreye göre mesafeyi hesaplar.
import RPi.GPIO as GPIO
import time
# GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
# Set GPIO Pins
TRIG = 23
ECHO = 24
print("Distance Measurement In Progress")
# Set GPIO direction (IN / OUT)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
# Set TRIG to LOW
GPIO.output(TRIG, False)
time.sleep(2)
# Send 10us pulse to TRIG
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
start_time = time.time()
stop_time = time.time()
# Save StartTime
while GPIO.input(ECHO) == 0:
start_time = time.time()
# Save Time of Arrival
while GPIO.input(ECHO) == 1:
stop_time = time.time()
# Time difference between start and arrival
time_elapsed = stop_time - start_time
# Multiply with speed of sound (34300 cm/s)
# and divide by 2, because there and back
distance = (time_elapsed * 34300) / 2
return distance
if __name__ == '__main__':
try:
while True:
dist = distance()
print("Measured Distance = %.1f cm" % dist)
time.sleep(1)
except KeyboardInterrupt:
print("Measurement stopped by User")
GPIO.cleanup()
Senaryoyu Çalıştırma
Kablolamanızın doğru olduğundan emin olun ve ardından Python 3'ü kullanarak komut dosyasını çalıştırın:
python3 hc-sr04.py
Ölçülen mesafeyi konsola basılmış santimetre cinsinden görmelisiniz. Görsel geri bildirim için bir LED kullanıyorsanız, bir nesne belirli bir aralıktayken LED'i aydınlatmak için komut dosyasını değiştirebilirsiniz.
Projenizi Geliştirme
Temel mesafe ölçümlerini çalıştırdıktan sonra, ek özellikleri entegre etmeyi düşünün:
- LED göstergeleri: Farklı mesafe aralıklarını belirtmek için LED'ler kullanın.
- LCD Ekran: LCD ekranda mesafeyi gösterin.
- Veri Günlüğü: Analiz için zaman içindeki mesafe ölçümlerini kaydedin.
- Uyarı Sistemleri: Nesneler çok yakın olduğunda alarmları veya bildirimleri tetikleyin.
Ortak sorunların giderilmesi
Sensörler ve GPIO ile çalışmak bazen zor olabilir. İşte bazı yaygın sorunlar ve bunların nasıl ele alınacağı:
- Yanlış Kablolama: Tüm bağlantıları, özellikle yankı pimindeki voltaj bölücüsünü iki kez kontrol edin.
- Gürültülü Ölçümler: Kurulumunuzun sabit olduğundan emin olun ve gürültüyü filtrelemek için kapasitör eklemeyi düşünün.
- GPIO Çatışmaları: Başka hiçbir komut dosyası veya hizmetin aynı GPIO pimlerini kullanmadığından emin olun.
-
İzinler: Komut dosyalarınızı uygun izinlerle çalıştırın
sudo
Gerekirse.
Çözüm
HC-SR04 ultrasonik sensör, Raspberry Pi ile birleştirildiğinde basit mesafe ölçümünden karmaşık otomasyon sistemlerine kadar çok sayıda uygulamaya hizmet edebilen çok yönlü ve güvenilir bir bileşendir. Bu kılavuzda özetlenen adımları izleyerek, Raspberry Pi'nizde HC-SR04 ile denemeye başlayabilmeniz ve denemeye başlayabilmeniz gerekir. Mutlu Tinkering!