Ang HC-SR04 ultrasonic sensor ay isang tanyag, epektibong tool para sa pagsukat ng distansya sa iba't ibang mga proyekto ng DIY at propesyonal. Kapag ipinares sa isang Raspberry Pi, binubuksan nito ang isang mundo ng mga posibilidad para sa paglikha ng mga aplikasyon tulad ng pagtuklas ng balakid, pagsukat sa antas, at kahit na mga interactive na pag -install. Ang post sa blog na ito ay gagabay sa iyo sa proseso ng pag-set up at paggamit ng HC-SR04 sensor sa iyong Raspberry Pi.
Ano ang HC-SR04 Ultrasonic Sensor?
Ang HC-SR04 ay isang module ng ultrasonic sensor na sumusukat sa distansya sa pamamagitan ng paglabas ng mga ultrasonic waves at pagkalkula ng oras na kinakailangan upang bumalik ang echo. Nagpapatakbo ito sa 5V at kilala para sa kawastuhan at pagiging maaasahan nito sa maikli hanggang medium-range na mga sukat ng distansya, karaniwang sa pagitan ng 2 cm at 400 cm.
Mga sangkap na kakailanganin mo
- Raspberry Pi (anumang modelo na may mga GPIO pin, tulad ng Raspberry Pi 4)
- HC-SR04 Ultrasonic Sensor
- Jumper wires
- Tinapay
- 10kΩ risistor (para sa dibisyon ng boltahe)
- Opsyonal: LED at risistor para sa visual feedback
Ang mga kable ng HC-SR04 sa Raspberry Pi
Ang pagkonekta sa HC-SR04 sa Raspberry Pi ay nangangailangan ng maingat na paghawak, lalo na dahil ang Raspberry Pi GPIO pin ay gumana sa 3.3V at ang HC-SR04 ay nagpapatakbo sa 5V. Upang maiwasan ang pinsala sa iyong PI, mahalagang gumamit ng isang boltahe na divider sa echo pin.
Mga koneksyon sa pin
- VCC ng HC-SR04 hanggang 5v pin sa raspberry pi
- Gnd ng HC-SR04 hanggang Gnd sa Raspberry Pi
- Trig pin ng hc-sr04 hanggang a GPIO PIN Sa Raspberry Pi (hal., GPIO23)
- Echo Pin ng HC-SR04 sa Raspberry Pi sa pamamagitan ng isang boltahe divider
Pag -set up ng boltahe divider
Upang ligtas na ikonekta ang echo pin sa Raspberry Pi, gumamit ng isang boltahe na divider na may 10kΩ risistor at isang 20kΩ risistor. Bababa ito ng signal ng 5V sa humigit -kumulang na 3.3V.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Pag -install ng mga kinakailangang aklatan
Bago isulat ang code, tiyakin na ang iyong Raspberry Pi ay napapanahon at na -install ang mga kinakailangang aklatan.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Pagsulat ng script ng Python
Nasa ibaba ang isang simpleng script ng Python upang makipag-ugnay sa sensor ng HC-SR04. Ang script na ito ay nagpapadala ng isang pulso ng trigger, naghihintay para sa echo, at kinakalkula ang distansya batay sa oras na kinuha para bumalik ang echo.
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()
Pagpapatakbo ng script
Tiyaking tama ang iyong mga kable at pagkatapos ay patakbuhin ang script gamit ang Python 3:
python3 hc-sr04.py
Dapat mong makita ang sinusukat na distansya sa mga sentimetro na nakalimbag sa console. Kung gumagamit ka ng isang LED para sa visual feedback, maaari mong baguhin ang script upang magaan ang LED kapag ang isang bagay ay nasa loob ng isang tiyak na saklaw.
Pagpapahusay ng iyong proyekto
Kapag mayroon kang pangunahing mga sukat sa distansya na gumagana, isaalang -alang ang pagsasama ng mga karagdagang tampok:
- LED Indicator: Gumamit ng mga LED upang ipahiwatig ang iba't ibang mga saklaw ng distansya.
- LCD display: Ipakita ang distansya sa isang LCD screen.
- Pag -log ng Data: Itala ang mga sukat ng distansya sa paglipas ng panahon para sa pagsusuri.
- Mga Alert System: Mag -trigger ng mga alarma o abiso kapag ang mga bagay ay masyadong malapit.
Pag -aayos ng mga karaniwang isyu
Ang pagtatrabaho sa mga sensor at GPIO ay maaaring maging mahirap. Narito ang ilang mga karaniwang isyu at kung paano matugunan ang mga ito:
- Maling mga kable: I-double-check ang lahat ng mga koneksyon, lalo na ang boltahe divider sa echo pin.
- Maingay na mga sukat: Tiyakin na ang iyong pag -setup ay matatag at isaalang -alang ang pagdaragdag ng mga capacitor upang i -filter ang ingay.
- Mga salungatan sa GPIO: Siguraduhin na walang ibang mga script o serbisyo ang gumagamit ng parehong mga GPIO pin.
-
Mga Pahintulot: Patakbuhin ang iyong mga script na may naaangkop na pahintulot, gamit
sudo
kung kinakailangan.
Konklusyon
Ang HC-SR04 ultrasonic sensor ay isang maraming nalalaman at maaasahang sangkap na, kapag pinagsama sa Raspberry Pi, ay maaaring maghatid ng maraming mga aplikasyon mula sa simpleng pagsukat ng distansya sa mga kumplikadong sistema ng automation. Sa pamamagitan ng pagsunod sa mga hakbang na nakabalangkas sa gabay na ito, dapat mong mai-set up at simulan ang pag-eksperimento sa HC-SR04 sa iyong Raspberry Pi. Maligayang pag -ikot!