norr@manorshi.com         +86-519-89185720
1
Uudistekeskus

Kuidas kasutada ultraheliandurit Arduinoga?

Vaatamised: 164     Autor: Grace Avaldamisaeg: 2021-07-26 Päritolu: Sait

Facebooki jagamisnupp
twitteris jagamise nupp
rea jagamise nupp
wechati jagamisnupp
linkedini jagamisnupp
pinteresti jagamisnupp
whatsapi jagamisnupp
kakao jagamisnupp
snapchati jagamisnupp
telegrammi jagamise nupp
jaga seda jagamisnuppu

Ultrahelianduri kasutamine Arduinoga: HC-SR04 juhend

The HC-SR04 ultraheliandur on Arduino projektide jaoks üks populaarsemaid kaugusmõõtmismooduleid. Seda kasutatakse laialdaselt takistuste vältimise robotites, parkimisandurites, tasemetuvastuses, nutikates prügikastides, kaugusmõõturites ja muudes kontaktivabades rakendustes.

Moodul kiirgab läbi saatja 40kHz ultrahelilaineid. Kui helilaine kohtub objektiga, peegeldub see vastuvõtjasse tagasi. Mõõtes kaja aega ja kasutades heli kiirust, saab Arduino välja arvutada anduri ja objekti vahelise kauguse.

HC-SR04 ultrahelianduri moodul Arduino kauguse mõõtmiseks

HC-SR04 peamised tehnilised parameetrid

Parameeter Väärtus
Tüüpiline tööpinge 5V DC
Staatiline töövool Mõne mooduli versiooni puhul alla 5 mA
Töösagedus 40 kHz ultraheli laine
Tuvastamiskaugus Üldine vahemik: 2cm kuni 400cm; mõned võimendusega reguleeritud versioonid võivad toetada pikemat ulatust.
Tuvastamisnurk Tavaliselt 15 kraadi piires; mõned suurema võimendusega versioonid võivad ulatuda umbes 30 kraadini.
Täpsus Sobivates katsetingimustes kuni umbes 0,3 cm
Pime tsoon Minimaalne mõõtmiskaugus umbes 2 cm

HC-SR04 Pin Kirjeldus

Ultrahelimoodulil HC-SR04 on neli kontakti: VCC, TRIG, ECHO ja GND. Arduino saadab TRIG viigule lühikese päästikuimpulsi, seejärel loeb ECHO viigu tagasi impulsi.

HC-SR04 pin Arduino ühendus Funktsioon
VCC 5V Ultrahelimooduli toiteallikas.
TRIG Digitaalne pin 9 Päästiku sisend. Arduino rakendab kauguse mõõtmise alustamiseks 10 us impulssi.
ECHO Digitaalne tihvt 10 Kaja väljund. Arduino loeb kauguse arvutamiseks impulsi laiust.
GND GND Maaühendus.

HC-SR04 ultrahelianduri pinout VCC TRIG ECHO GND

Ultrahelianduri HC-SR04 tööpõhimõte

HC-SR04 töötab lennuaja mõõtmise teel. Arduino saadab TRIG-viigule vähemalt 10 mikrosekundilise kõrgetasemelise päästikusignaali. Seejärel saadab moodul automaatselt kaheksa 40 kHz ultraheliimpulssi ja ootab peegeldunud kaja.

Kui tuvastatakse peegeldunud ultraheli signaal, väljastab ECHO viik kõrgetasemelise impulsi. Selle impulsi kestus on ultrahelilaine edasi-tagasi liikumisaeg.

Kaugus = kaja kõrge taseme aeg × heli kiirus / 2

Arduino koodis on tavaline lihtsustatud valem:

Kaugus cm = kestus × 0,0343 / 2

HC-SR04 ultrahelimooduli lennuaeg tööpõhimõte

HC-SR04 ultrahelimooduli ajastusskeem

Ajastusprotsess on lihtne: Arduino hoiab TRIG-i korraks madalal, saadab 10 us kõrge impulsi, seejärel tagastab TRIG madalale. HC-SR04 saadab ultraheli sari ja seab ECHO kõrgeks, kuni peegeldunud signaal taastub või mõõtmine aegub.

