HC-SR04 Ultrasonic Sensor är ett populärt, kostnadseffektivt verktyg för att mäta avstånd i olika DIY- och professionella projekt. När det är parat med en Raspberry Pi, öppnar det en värld av möjligheter för att skapa applikationer som hinderdetektering, nivåmätning och till och med interaktiva installationer. Det här blogginlägget kommer att vägleda dig genom processen att ställa in och använda HC-SR04-sensorn med din Raspberry Pi.
Vad är HC-SR04 ultraljudssensor?
HC-SR04 är en ultraljudssensormodul som mäter avstånd genom att avge ultraljudsvågor och beräkna den tid det tar för Echo att återvända. Den arbetar vid 5V och är känd för sin noggrannhet och tillförlitlighet inom kort till medelstora avståndsmätningar, vanligtvis mellan 2 cm och 400 cm.
Komponenter du behöver
- Raspberry Pi (vilken modell som helst med GPIO -stift, som Raspberry Pi 4)
- HC-SR04 ultraljudssensor
- Bulttrådar
- Bakbord
- 10kΩ motstånd (för spänningsavdelning)
- Valfritt: LED och motstånd för visuell feedback
Kopplar HC-SR04 till Raspberry Pi
Att ansluta HC-SR04 till Raspberry PI kräver noggrann hantering, särskilt eftersom Raspberry PI GPIO-stiften arbetar vid 3,3V och HC-SR04 fungerar vid 5V. För att förhindra skador på din PI är det viktigt att använda en spänningsdelare på Echo Pin.
Stiftanslutningar
- Vcc av HC-SR04 till 5V stift på hallon pi
- Gard av HC-SR04 till Gard på Raspberry Pi
- Trig stift av HC-SR04 till en GPIO -stift på Raspberry Pi (t.ex. GPIO23)
- Eko stift av HC-SR04 till Raspberry Pi genom en spänningsdelare
Ställa in spänningsdelaren
För att säkert ansluta Echo -stiftet till Raspberry Pi använder du en spänningsdelare med ett 10KΩ -motstånd och ett 20KΩ -motstånd. Detta kommer att avgå 5V -signalen till cirka 3,3V.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Installera nödvändiga bibliotek
Innan du skriver koden, se till att din Raspberry Pi är uppdaterad och har de nödvändiga biblioteken installerade.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Skriva Python -skriptet
Nedan är ett enkelt Python-skript för att gränssnittet med HC-SR04-sensorn. Det här skriptet skickar en triggerpuls, väntar på ekot och beräknar avståndet baserat på den tid det tar för Echo att återvända.
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()
Kör skriptet
Se till att dina ledningar är korrekta och kör sedan skriptet med Python 3:
python3 hc-sr04.py
Du bör se det uppmätta avståndet i centimeter tryckt till konsolen. Om du använder en LED för visuell feedback kan du ändra skriptet för att tända lysdioden när ett objekt ligger inom ett visst intervall.
Förbättra ditt projekt
När du har de grundläggande avståndsmätningarna som fungerar kan du överväga att integrera ytterligare funktioner:
- LED -indikatorer: Använd lysdioder för att ange olika avståndsområden.
- LCD -display: Visa avståndet på en LCD -skärm.
- Datavoggning: Rekordavståndsmätningar över tid för analys.
- Varningssystem: Trigger larm eller aviseringar när objekt är för nära.
Felsökning av vanliga frågor
Att arbeta med sensorer och GPIO kan ibland vara utmanande. Här är några vanliga frågor och hur man tar upp dem:
- Felaktiga ledningar: Kontrollera alla anslutningar, särskilt spänningsdelaren på Echo-stiftet.
- Bullriga mätningar: Se till att din installation är stabil och överväg att lägga till kondensatorer för att filtrera brus.
- GPIO -konflikter: Se till att inga andra skript eller tjänster använder samma GPIO -stift.
-
Behörigheter: Kör dina skript med lämpliga behörigheter med hjälp av
sudo
om så behövs.
Slutsats
HC-SR04 ultraljudssensor är en mångsidig och pålitlig komponent som, i kombination med Raspberry PI, kan tjäna en mängd applikationer från enkel avståndsmätning till komplexa automatiseringssystem. Genom att följa stegen som beskrivs i den här guiden bör du kunna ställa in och börja experimentera med HC-SR04 på din Raspberry Pi. Glad tippning!