Ebben a projektben összekapcsoljuk a HC-SR04 ultrahangos érzékelő modult a Raspberry Pi-vel a távolság mérése érdekében. Korábban az Raspberry Pi ultrahangos érzékelőt használtuk az akadálykerülő robot felépítéséhez. Mielőtt továbblépne, tudassa az ultrahangos érzékelővel.
HC-SR04 ultrahangos érzékelő:
Az ultrahangos érzékelőt a távolság nagy pontossággal és stabil leolvasással történő mérésére használják. Mérheti a távolságot 2 cm-től 400 cm-ig vagy 1 hüvelyktől 13 lábig. 40KHz frekvenciájú ultrahanghullámot bocsát ki a levegőben, és ha az objektum útját állja, akkor visszapattan az érzékelőhöz. Kiszámíthatja a távolságot, ha felhasználja azt az időt, amelyre az objektum ütése és visszatérése szükséges.
Az ultrahangos érzékelő az „ECHO” nevű technikát használja. Az „ECHO” egyszerűen visszavert hanghullám. Önnek ECHO-ja lesz, amikor a hang visszaverődik a zsákutca elérése után.
A HCSR04 modul hangrázkódást generál ultrahangos tartományban, amikor a 'Trigger' csapot magasra teszjük kb. 10usra, amely 8 ciklusú hangsebességet küld hangsebességgel, és miután az objektumot elütötte, az Echo csap fogadja. Attól függően, hogy mennyi időt vesz igénybe a rezgés a visszajutáshoz, megfelelő impulzus kimenetet biztosít. Ha az objektum messze van, akkor több időre van szükség az ECHO meghallgatásához, és a kimeneti impulzus szélessége nagy lesz. És ha az akadály közel van, akkor az ECHO gyorsabban hallatszik, és a kimenő impulzus szélessége kisebb lesz.
Kiszámíthatjuk az objektum távolságát az ultrahangos hullám által az érzékelőhöz való visszatéréshez szükséges idő alapján. Mivel a hang ideje és sebessége ismert, a következő képletekkel számíthatjuk ki a távolságot.
- Távolság = (Idő x Hangsebesség levegőben (343 m / s)) / 2.
Az érték el van osztva kettővel, mivel a hullám előre és hátra halad ugyanezt a távolságot lefedve. Így az akadály eléréséhez szükséges idő csak a teljes idő fele
Tehát a távolság centiméterben = 17150 * T
Korábban számos hasznos projektet készítettünk ennek az ultrahangos érzékelőnek és az Arduino-nak, ellenőrizze őket alább:
- Arduino alapú távolságmérés ultrahangos érzékelővel
- Ajtóriasztó Arduino és ultrahangos érzékelő használatával
- IOT alapú dömperfigyelés Arduino használatával
Szükséges alkatrészek:
Itt a Raspberry Pi 2 Model B-t használjuk Raspbian Jessie operációs rendszerrel. Az összes alapvető hardver- és szoftverkövetelményt korábban megbeszéltük. Megtekintheti a Raspberry Pi bevezetőjében és a Raspberry PI LED villog a kezdéshez, azon kívül, amire szükségünk van:
- Raspberry Pi előre telepített operációs rendszerrel
- HC-SR04 ultrahangos érzékelő
- Tápegység (5v)
- 1KΩ ellenállás (3 db)
- 1000uF kondenzátor
- 16 * 2 karakteres LCD
Áramkör magyarázat:
A Raspberry Pi és az LCD közötti kapcsolatokat az alábbi táblázat tartalmazza:
LCD csatlakozás |
Raspberry Pi kapcsolat |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
Ebben az áramkörben 8 bites kommunikációt (D0-D7) használtunk az LCD csatlakoztatásához a Raspberry Pi-hez, azonban ez nem kötelező, használhatunk 4 bites kommunikációt (D4-D7) is, de 4 bites kommunikációs program esetén egy kicsit komplexum a kezdőknek, csak 8 bites kommunikációval. Itt csatlakoztattunk 10 érintkezõ LCD-t a Raspberry Pi-hez, amelyben 8 érintkezõ adatrögzítõ és 2 csap vezérlõ csap.
Az alábbiakban található a kapcsolási rajz a HC-SR04 érzékelő és az LCD csatlakoztatásához Raspberry Pi-vel a távolság méréséhez.
Az ábrán látható módon a HC-SR04 ultrahangos érzékelőnek négy csapja van,
- PIN1 - VCC vagy + 5V
- PIN2- TRIGGER (10us magas impulzus adható meg, hogy az érzékelő érzékelje a távolságot)
- PIN3- ECHO (olyan impulzus kimenetet biztosít, amelynek szélessége az indítás utáni távolságot jelöli)
- PIN4- FÖLD
Az Echo pin + 5 V kimeneti impulzust biztosít, amely nem csatlakoztatható közvetlenül a Raspberry Pi-hez. Tehát a feszültségosztó áramkört fogjuk használni (R1 és R2 felhasználásával építettük), hogy + 3,3 V logikát kapjunk + 5 V logika helyett.
Munka magyarázat:
A Raspberry Pi távolságmérő teljes működése megy, 1. Indítsa el az érzékelőt a kioldócsap felhúzásával 10uS-ig.
2. A hanghullámot az érzékelő küldi. Az ECHO vétele után az érzékelő modul a távolsággal arányos kimenetet biztosít.
3. Rögzítjük azt az időpontot, amikor a kimeneti impulzus LOW-ról HIGH-ra, majd amikor újra HIGH-ról LOW-ra megy.
4. Lesz kezdési és leállítási időnk. A távolság kiszámításához a távolságegyenletet fogjuk használni.
5. A távolság 16x2 LCD kijelzőn jelenik meg.
Ennek megfelelően a következő funkciók elvégzésére írtuk a Python programot a Raspberry Pi számára:
1. Trigger küldése az érzékelőhöz
2. Jegyezze fel az érzékelő impulzus kimenetének kezdési és leállási idejét.
3. A távolság kiszámításához a START és a STOP idő használatával.
4. A kapott eredmény megjelenítése a 16 * 2 LCD-n.
A teljes program és a bemutató videó az alábbiakban található. A program jól meg van magyarázva a megjegyzésekkel, ha kétségei vannak, kérdezze meg az alábbi megjegyzések részben.