Ebastabiilsete näitude vältimiseks jätke mõõtmiste vahele lühike viivitus. Tavaliselt kasutatakse umbes 60 ms pikkust mõõtmistsüklit, nii et eelmisel ultraheli kajal on aega enne järgmist päästikut kaduda.

Arduino programmeerimise põhitõed: pulseIn funktsioon

Funktsiooni Arduino pulseIn() kasutatakse selleks, et mõõta, kui kaua digitaalne kontakt HIGH või LOW püsib. HC-SR04 puhul kasutab Arduino pulseIn(echoPin, HIGH), et lugeda kõrgetasemelist impulsi laiust ECHO kontaktilt.

Süntaks Tähendus
pulseIn(pin, väärtus) Loeb HIGH või LOW impulsi kestust.
pulseIn(pin, väärtus, ajalõpp) Loeb impulsi ajalõpu väärtusega mikrosekundites.

Soovitatav on kasutada ajalõpu. Kui kaja ei tagastata, võib funktsioon lõpetada ootamise ja tagastada 0, selle asemel et programm liiga kauaks blokeerida.

Arduino plaat, mida kasutatakse HC-SR04 ultraheli kaugusanduriga

Kuidas ühendada HC-SR04 ultraheliandur Arduinoga

Juhtmed on sirgjoonelised. Ühendage VCC 5 V, GND GND-ga, TRIG Arduino digitaalse väljundviikuga ja ECHO Arduino digitaalsisendi viiguga. Järgmises näites kasutatakse Arduino Uno, TRIG viigul 9 ja ECHO viigul 10.

Arduino Uno leivaplaadi ühendusskeem HC-SR04 ultrahelianduri jaoks

HC-SR04 ultraheliandur Arduino kood

Järgmine tüüpiline Arduino programm saadab 10 us trigerimpulsi, loeb ECHO impulsi laiust, arvutab kauguse sentimeetrites ja prindib tulemuse jadamonitorisse.

const int trigPin = 9; const int echoPin = 10; pikk kestus; ujukikaugusCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   viivitusMikrosekundid(2);   digitalWrite(trigPin, HIGH);   viivitusMikrosekundid(10);   digitalWrite(trigPin, LOW);   kestus = pulseIn(echoPin, HIGH, 30000);   if (kestus == 0) { Serial.println('Väljaspool vahemikku');   } else { kaugusCm = kestus * 0,0343 / 2;     Serial.print('Kaugus: ');     Serial.print(distanceCm);     Serial.println(' cm');   } viivitus(60); }

Kui näete jadamonitoril kauguse väärtusi, töötavad ultraheliandur HC-SR04 ja Arduino juhtmestik õigesti. Seejärel saate kasutada vahemaa andmeid takistuste tuvastamiseks, roboti liikumise juhtimiseks, automaatsete uste, parkimise meeldetuletuste või vedeliku taseme projektide jaoks.

Arduino HC-SR04 ultrahelianduri vahemiku määramise programm

Kuidas parandada HC-SR04 mõõtmise täpsust

  • Hoidke mõõdetud objekt soovitatud kauguse vahemikus ja väljaspool 2 cm pimetsooni.

  • Ultraheli paremaks peegelduseks kasutage tasast ja kindlat sihtpinda.

  • Vältige pehmete, nurga all olevate, poorsete või heli neelavate materjalide mõõtmist.

  • Kasutage stabiilset 5 V toiteallikat ja hoidke juhtmestik lühike ja turvaline.

  • Lisage funktsioonile pulseIn() ajalõpp, et vältida pikka blokeerimist, kui kaja ei taastu.

  • Müra vähendamiseks keskmistage või filtreerige mitu näitu.

  • Suurema täpsuse saavutamiseks kompenseerige temperatuuri, kuna helikiirus muutub õhutemperatuuriga.

Arduino ultrahelianduriprojektide levinumad rakendused

