Senzorul cu ultrasunete HC-SR04 este un instrument popular, rentabil, pentru măsurarea distanței în diverse proiecte de bricolaj și profesionale. Atunci când este asociat cu un Raspberry Pi, acesta deschide o lume de posibilități pentru crearea de aplicații precum detectarea obstacolelor, măsurarea nivelului și chiar instalații interactive. Această postare pe blog vă va ghida prin procesul de configurare și utilizarea senzorului HC-SR04 cu Raspberry Pi.
Care este senzorul cu ultrasunete HC-SR04?
HC-SR04 este un modul de senzor cu ultrasunete care măsoară distanța emitând unde ultrasonice și calculând timpul necesar pentru a reveni ecoul. Funcționează la 5V și este cunoscut pentru exactitatea și fiabilitatea sa în măsurători de distanță scurtă până la medie, de obicei între 2 cm și 400 cm.
Componente de care aveți nevoie
- Raspberry Pi (orice model cu pini GPIO, cum ar fi Raspberry Pi 4)
- Senzor cu ultrasunete HC-SR04
- Fire de jumper
- Bord
- Rezistență de 10kΩ (pentru diviziunea tensiunii)
- Opțional: LED și rezistență pentru feedback vizual
Cablarea HC-SR04 la Raspberry Pi
Conectarea HC-SR04 la Raspberry PI necesită o manipulare atentă, mai ales că pinii de zmeură PI GPIO funcționează la 3.3V, iar HC-SR04 funcționează la 5V. Pentru a preveni deteriorarea PI -ului dvs., este esențial să utilizați un divizor de tensiune pe știftul ecou.
Conexiuni pin
- VCC din HC-SR04 până la 5V Pin pe Raspberry Pi
- GND din HC-SR04 până la GND pe zmeură pi
- Trig pinul HC-SR04 la un PIN GPIO pe Raspberry Pi (de exemplu, GPIO23)
- Ecou Pinul de HC-SR04 la Raspberry Pi printr-un divizor de tensiune
Configurarea divizorului de tensiune
Pentru a conecta în siguranță știftul ecou la zmeura pi, utilizați un divizor de tensiune cu un rezistor de 10kΩ și un rezistor de 20kΩ. Acest lucru va reduce semnalul 5V la aproximativ 3,3V.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Instalarea bibliotecilor necesare
Înainte de a scrie codul, asigurați -vă că Raspberry Pi este actualizat și are instalarea bibliotecilor necesare.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Scriind scriptul Python
Mai jos este un script Python simplu pentru a interfața cu senzorul HC-SR04. Acest script trimite un impuls de declanșare, așteaptă ecoul și calculează distanța în funcție de timpul necesar pentru ca ecoul să se întoarcă.
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()
Rularea scriptului
Asigurați -vă că cablarea dvs. este corectă și apoi rulați scriptul folosind Python 3:
python3 hc-sr04.py
Ar trebui să vedeți distanța măsurată în centimetri tipărită pe consolă. Dacă utilizați un LED pentru feedback vizual, puteți modifica scriptul pentru a lumina LED -ul atunci când un obiect se află într -un anumit interval.
Îmbunătățirea proiectului
După ce funcționează măsurătorile de bază ale distanței, luați în considerare integrarea funcțiilor suplimentare:
- Indicatori LED: Utilizați LED -uri pentru a indica diferite intervale de distanță.
- Afișare LCD: Afișați distanța pe un ecran LCD.
- Jurnal de date: Înregistrați măsurători de distanță în timp pentru analiză.
- Sisteme de alertă: Declanșarea alarmelor sau notificărilor atunci când obiectele sunt prea apropiate.
Depanarea problemelor comune
Lucrul cu senzori și GPIO poate fi uneori dificil. Iată câteva probleme comune și cum să le abordăm:
- Cablare incorectă: Verificați dublu toate conexiunile, în special divizorul de tensiune de pe știftul ecou.
- Măsurători zgomotoase: Asigurați -vă că configurarea dvs. este stabilă și luați în considerare adăugarea condensatoarelor la zgomot.
- Conflicte GPIO: Asigurați -vă că niciun alt script sau servicii nu utilizează aceiași pini GPIO.
-
Permisiuni: Rulați scripturile cu permisiuni adecvate, folosind
sudo
dacă este necesar.
Concluzie
Senzorul cu ultrasunete HC-SR04 este o componentă versatilă și fiabilă care, atunci când este combinată cu Raspberry Pi, poate servi o multitudine de aplicații de la măsurarea simplă a distanței la sisteme de automatizare complexe. Urmărind pașii prezentați în acest ghid, ar trebui să puteți configura și începe să experimentați cu HC-SR04 pe Raspberry Pi. Tinkering fericit!