Ang HC-SR04 ultrasonic sensor ay isang sikat at matipid na tool para sa pagsukat ng distansya sa iba't ibang DIY at propesyonal na proyekto. Kapag ipinares sa isang Raspberry Pi, nagbubukas ito ng mundo ng mga posibilidad para sa paglikha ng mga application tulad ng obstacle detection, pagsukat ng level, at maging ang mga interactive na installation. Ang blog post 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 ultrasonic sensor module na sumusukat ng distansya sa pamamagitan ng paglalabas ng mga ultrasonic wave at pag-calculate ng oras na kinakailangan para bumalik ang echo. Gumagana ito sa 5V at kilala sa katumpakan at pagiging maaasahan nito sa maikli hanggang katamtamang distansya, karaniwang nasa pagitan ng 2 cm at 400 cm.
Mga Component na Kakailanganin Mo
- Raspberry Pi (anumang model na may GPIO pins, gaya ng Raspberry Pi 4)
- HC-SR04 Ultrasonic Sensor
- Jumper Wires
- Breadboard
- 10kΩ, 20kΩ Resistor (para sa voltage division)
- Opsyonal: LED at resistor para sa visual feedback
Pag-wire ng HC-SR04 sa Raspberry Pi
Ang pagkonekta ng HC-SR04 sa Raspberry Pi ay nangangailangan ng maingat na paghawak, lalo na't ang mga GPIO pin ng Raspberry Pi ay gumagana sa 3.3V habang ang HC-SR04 naman ay gumagana sa 5V. Upang maiwasan ang pagkasira ng iyong Pi, mahalagang gumamit ng voltage divider sa Echo pin.
Mga Koneksyon ng Pin
- VCC ng HC-SR04 sa 5V pin sa Raspberry Pi
- GND ng HC-SR04 sa GND sa Raspberry Pi
- Trig pin ng HC-SR04 sa isang GPIO pin sa Raspberry Pi (halimbawa, GPIO23)
- Echo pin ng HC-SR04 sa Raspberry Pi sa pamamagitan ng voltage divider
Pag-set Up ng Voltage Divider
Para ligtas na maikonekta ang Echo pin sa Raspberry Pi, gumamit ng voltage divider na may 10kΩ resistor at 20kΩ resistor. Ibababa nito ang 5V signal sa humigit-kumulang 3.3V.
# Halimbawang schematic para sa voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
Pag-install ng mga Kinakailangang Library
Bago isulat ang code, tiyaking updated ang iyong Raspberry Pi at mayroon itong mga kinakailangang library.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
Pagsulat ng Python Script
Nasa ibaba ang isang simpleng Python script para makipag-ugnayan sa HC-SR04 sensor. Ang script na ito ay nagpapadala ng trigger pulse, naghihintay para sa echo, at kinakalkula ang distansya batay sa oras na kinailangan para bumalik ang echo.
import RPi.GPIO as GPIO
import time
# GPIO Mode (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
# Itakda ang mga GPIO Pin
TRIG = 23
ECHO = 24
print("Kasalukuyang Sinusukat ang Distansya")
# Itakda ang direksyon ng GPIO (IN / OUT)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
# Itakda ang TRIG sa LOW
GPIO.output(TRIG, False)
time.sleep(2)
# Magpadala ng 10us pulse sa TRIG
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
start_time = time.time()
stop_time = time.time()
# I-save ang StartTime
while GPIO.input(ECHO) == 0:
start_time = time.time()
# I-save ang Oras ng Pagdating
while GPIO.input(ECHO) == 1:
stop_time = time.time()
# Pagkakaiba ng oras sa pagitan ng simula at pagdating
time_elapsed = stop_time - start_time
# I-multiply sa bilis ng tunog (34300 cm/s)
# at i-divide sa 2, dahil pabalik-balik ito
distance = (time_elapsed * 34300) / 2
return distance
if __name__ == '__main__':
try:
while True:
dist = distance()
print("Nasukat na Distansya = %.1f cm" % dist)
time.sleep(1)
except KeyboardInterrupt:
print("Itinigil ng User ang pagsukat")
GPIO.cleanup()
Pagpapatakbo ng Script
Siguraduhing tama ang iyong wiring at pagkatapos ay patakbuhin ang script gamit ang Python 3:
python3 hc-sr04.py
Dapat mong makita ang nasukat na distansya sa sentimetro na naka-print sa console. Kung gumagamit ka ng LED para sa visual feedback, maaari mong baguhin ang script para umilaw ang LED kapag ang isang bagay ay nasa loob ng isang partikular na range.
Pagpapahusay sa Iyong Proyekto
Kapag gumagana na ang pangunahing pagsukat ng distansya, isaalang-alang ang pagdaragdag ng mga karagdagang feature:
- LED Indicators: Gumamit ng mga LED para ipakita ang iba't ibang range ng distansya.
- LCD Display: Ipakita ang distansya sa isang LCD screen.
- Data Logging: I-record ang mga sukat ng distansya sa paglipas ng panahon para sa pagsusuri.
- Alert Systems: Mag-trigger ng mga alarm o notification kapag masyadong malapit ang mga bagay.
Pag-troubleshoot ng mga Karaniwang Isyu
Ang pagtatrabaho sa mga sensor at GPIO ay minsan mapanghamon. Narito ang ilang karaniwang isyu at kung paano ang mga ito tutugunan:
- Maling Wiring: I-double check ang lahat ng koneksyon, lalo na ang voltage divider sa Echo pin.
- Maingay na Sukat (Noisy Measurements): Siguraduhing stable ang iyong setup at isaalang-alang ang pagdaragdag ng mga capacitor para ma-filter ang ingay.
- GPIO Conflicts: Siguraduhing walang ibang script o serbisyo ang gumagamit ng parehong mga GPIO pin.
-
Permissions: Patakbuhin ang iyong mga script nang may tamang pahintulot, gamit ang
sudokung kinakailangan.
Konklusyon
Ang HC-SR04 ultrasonic sensor ay isang versatile at maaasahang component na, kapag pinagsama sa Raspberry Pi, ay maaaring magsilbi sa maraming application mula sa simpleng pagsukat ng distansya hanggang sa mga kumplikadong automation system. Sa pagsunod sa mga hakbang na nakabalangkas sa gabay na ito, dapat ay kaya mo nang i-set up at magsimulang mag-eksperimento sa HC-SR04 sa iyong Raspberry Pi. Maligayang pag-aayos!


