norr@manorshi.com         +86-519-89185720
1
Hírközpont

Hogyan kell használni az ultrahangos érzékelőt az Arduino-val?

Megtekintések: 164     Szerző: Grace Megjelenés ideje: 2021-07-26 Eredet: Telek

Facebook megosztás gomb
Twitter megosztás gomb
vonalmegosztás gomb
wechat megosztási gomb
linkedin megosztás gomb
pinterest megosztási gomb
WhatsApp megosztási gomb
kakao megosztás gomb
snapchat megosztási gomb
táviratmegosztó gomb
oszd meg ezt a megosztási gombot

Az ultrahangos érzékelő használata Arduino-val: HC-SR04 útmutató

A A HC-SR04 ultrahangos érzékelő az egyik legnépszerűbb távolságmérő modul az Arduino projektekhez. Széles körben használják akadályelkerülő robotokban, parkolóérzékelőkben, szintérzékelésben, intelligens szemeteskukában, távolságmérőben és egyéb érintésmentes érzékelő alkalmazásokban.

A modul 40 kHz-es ultrahanghullámokat bocsát ki egy adón keresztül. Amikor a hanghullám találkozik egy tárggyal, visszaverődik a vevő felé. A visszhangidő mérésével és a hangsebesség használatával az Arduino ki tudja számítani az érzékelő és a tárgy közötti távolságot.

HC-SR04 ultrahangos érzékelő modul Arduino távolságméréshez

HC-SR04 fő műszaki paraméterek

Paraméter Érték
Tipikus üzemi feszültség 5V DC
Statikus üzemi áram Egyes modulverzióknál kevesebb, mint 5 mA
Működési frekvencia 40 kHz-es ultrahanghullám
Érzékelési távolság Általános tartomány: 2-400 cm; egyes erősítéssel beállított változatok támogathatják a hosszabb hatótávolságot.
Érzékelési szög Általában 15 fokon belül; egyes verziók nagyobb erősítéssel elérhetik a 30 fokot.
Pontosság Kb. 0,3 cm-ig megfelelő vizsgálati körülmények között
Vakzóna Körülbelül 2 cm minimális mérési távolság

HC-SR04 Pin Leírás

A HC-SR04 ultrahangos modulnak négy érintkezője van: VCC, TRIG, ECHO és GND. Az Arduino egy rövid trigger impulzust küld a TRIG lábnak, majd kiolvassa a visszatérő impulzust az ECHO lábról.

HC-SR04 tű Arduino kapcsolat Funkció
VCC 5V Tápegység az ultrahangos modulhoz.
KERÉKKÖTŐ Digitális tű 9 Trigger bemenet. Az Arduino 10 us impulzust alkalmaz a távolság mérésének megkezdéséhez.
VISSZHANG Digitális tű 10 Echo kimenet. Az Arduino beolvassa az impulzusszélességet a távolság kiszámításához.
GND GND Föld csatlakozás.

HC-SR04 ultrahangos érzékelő kivezetése VCC TRIG ECHO GND

A HC-SR04 ultrahangos érzékelő működési elve

A HC-SR04 repülési idő mérésével működik. Az Arduino legalább 10 mikromásodperces magas szintű trigger jelet küld a TRIG tűnek. A modul ezután automatikusan nyolc 40 kHz-es ultrahang impulzust küld, és várja a visszavert visszhangot.

A visszavert ultrahangjel észlelésekor az ECHO érintkező magas szintű impulzust ad ki. Ennek az impulzusnak az időtartama az ultrahanghullám oda-vissza utazási ideje.

Távolság = Echo magas szintű idő × hangsebesség / 2

Az Arduino kódban a közös egyszerűsített képlet a következő:

Távolság cm-ben = időtartam × 0,0343 / 2

A HC-SR04 ultrahangos modul repülési ideje működési elve

HC-SR04 ultrahangos modul időzítési diagramja

Az időzítési folyamat egyszerű: az Arduino rövid ideig alacsonyan tartja a TRIG-et, 10 us magas impulzust küld, majd visszaállítja a TRIG-et alacsonyra. A HC-SR04 ultrahang sorozatot küld, és magasra állítja az ECHO-t mindaddig, amíg a visszavert jel vissza nem tér, vagy a mérési időt nem hagyja abba.

