A HC-SR04 ultrahangos érzékelő népszerű, költséghatékony eszköz a távolság mérésére különféle barkácsolás és szakmai projektek során. Ha párosul egy Raspberry Pi -vel, akkor lehetőséget nyit az olyan alkalmazások létrehozására, mint az akadályok észlelése, a szintmérés és akár az interaktív telepítések. Ez a blogbejegyzés végigvezeti Önt a HC-SR04 érzékelő beállításának és használatának folyamatán a Raspberry PI-vel.
Mi a HC-SR04 ultrahangos érzékelő?
A HC-SR04 egy ultrahangos érzékelő modul, amely méri a távolságot ultrahangos hullámok kibocsátásával és az ECHO visszatéréséhez szükséges idő kiszámításával. 5 V-nál működik, és pontosságáról és megbízhatóságáról ismert, rövid és közepes távolságú távolság méréseiben, jellemzően 2 és 400 cm között.
Az összetevők, amelyekre szükséged lesz
- Raspberry Pi (bármilyen modell GPIO -csapokkal, például Raspberry Pi 4)
- HC-SR04 ultrahangos érzékelő
- Jumper vezetékek
- Kenyér
- 10kΩ ellenállás (feszültségosztályhoz)
- Opcionális: LED és ellenállás a vizuális visszajelzéshez
A HC-SR04 huzalozása a Raspberry PI-hez
A HC-SR04 és a Raspberry PI csatlakoztatása gondos kezelést igényel, főleg mivel a Raspberry PI GPIO csapok 3,3 V-os sebességgel működnek, a HC-SR04 5 V-nál működik. A PI károsodásának elkerülése érdekében elengedhetetlen a feszültségválasztó használata az ECHO PIN -n.
PIN -csatlakozások
- VCC HC-SR04-től 5 V -os Pin a Raspberry Pi -re
- GND HC-SR04-től GND A Raspberry Pi -n
- Kerékkötő Pin HC-SR04-a GPIO PIN A Raspberry Pi -n (például GPIO23)
- Visszhang Pin HC-SR04-a Raspberry Pi-hez egy feszültségválasztón keresztül
A feszültség elválasztó beállítása
Az ECHO PIN -kód biztonságos csatlakoztatásához a Raspberry PI -hez használjon egy feszültség -elválasztót 10 kΩ -os ellenállással és 20 kΩ -os ellenállással. Ez csökkenti az 5 V -os jelet körülbelül 3,3 V -ra.
# Example schematic for voltage divider
# HC-SR04 Echo pin ---- 10kΩ ----> Raspberry Pi GPIO (Echo)
# |
# 20kΩ
# |
# GND
A szükséges könyvtárak telepítése
A kód megírása előtt ellenőrizze, hogy a Raspberry Pi naprakész -e, és telepítve van a szükséges könyvtárakkal.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-rpi.gpio
A Python szkript írása
Az alábbiakban egy egyszerű Python szkript található, amely összekapcsolja a HC-SR04 érzékelőt. Ez a szkript elküldi egy trigger impulzust, várja a visszhangot, és kiszámítja a távolságot a visszhang visszatérésének idő alapján.
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()
A szkript futtatása
Győződjön meg arról, hogy a vezetéke helyes -e, majd futtassa a szkriptet a Python 3 segítségével:
python3 hc-sr04.py
Látnia kell a mért távolságot centiméterben a konzolra nyomtatva. Ha LED -et használ a vizuális visszacsatoláshoz, akkor módosíthatja a szkriptet a LED megvilágításához, ha egy objektum egy bizonyos tartományon belül van.
A projekt javítása
Miután működött az alapvető távolságmérések, fontolja meg a további szolgáltatások integrálását:
- LED mutatók: Használjon LED -eket a különböző távolsági tartományok jelzésére.
- LCD kijelző: Mutassa meg a távolságot egy LCD képernyőn.
- Adatnaplózás: Rögzítse a távolságméréseket az idő múlásával az elemzéshez.
- Riasztási rendszerek: Vigyázzatok vagy értesítések indításakor, ha az objektumok túl közel vannak.
Általános kérdések hibaelhárítása
Az érzékelőkkel és a GPIO -val való munka néha kihívást jelenthet. Íme néhány általános kérdés és hogyan lehet kezelni őket:
- Helytelen vezetékek: Ellenőrizze duplán az összes csatlakozást, különös tekintettel az ECHO PIN-es feszültség-elválasztóra.
- Zajos mérések: Győződjön meg arról, hogy a beállítás stabil -e, és fontolja meg a kondenzátorok hozzáadását a zaj szűrésére.
- GPIO konfliktusok: Győződjön meg arról, hogy más szkriptek vagy szolgáltatások sem használják ugyanazokat a GPIO -csapokat.
-
Engedélyek: Futtassa a szkripteket megfelelő engedélyekkel, használva
sudo
Ha szükséges.
Következtetés
A HC-SR04 ultrahangos érzékelő sokoldalú és megbízható alkatrész, amely a Raspberry PI-vel kombinálva sok alkalmazást szolgálhat az egyszerű távolságméréstől a komplex automatizálási rendszerekig. Az ezen útmutatóban vázolt lépések betartásával képesnek kell lennie arra, hogy beállítson és elkezdje kísérletezni a HC-SR04-rel a Raspberry PI-n. Boldog bántalmazást!