באמצעות HC-SR04 עם ה- Raspberry Pi

Using the HC-SR04 With the Raspberry Pi

חיישן האולטרה-סאונד HC-SR04 הוא כלי פופולרי וחסכוני למדידת מרחק בפרויקטים שונים של DIY ובפרויקטים מקצועיים. כאשר הוא משויך עם פטל PI, הוא פותח עולם של אפשרויות ליצירת יישומים כמו איתור מכשולים, מדידת רמה ואפילו מתקנים אינטראקטיביים. פוסט בבלוג זה ידריך אותך בתהליך הגדרת חיישן HC-SR04 עם Raspberry Pi שלך.

מהו חיישן האולטרה סאוני של HC-SR04?

ה- HC-SR04 הוא מודול חיישן קולי המודד את המרחק על ידי פליטת גלים קוליים וחישוב הזמן שלוקח להד לחזור. היא פועלת ב- 5V והיא ידועה ברמת הדיוק והאמינות שלו במדידות מרחק קצרות עד בינוניות, בדרך כלל בין 2 ס"מ ל -400 ס"מ.

רכיבים שתצטרך

  • Raspberry Pi (כל דגם עם סיכות GPIO, כמו Raspberry Pi 4)
  • חיישן קולי HC-SR04
  • חוטי מגשר
  • קרש לחם
  • נגד 10KΩ (לחטיבת מתח)
  • אופציונלי: LED ונגד למשוב חזותי

חיווט HC-SR04 ל- Raspberry Pi

חיבור ה- HC-SR04 ל- Raspberry Pi דורש טיפול מדוקדק, במיוחד מכיוון שסיכות ה- Raspberry Pi GPIO פועלות במהירות 3.3 וולט וה- HC-SR04 פועל ב 5V. כדי למנוע נזק ל- PI שלך, חיוני להשתמש במחלק מתח על סיכת ההד.

Pin Connections

  • VCC of HC-SR04 to 5V pin on Raspberry Pi
  • GND of HC-SR04 to GND on Raspberry Pi
  • טְרִיגוֹנוֹמֶטרִיָה סיכה של HC-SR04 ל- A PIN GPIO ב- Raspberry Pi (למשל, GPIO23)
  • הֵד סיכה של HC-SR04 ל- Raspberry Pi דרך מחלק מתח מתח

Setting Up the Voltage Divider

To safely connect the Echo pin to the Raspberry Pi, use a voltage divider with a 10kΩ resistor and a 20kΩ resistor. This will step down the 5V signal to approximately 3.3V.


# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
#                             |
#                           20kΩ
#                             |
#                           GND

Installing Necessary Libraries

Before writing the code, ensure your Raspberry Pi is up to date and has the necessary libraries installed.


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio

כתיבת תסריט הפיתון

להלן סקריפט פייתון פשוט להתממשק לחיישן HC-SR04. סקריפט זה שולח דופק טריגר, מחכה להד ומחשב את המרחק על סמך הזמן שנדרש להד לחזור.


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()

הפעלת התסריט

וודא שהחיווט שלך נכון ואז הפעל את הסקריפט באמצעות Python 3:


python3 hc-sr04.py

אתה אמור לראות את המרחק הנמדד בסנטימטרים המודפסים לקונסולה. אם אתה משתמש ב- LED למשוב חזותי, אתה יכול לשנות את הסקריפט כדי להאיר את ה- LED כאשר אובייקט נמצא בטווח מסוים.

שיפור הפרויקט שלך

ברגע שיש לך את מדידות המרחק הבסיסיות העובדות, שקול לשלב תכונות נוספות:

  • מחווני LED: השתמש נוריות LED כדי לציין טווחי מרחק שונים.
  • תצוגת LCD: הצג את המרחק במסך LCD.
  • רישום נתונים: רשמו מדידות מרחק לאורך זמן לניתוח.
  • מערכות התראה: אזעקות או התראות על התראות כאשר האובייקטים קרובים מדי.

פתרון בעיות בעיות נפוצות

עבודה עם חיישנים ו- GPIO יכולה לפעמים להיות מאתגרת. להלן כמה סוגיות נפוצות וכיצד להתייחס אליהם:

  • חיווט שגוי: בדוק שוב את כל החיבורים, במיוחד מחיצת המתח בסיכת ההד.
  • מדידות רועשות: ודא שההגדרה שלך יציבה ושקול להוסיף קבלים לסינון רעש.
  • קונפליקטים של GPIO: וודא שאף סקריפטים או שירותים אחרים אינם משתמשים באותם סיכות GPIO.
  • הרשאות: הפעל את הסקריפטים שלך עם הרשאות מתאימות, באמצעות sudo במידת הצורך.

מַסְקָנָה

חיישן האולטרה-סאוני HC-SR04 הוא רכיב רב-תכליתי ואמין, אשר בשילוב עם ה- Raspberry Pi, יכול לשרת ריבוי יישומים ממדידת מרחק פשוטה למערכות אוטומציה מורכבות. על ידי ביצוע הצעדים המפורטים במדריך זה, אתה אמור להיות מסוגל להגדיר ולהתחיל להתנסות ב- HC-SR04 ב- Raspberry Pi שלך. מתעסק שמח!

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.