Az instabil leolvasás elkerülése érdekében hagyjon rövid késleltetést a mérések között. Általában körülbelül 60 ms-os mérési ciklust használnak, így az előző ultrahang visszhangnak van ideje eltűnni a következő trigger előtt.

Arduino programozási alapok: pulseIn funkció

Az Arduino pulseIn() függvény annak mérésére szolgál, hogy egy digitális tű mennyi ideig marad HIGH vagy LOW. A HC-SR04 esetében az Arduino a pulseIn(echoPin, HIGH) segítségével olvassa ki a magas szintű impulzusszélességet az ECHO érintkezőből.

Szintaxis Jelentése
pulseIn(tű, érték) Kiolvassa a HIGH vagy LOW impulzus időtartamát.
pulseIn(tű, érték, időtúllépés) Kiolvassa az impulzust egy időtúllépési értékkel mikroszekundumban.

Időkorlát használata javasolt. Ha nem ad vissza visszhangot, a függvény leállíthatja a várakozást, és 0-t adhat vissza ahelyett, hogy túl sokáig blokkolná a programot.

Arduino kártya HC-SR04 ultrahangos távolságérzékelővel

A HC-SR04 ultrahangos érzékelő csatlakoztatása az Arduino-hoz

A vezetékezés egyszerű. Csatlakoztassa a VCC-t az 5V-hoz, a GND-t a GND-hez, a TRIG-et egy Arduino digitális kimeneti érintkezőhöz és az ECHO-t egy Arduino digitális bemeneti érintkezőhöz. A következő példa az Arduino Uno-t, a TRIG-et a 9-es érintkezőn és az ECHO-t a 10-es érintkezőn használja.

Arduino Uno kenyérsütőtábla kapcsolási rajza a HC-SR04 ultrahangos érzékelőhöz

HC-SR04 ultrahangos érzékelő Arduino kód

A következő tipikus Arduino program 10us trigger impulzust küld, leolvassa az ECHO impulzusszélességet, kiszámítja a távolságot centiméterben, és kinyomtatja az eredményt a soros monitoron.

const int trigPin = 9; const int echoPin = 10; hosszú időtartam; lebegési távolságCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   késleltetésMikroszekundum(2);   digitalWrite(trigPin, HIGH);   késleltetésMikroszekundum(10);   digitalWrite(trigPin, LOW);   időtartam = pulseIn(echoPin, HIGH, 30000);   if (duration == 0) { Serial.println('Tartományon kívül');   } else { távolságCm = időtartam * 0,0343 / 2;     Serial.print('Távolság: ');     Serial.print(távolságCm);     Serial.println(' cm');   } késleltetés(60); }

Ha távolságértékeket lát a soros monitoron, akkor a HC-SR04 ultrahangos érzékelő és az Arduino kábelezés megfelelően működik. Ezután használhatja a távolságadatokat akadályérzékeléshez, robot mozgásvezérléséhez, automatikus ajtókhoz, parkolási emlékeztetőkhöz vagy folyadékszint-projektekhez.

Arduino HC-SR04 ultrahangos szenzor távolságmérő program

A HC-SR04 mérési pontosságának javítása

  • Tartsa a mért tárgyat az ajánlott távolságtartományon belül és a 2 cm-es vak zónán kívül.

  • Használjon sík és szilárd célfelületet a jobb ultrahangvisszaverődés érdekében.

  • Kerülje a puha, ferde, porózus vagy hangelnyelő anyagok mérését.

  • Használjon stabil 5 V-os tápegységet, és tartsa röviden és biztonságosan a vezetékeket.

  • Adjon hozzá időtúllépést a pulseIn()-hez, hogy megakadályozza a hosszú blokkolást, amikor nem tér vissza visszhang.

  • A zaj csökkentése érdekében több leolvasást átlagoljon vagy szűrjön ki.

  • A nagyobb pontosság érdekében kompenzálja a hőmérsékletet, mert a hangsebesség a levegő hőmérsékletével változik.

Az Arduino ultrahangos érzékelőprojektek általános alkalmazásai

