Raspberry Pi

A távolság mérése a Raspberry Pi-vel

A távolság mérése a Raspberry Pi-vel
Mérheti a távolságot a HC-SR04 ultrahangos érzékelővel a Raspberry Pi segítségével. A HC-SR04 érzékelő 2 mm távolságot képes mérni (.02m) - 400cm (4m). 8 sorozat 40KHz-es jelet küld, majd megvárja, amíg eltalál egy tárgyat, és visszaverődik. Azt az időt, amelyre az ultrahangos 40KHz-es hanghullám előre-hátra halad, kiszámítják az érzékelő és az úton lévő tárgy közötti távolságot. Alapvetően így működik a HC-SR04 érzékelő.

Ebben a cikkben bemutatom, hogyan használhatja a HC-SR04 ultrahangos érzékelőt az érzékelő és egy objektum közötti távolság mérésére a maga módján a Raspberry Pi segítségével. Kezdjük el.

Szükséges alkatrészek:

Ahhoz, hogy sikeresen mérje a távolságot a Raspberry Pi és a HC-SR04 érzékelővel, szüksége van,

Külön cikket írtam a Raspbian telepítéséről a Raspberry Pi-re, amelyet a https: // linuxhint oldalon ellenőrizhet.com / install_raspbian_raspberry_pi / ha szükséges.

HC-SR04 csatlakozók:

A HC-SR04 4 csapos. VCC, TRIGGER, ECHO, GRUD.

1. ábra: HC-SR04 csatlakozók (https: // www.egér.com / ds / 2/813 / HCSR04-1022824.pdf)

A VCC csatlakozót a Raspberry Pi + 5 V-os csatlakozójához kell csatlakoztatni, amely a 2. tű. A GROUND csapot össze kell kötni a Raspberry Pi GND tűjével, ami a 4. tű.

A TRIGGER és az ECHO csapokat össze kell kötni a Raspberry Pi GPIO csapjaival. Míg a TRIGGER tű közvetlenül csatlakoztatható a Raspberry Pi egyik GPIO tűjéhez, az ECHO tűnek feszültségosztó áramkörre van szüksége.

Kördiagramm:

Csatlakoztassa a HC-SR04 ultrahangos érzékelőt a Raspberry Pi készülékhez az alábbiak szerint:

2. ábra: HC-SR04 ultrahangos érzékelő a Raspberry Pi-hez csatlakoztatva.

Miután minden összekapcsolódott, így néz ki:

3. ábra: HC-SR04 ultrahangos érzékelő a Raspberry Pi-hez csatlakoztatva a kenyérlapon.

4. ábra: HC-SR04 ultrahangos érzékelő a Raspberry Pi-hez csatlakoztatva a kenyérlapon.

Python program írása a távolság mérésére HC-SR04 segítségével:

Először VNC vagy SSH használatával csatlakozzon a Raspberry Pi készülékéhez. Ezután nyisson meg egy új fájlt (mondjuk távolság.py) és írja be a következő kódsorokat:

Itt az 1. sor a málna pi GPIO könyvtárat importálja.

A 2. sor importálja az időkönyvtárat.

Benne próbáld ki blokk, a HC-SR04 használatával a távolság mérésére szolgáló tényleges kód meg van írva.

A végül blokk a GPIO csapok megtisztítására szolgál GPIO.takarítás () módszer, amikor a program kilép.

Benne próbáld ki blokk, az 5. vonalon, GPIO.setmode (GPIO.TÁBLA) a csapok meghatározásának megkönnyítésére szolgál. Mostantól hivatkozhat a csapokra fizikai számokkal, ahogy azok a Raspberry Pi táblán találhatók.

A 7. és 8. vonalon, pinTrigger értékre van állítva 7 és pinEcho értékre van állítva 11. A TRIGGER A HC-SR04 csapja csatlakozik a 7 csaphoz, és VISSZHANG A HC-SR04 tűje a Rapsberry Pi 11 tűjéhez csatlakozik. Mindkettő GPIO csap.

10. vonalon, pinTrigger beállítása az OUTPUT használatához GPIO.beállít() módszer.

A 11. vonalon, pinEcho be van állítva az INPUT használatához GPIO.beállít() módszer.

A 13-17. Sorokat a visszaállításhoz használják pinTrigger (0 logikai beállítással) és a pinTrigger az 1 logikához 10 ms-ig, majd a 0 logikához. 10 ms alatt a HC-SR04 érzékelő 8 40KHz impulzust küld.

A 19–24. Sorokat arra használják, hogy megmérjék azt az időt, amelybe a 40 kHz-es impulzusok visszaverődnek egy objektumon, és visszajutnak a HC-SR04 érzékelőhöz.

A 25. vonalon a távolságot a képlet segítségével mérik,

Távolság = delta idő * sebesség (340M / S) / 2

=> Távolság = delta idő * (170M / S)

A távolságot centiméterben számoltam méter helyett, csak hogy pontos legyek. Számítottam a távolságot is 2 tizedesjegyre kerekítve.

Végül a 27. soron kinyomtatják az eredményt. Ez az, nagyon egyszerű.

Most futtassa a Python szkriptet a következő paranccsal:

$ python3 távolság.py

Mint látható, a mért távolság 8.40 cm.

5. ábra: körülbelül 8-ra helyezett tárgy.40 cm távolságra az érzékelőtől.

Kicsit távolabb költöztem a tárgyra, a mért távolság 21.81cm. Szóval, a várakozásoknak megfelelően működik.

6. ábra: körülbelül 21-re helyezett tárgy.81 cm-re az érzékelőtől.

Tehát így méri a távolságot a Raspberry Pi segítségével a HC-SR04 ultrahangos érzékelő segítségével.  Lásd a távolság kódját.py alább:

import RPi.GPIO mint GPIO
import idő
próbáld ki:
GPIO.setmode (GPIO.TÁBLA)
pinTrigger = 7
pinEcho = 11
 
GPIO.beállítás (pinTrigger, GPIO.KI)
GPIO.beállítás (pinEcho, GPIO.BAN BEN)
 
GPIO.kimenet (pinTrigger, GPIO.ALACSONY)
GPIO.kimenet (pinTrigger, GPIO.MAGAS)
 
idő.alvás (0.00001)
GPIO.kimenet (pinTrigger, GPIO.ALACSONY)
 
míg a GPIO.bemenet (pinEcho) == 0:
pulseStartTime = idő.idő()
míg a GPIO.bemenet (pinEcho) == 1:
pulseEndTime = idő.idő()
 
pulseDuration = pulseEndTime - pulseStartTime
távolság = kerek (impulzus időtartama * 17150, 2)
 
print ("Távolság:%.2f cm "% (távolság))
végül:
GPIO.takarítás ()
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...
A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...