Verwenden des HC-SR04 mit dem Raspberry Pi

Using the HC-SR04 With the Raspberry Pi

Der HC-SR04-Ultraschallsensor ist ein beliebtes, kostengünstiges Instrument zur Messung der Entfernung in verschiedenen DIY- und professionellen Projekten. In Kombination mit einem Raspberry PI eröffnet es eine Welt von Möglichkeiten für die Erstellung von Anwendungen wie Hinderniserkennung, Levelmessung und sogar interaktive Installationen. Dieser Blog-Beitrag führt Sie durch den Prozess der Einrichtung und Verwendung des HC-SR04-Sensors mit Ihrem Raspberry Pi.

Was ist der HC-SR04-Ultraschallsensor?

Der HC-SR04 ist ein Ultraschallsensormodul, das den Abstand misst, indem sie Ultraschallwellen emittieren und die Zeit berechnet, die das Echo zurückkehrt. Es arbeitet bei 5 V und ist bekannt für seine Genauigkeit und Zuverlässigkeit in kurzen bis mittleren Abstandsmessungen, typischerweise zwischen 2 cm und 400 cm.

Komponenten, die Sie benötigen

  • Raspberry PI (jedes Modell mit GPIO -Stiften wie Raspberry Pi 4)
  • HC-SR04 Ultraschallsensor
  • Jumperdrähte
  • Brotbrett
  • 10 ken Widerstand (für Spannungsabteilung)
  • Optional: LED und Widerstand für visuelles Feedback

Verkabelung des HC-SR04 mit dem Himbeer-Pi

Das Verbinden des HC-SR04 mit dem Himbeer-PI erfordert sorgfältige Handhabung, zumal die Raspberry PI GPIO-Stifte bei 3,3 V und der HC-SR04 bei 5 V betrieben werden. Um Schäden an Ihrem PI zu verhindern, ist es wichtig, einen Spannungsteiler am Echo -Pin zu verwenden.

PIN -Verbindungen

  • VCC von HC-Sr04 bis 5v Pin auf Raspberry Pi
  • GND von HC-Sr04 bis GND auf Raspberry Pi
  • Trig Stift von HC-Sr04 bis a GPIO PIN auf Raspberry Pi (z. B. GPIO23)
  • Echo Stift von HC-SR04, um durch einen Spannungsteiler Pi zu Raspberry Pi

Einrichten des Spannungsteilers

Um den Echo -Stift mit dem Himbeer -Pi sicher zu verbinden, verwenden Sie einen Spannungsteiler mit einem 10k Ω -Widerstand und einem 20k Ω -Widerstand. Dadurch wird das 5 -V -Signal auf ungefähr 3,3 V zurückgegriffen.


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

Installation der erforderlichen Bibliotheken

Stellen Sie vor dem Schreiben des Codes sicher, dass Ihr Raspberry Pi auf dem neuesten Stand ist und die erforderlichen Bibliotheken installiert ist.


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

Schreiben des Python -Skripts

Unten finden Sie ein einfaches Python-Skript, das mit dem HC-SR04-Sensor eine Schnittstellen hat. Dieses Skript sendet einen Triggerimpuls, wartet auf das Echo und berechnet die Entfernung anhand der Zeit, die das Echo zurückkehrt.


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

Ausführen des Skripts

Stellen Sie sicher, dass Ihre Verkabelung korrekt ist, und führen Sie das Skript mit Python 3 aus:


python3 hc-sr04.py

Sie sollten den gemessenen Abstand in der Konsole gedruckten Zentimeter sehen. Wenn Sie eine LED für visuelles Feedback verwenden, können Sie das Skript ändern, um die LED zu beleuchten, wenn sich ein Objekt in einem bestimmten Bereich befindet.

Verbesserung Ihres Projekts

Sobald Sie die grundlegenden Entfernungsmessungen funktionieren, sollten Sie zusätzliche Funktionen integrieren:

  • LED -Indikatoren: Verwenden Sie LEDs, um unterschiedliche Entfernungsbereiche anzuzeigen.
  • LCD -Anzeige: Zeigen Sie die Entfernung auf einem LCD -Bildschirm.
  • Datenprotokollierung: Record distance measurements over time for analysis.
  • Alarmsysteme: Auslösen von Alarmen oder Benachrichtigungen, wenn Objekte zu nahe sind.

Fehlerbehebung häufiges Problem

Die Arbeit mit Sensoren und GPIO kann manchmal eine Herausforderung sein. Hier sind einige gemeinsame Probleme und wie man sie angeht:

  • Falsche Verkabelung: Überprüfen Sie alle Verbindungen, insbesondere den Spannungsteiler am Echo-Pin.
  • Laute Messungen: Ensure your setup is stable and consider adding capacitors to filter noise.
  • GPIO -Konflikte: Stellen Sie sicher, dass keine anderen Skripte oder Dienste dieselben GPIO -Stifte verwenden.
  • Berechtigungen: Führen Sie Ihre Skripte mit entsprechenden Berechtigungen aus sudo falls nötig.

Abschluss

Der HC-SR04-Ultraschallsensor ist eine vielseitige und zuverlässige Komponente, die in Kombination mit dem Raspberry PI eine Vielzahl von Anwendungen von einfacher Entfernungsmessungen zu komplexen Automatisierungssystemen erfüllen kann. Wenn Sie die in diesem Handbuch beschriebenen Schritte befolgen, sollten Sie in der Lage sein, mit dem HC-SR04 auf Ihrem Raspberry Pi zu experimentieren und zu experimentieren. Happy Basteln!

Hinterlasse einen Kommentar

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.