De HC-SR04 Ultrasone Sensor is een populair, kosteneffectief hulpmiddel voor het meten van afstand in verschillende doe-het-zelf- en professionele projecten. In combinatie met een Raspberry Pi, opent het een wereld van mogelijkheden voor het maken van toepassingen zoals obstakeldetectie, niveaumeting en zelfs interactieve installaties. Deze blogpost zal u begeleiden door het instellen en gebruiken van de HC-SR04-sensor met uw Raspberry Pi.
Wat is de HC-SR04 Ultrasone Sensor?
De HC-SR04 is een ultrasone sensormodule die afstand meet door ultrasone golven uit te zenden en de tijd te berekenen die de echo nodig heeft om terug te keren. Het werkt op 5V en staat bekend om zijn nauwkeurigheid en betrouwbaarheid in korte tot middelgrote afstandsafstandsmetingen, meestal tussen 2 cm en 400 cm.
Componenten die je nodig hebt
- Raspberry Pi (elk model met GPIO -pinnen, zoals Raspberry Pi 4)
- HC-SR04 Ultrasone sensor
- Jumper draden
- Breadboard
- Weerstand van 10kΩ (voor spanningsverdeling)
- Optioneel: LED en weerstand voor visuele feedback
De HC-SR04 bedraden naar de Raspberry Pi
Het verbinden van de HC-SR04 met de Raspberry Pi vereist zorgvuldige behandeling, vooral omdat de Raspberry Pi GPIO-pinnen werken op 3,3 V en de HC-SR04 werkt op 5V. Om schade aan uw PI te voorkomen, is het essentieel om een spanningsverdeler op de echo -pin te gebruiken.
PIN -verbindingen
- VCC van HC-SR04 tot 5V pin op frambozen pi
- GND van HC-SR04 tot GND op frambozen pi
- Trig Pin van HC-SR04 tot A GPIO PIN Op Raspberry Pi (bijv. GPIO23)
- Echo Pin van HC-SR04 tot Raspberry Pi via een spanningsdeler
Het opzetten van de spanningsverdeler
Gebruik een spanningsverdeler met een 10kΩ weerstand en een weerstand van 20 kΩ om de echo -pin veilig aan te sluiten op de Raspberry Pi. Dit zal het 5V -signaal neerslaan naar ongeveer 3,3 V.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
De benodigde bibliotheken installeren
Voordat u de code schrijft, moet u ervoor zorgen dat uw Raspberry Pi up -to -date is en de nodige bibliotheken heeft geïnstalleerd.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Het Python -script schrijven
Hieronder is een eenvoudig Python-script om te communiceren met de HC-SR04-sensor. Dit script verzendt een triggerpuls, wacht op de echo en berekent de afstand op basis van de tijd die de echo moet teruggeven.
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()
Het script uitvoeren
Zorg ervoor dat uw bedrading correct is en voer het script vervolgens uit met Python 3:
python3 hc-sr04.py
U moet de gemeten afstand zien in centimeters die op de console zijn afgedrukt. Als u een LED gebruikt voor visuele feedback, kunt u het script wijzigen om de LED te verlichten wanneer een object zich binnen een bepaald bereik bevindt.
Uw project verbeteren
Nadat u de basisafstandsmetingen hebt gewerkt, kunt u overwegen extra functies te integreren:
- LED -indicatoren: Gebruik LED's om verschillende afstandsbereiken aan te geven.
- LCD -display: Toon de afstand op een LCD -scherm.
- Gegevensregistratie: Noteer afstandsmetingen in de loop van de tijd voor analyse.
- Alert -systemen: Trigger alarmen of meldingen wanneer objecten te dichtbij zijn.
Problemen met veel voorkomende problemen oplossen
Werken met sensoren en GPIO kan soms een uitdaging zijn. Hier zijn enkele veel voorkomende problemen en hoe ze kunnen worden aangepakt:
- Onjuiste bedrading: Controleer alle verbindingen, vooral de spanningsdeler op de echo-pin.
- Lawaaierige metingen: Zorg ervoor dat uw opstelling stabiel is en overweeg condensatoren toe te voegen om ruis te filteren.
- GPIO -conflicten: Zorg ervoor dat geen andere scripts of services dezelfde GPIO -pinnen gebruiken.
-
Machtigingen: Voer uw scripts uit met geschikte machtigingen, met behulp van
sudo
indien nodig.
Conclusie
De HC-SR04 Ultrasone Sensor is een veelzijdige en betrouwbare component die, in combinatie met de Raspberry Pi, een veelvoud aan toepassingen kan bedienen van eenvoudige afstandsmeting tot complexe automatiseringssystemen. Door de stappen in deze gids te volgen, moet u kunnen instellen en beginnen met experimenteren met de HC-SR04 op uw Raspberry Pi. Blij knutselen!