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!