Rakendus Kuidas HC-SR04 kasutatakse
Takistusi vältiv robot Tuvastab läheduses olevaid objekte ja aitab robotil suunda muuta.
Parkimiskauguse andur Mõõdab kaugust sõiduki ja takistuse vahel.
Vedeliku taseme tuvastamine Mõõdab kaugust andurist vedeliku pinnani ilma kontaktita.
Nutikas prügikast Tuvastab läheduses oleva käe või eseme ja käivitab automaatse kaane avamise.

Kokkuvõte

Ultrahelianduri HC-SR04 kasutamiseks koos Arduinoga ühendage VCC 5 V, GND GND, TRIG digitaalväljundi kontaktiga ja ECHO digitaalsisendi viiguga. Saatke 10 us päästikuimpulss, lugege pulseIn() abil kaja kestust ja arvutage kaugus lennuaja valemiga.

HC-SR04 on odav, hõlpsasti kasutatav ja sobib paljudele Arduino kaugusmõõtmisprojektidele. Parimate tulemuste saavutamiseks pöörake tähelepanu sihtpinnale, mõõtmisnurgale, pimealale, stabiilsele võimsusele, ajalõpu käitlemisele ja temperatuuriefektidele.

Korduma kippuvad küsimused HC-SR04 Arduino ultrahelianduri kohta

Kuidas HC-SR04 ultraheliandur Arduinoga töötab?

Arduino saadab TRIG viigule 10 us impulsi. HC-SR04 kiirgab kaheksa 40 kHz ultraheliimpulssi ja seab ECHO viigu kõrgele, kuni peegeldunud heli taastub. Arduino mõõdab seda impulsi aega ja arvutab kauguse.

Mis on HC-SR04 Arduino projektide kaugusvalem?

Valem on kaugus = kestus × heli kiirus / 2. Sentimeetrites on levinud Arduino valem kaugusCm = kestus × 0,0343 / 2, kus kestust mõõdetakse mikrosekundites.

Miks jagame ultrahelianduri tulemuse 2-ga?

Mõõdetud kajaaeg on edasi-tagasi aeg andurist objektini ja tagasi andurini. 2-ga jagamine annab anduri ja objekti vahelise ühesuunalise kauguse.

Milliseid Arduino tihvte peaksin TRIG ja ECHO jaoks kasutama?

Saate kasutada enamikku Arduino digitaalseid tihvte. Paljudes näidetes on TRIG ühendatud digitaalse viiguga 9 ja ECHO on ühendatud digitaalse viiguga 10. Kood peab ühtima teie juhtmestikus kasutatud kontaktidega.

Miks minu HC-SR04 ultraheliandur tagastab nulli või juhuslikke väärtusi?

Tavalisteks põhjusteks on lahtised juhtmestikud, ebastabiilne 5 V toide, valed TRIG- või ECHO-viigunumbrid, objektide puudumine levialas, nurga all olevad sihtpinnad, pehmed materjalid, blokeeritud anduripead või funktsiooni pulseIn() ajalõpu puudumine.

Mis on ultrahelianduri HC-SR04 pimetsoon?

Pime tsoon on minimaalne vahemaa, mida moodul ei saa usaldusväärselt mõõta. HC-SR04 puhul on pimeala tavaliselt umbes 2 cm. Sellest lähemal olevad objektid võivad anda ebastabiilsed näidud.

Kas HC-SR04 saab mõõta veetaset Arduinoga?

Jah, HC-SR04 saab kasutada lihtsate kontaktivaba veetaseme projektide jaoks, kui andur on niiskuse eest kaitstud ja paigaldatud vedeliku pinnast kõrgemale. Niiskete, välistingimustes kasutatavate või tööstuslike paakide jaoks on soovitatav kasutada veekindlat ultraheliandurit.

Kuidas muuta Arduino ultrahelianduri näidud stabiilsemaks?

Kasutage stabiilset toiteallikat, hoidke andurit sihtmärgiga risti, vältige pehmeid või nurga all olevaid pindu, lisage pulseIn timeout, võtke mitu näitu, kasutage mediaanfiltreerimist ja jätke mõõtmiste vahele umbes 60 ms.

Sisukord