Alkalmazás A HC-SR04 használata
Akadálykerülő robot Érzékeli a közeli tárgyakat, és segíti a robotot irányváltásban.
Parkolási távolság érzékelő Méri a távolságot a jármű és az akadály között.
Folyadékszint érzékelés Érintkezés nélkül méri az érzékelő és a folyadék felület közötti távolságot.
Intelligens szemetes Érzékel egy közeli kezet vagy tárgyat, és elindítja a fedél automatikus kinyitását.

Összegzés

Ha HC-SR04 ultrahangos érzékelőt szeretne használni Arduino-val, csatlakoztassa a VCC-t az 5 V-hoz, a GND-t a GND-hez, a TRIG-et egy digitális kimeneti érintkezőhöz és az ECHO-t egy digitális bemeneti érintkezőhöz. Küldjön egy 10 us trigger impulzust, olvassa le a visszhang időtartamát a pulseIn() segítségével, és számítsa ki a távolságot a repülési idő képlettel.

A HC-SR04 olcsó, könnyen használható, és számos Arduino távolságmérési projekthez alkalmas. A legjobb eredmény érdekében ügyeljen a célfelületre, a mérési szögre, a vak zónára, a stabil teljesítményre, az időtúllépés kezelésére és a hőmérsékleti hatásokra.

Gyakran ismételt kérdések a HC-SR04 Arduino ultrahangos érzékelővel kapcsolatban

Hogyan működik a HC-SR04 ultrahangos érzékelő az Arduino-val?

Az Arduino 10us-os impulzust küld a TRIG tűnek. A HC-SR04 nyolc 40 kHz-es ultrahang impulzust bocsát ki, és az ECHO tűt magasra állítja, amíg a visszavert hang vissza nem tér. Az Arduino méri ezt az impulzusidőt és kiszámítja a távolságot.

Mi a távolságképlet a HC-SR04 Arduino projektekhez?

A képlet a távolság = időtartam × hangsebesség / 2. Centiméterben az Arduino általános képlete a távolságCm = időtartam × 0,0343 / 2, ahol az időtartamot mikroszekundumban mérik.

Miért osztjuk el az ultrahangos érzékelő eredményét 2-vel?

A mért visszhangidő az érzékelőtől a tárgyig és vissza az érzékelőhöz való oda-vissza út ideje. 2-vel osztva megadja az érzékelő és a tárgy közötti egyirányú távolságot.

Melyik Arduino tűket használjam a TRIG és az ECHO számára?

A legtöbb Arduino digitális tűt használhatja. Sok példában a TRIG a 9-es digitális érintkezőhöz, az ECHO pedig a 10-es digitális érintkezőhöz csatlakozik. A kódnak meg kell egyeznie a kábelezésben használt érintkezőkkel.

Miért ad vissza nulla vagy véletlenszerű értékeket a HC-SR04 ultrahangos érzékelőm?

A gyakori okok közé tartozik a meglazult vezetékezés, az instabil 5 V-os tápellátás, a hibás TRIG vagy ECHO érintkezőszámok, a hatótávolságon belüli tárgy hiánya, a ferde célfelületek, a puha anyagok, az érzékelőfejek blokkolása, vagy a pulseIn() függvény időtúllépése.

Mi a HC-SR04 ultrahangos érzékelő vak zónája?

A vak zóna az a minimális távolság, ahol a modul nem tud megbízhatóan mérni. A HC-SR04 esetében a vak zóna általában körülbelül 2 cm. Az ennél közelebb lévő tárgyak instabil leolvasást eredményezhetnek.

A HC-SR04 mérheti a vízszintet Arduino segítségével?

Igen, a HC-SR04 használható egyszerű, érintésmentes vízszint-projektekhez, ha az érzékelő nedvességtől védett és a folyadék felülete fölé van szerelve. Nedves, kültéri vagy ipari tartályokhoz vízálló ultrahangos érzékelő használata javasolt.

Hogyan tehetem stabilabbá az Arduino ultrahangos érzékelő leolvasását?

Használjon stabil tápegységet, tartsa az érzékelőt merőlegesen a célpontra, kerülje a puha vagy ferde felületeket, adjon hozzá pulseIn időtúllépést, vegyen le többszöri leolvasást, használjon medián szűrést, és hagyjon körülbelül 60 ms-ot a mérések között.

Tartalomjegyzék