norr@manorshi.com         +86-519-89185720
1
Ziņu centrs

Kā lietot ultraskaņas sensoru ar Arduino?

Skatījumi: 164     Autors: Grace Publicēšanas laiks: 2021-07-26 Izcelsme: Vietne

facebook kopīgošanas poga
Twitter kopīgošanas poga
līnijas koplietošanas poga
wechat koplietošanas poga
linkedin koplietošanas poga
Pinterest kopīgošanas poga
whatsapp koplietošanas poga
kakao koplietošanas poga
snapchat koplietošanas poga
telegrammu koplietošanas poga
kopīgojiet šo kopīgošanas pogu

Kā lietot ultraskaņas sensoru ar Arduino: HC-SR04 rokasgrāmata

The HC-SR04 ultraskaņas sensors ir viens no populārākajiem attāluma mērīšanas moduļiem Arduino projektiem. To plaši izmanto šķēršļu izvairīšanās robotos, parkošanās sensoros, līmeņa noteikšanā, viedajās atkritumu tvertnēs, attāluma mērītājos un citās bezkontakta sensoros.

Modulis caur raidītāju izstaro 40kHz ultraskaņas viļņus. Kad skaņas vilnis satiekas ar objektu, tas atstarojas atpakaļ uztvērējā. Mērot atbalss laiku un izmantojot skaņas ātrumu, Arduino var aprēķināt attālumu starp sensoru un objektu.

HC-SR04 ultraskaņas sensora modulis Arduino attāluma mērīšanai

HC-SR04 galvenie tehniskie parametri

Parametrs Vērtība
Tipisks darba spriegums 5V DC
Statiskā darba strāva Dažās moduļu versijās mazāk nekā 5 mA
Darbības biežums 40 kHz ultraskaņas vilnis
Atklāšanas attālums Kopējais diapazons: 2cm līdz 400cm; dažas versijas ar regulētu pastiprinājumu var atbalstīt lielāku diapazonu.
Atklāšanas leņķis Parasti 15 grādu robežās; dažas versijas ar lielāku pastiprinājumu var sasniegt aptuveni 30 grādus.
Precizitāte Piemērotos testa apstākļos līdz aptuveni 0,3 cm
Aklā zona Apmēram 2 cm minimālais mērīšanas attālums

HC-SR04 tapas apraksts

Ultraskaņas modulim HC-SR04 ir četras tapas: VCC, TRIG, ECHO un GND. Arduino nosūta īsu sprūda impulsu uz TRIG tapu, pēc tam nolasa atgriešanās impulsu no ECHO tapas.

HC-SR04 tapa Arduino savienojums Funkcija
VCC 5V Barošanas avots ultraskaņas modulim.
TRIG Digitālā tapa 9 Trigera ievade. Arduino izmanto 10 us impulsu, lai sāktu diapazonu.
ECHO Digitālā tapa 10 Atbalss izvade. Arduino nolasa impulsa platumu, lai aprēķinātu attālumu.
GND GND Zemējuma savienojums.

HC-SR04 ultraskaņas sensora kontaktdakša VCC TRIG ECHO GND

Ultraskaņas sensora HC-SR04 darbības princips

HC-SR04 darbojas, mērot lidojuma laiku. Arduino uz TRIG tapu nosūta augsta līmeņa sprūda signālu, kas ir vismaz 10 mikrosekundes. Pēc tam modulis automātiski nosūta astoņus 40 kHz ultraskaņas impulsus un gaida atstaroto atbalsi.

Kad tiek atklāts atstarots ultraskaņas signāls, ECHO tapa izvada augsta līmeņa impulsu. Šī impulsa ilgums ir ultraskaņas viļņa ceļojuma laiks turp un atpakaļ.

Attālums = Atbalss augsta līmeņa laiks × Skaņas ātrums / 2

Arduino kodā izplatītā vienkāršotā formula ir:

Attālums cm = ilgums × 0,0343 / 2

HC-SR04 ultraskaņas moduļa lidojuma laika darbības princips

HC-SR04 ultraskaņas moduļa laika diagramma

Laika noteikšanas process ir vienkāršs: Arduino īslaicīgi uztur zemu TRIG, nosūta 10 us augstu impulsu, pēc tam atgriež TRIG uz zemu. HC-SR04 nosūta ultraskaņas sēriju un iestata augstu ECHO, līdz atgriežas atspoguļotais signāls vai beidzas mērījuma noildze.

Lai izvairītos no nestabiliem rādījumiem, atstājiet nelielu aizkavi starp mērījumiem. Parasti tiek izmantots aptuveni 60 ms ilgs mērījumu cikls, tāpēc iepriekšējai ultraskaņas atbalss pazūd pirms nākamā sprūda.

Arduino programmēšanas pamati: funkcija pulseIn

Arduino pulseIn() funkcija tiek izmantota, lai izmērītu, cik ilgi digitālā tapa paliek HIGH vai LOW. HC-SR04 gadījumā Arduino izmanto pulseIn (echoPin, HIGH) , lai nolasītu augsta līmeņa impulsa platumu no ECHO tapas.

Sintakse Nozīme
pulseIn(pin, vērtība) Nolasa HIGH vai LOW impulsa ilgumu.
pulseIn(pin, vērtība, taimauts) Nolasa impulsu ar taimauta vērtību mikrosekundēs.

Ieteicams izmantot taimautu. Ja atbalss netiek atgriezta, funkcija var pārtraukt gaidīšanu un atgriezt 0, nevis bloķēt programmu pārāk ilgi.

Arduino plate tiek izmantota ar HC-SR04 ultraskaņas attāluma sensoru

Kā savienot HC-SR04 ultraskaņas sensoru ar Arduino

Elektroinstalācija ir vienkārša. Savienojiet VCC ar 5 V, GND ar GND, TRIG ar Arduino digitālās izvades tapu un ECHO ar Arduino digitālās ievades tapu. Nākamajā piemērā tiek izmantots Arduino Uno, TRIG 9. tapā un ECHO 10. tapā.

Arduino Uno maizes paneļa elektroinstalācijas shēma HC-SR04 ultraskaņas sensoram

HC-SR04 ultraskaņas sensora Arduino kods

Šāda tipiskā Arduino programma nosūta 10 us sprūda impulsu, nolasa ECHO impulsa platumu, aprēķina attālumu centimetros un izdrukā rezultātu seriālajā monitorā.

const int trigPin = 9; const int echoPin = 10; ilgs ilgums; pludiņa attālumsCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   kavēšanāsMikrosekundes(2);   digitalWrite(trigPin, HIGH);   kavēšanāsMikrosekundes(10);   digitalWrite(trigPin, LOW);   ilgums = pulseIn(echoPin, HIGH, 30000);   if (ilgums == 0) { Serial.println('Ārpus diapazona');   } else { distanceCm = ilgums * 0,0343 / 2;     Serial.print('Attālums: ');     Serial.print(attālumsCm);     Serial.println(' cm');   } aizkave(60); }

Ja seriālajā monitorā redzat attāluma vērtības, ultraskaņas sensors HC-SR04 un Arduino vadi darbojas pareizi. Pēc tam attāluma datus varat izmantot šķēršļu noteikšanai, robotu kustības kontrolei, automātiskajām durvīm, atgādinājumiem par novietošanu stāvvietā vai šķidruma līmeņa projektiem.

Arduino HC-SR04 ultraskaņas sensora diapazona noteikšanas programma

Kā uzlabot HC-SR04 mērījumu precizitāti

  • Turiet izmērīto objektu ieteicamā attāluma diapazonā un ārpus 2 cm aklās zonas.

  • Izmantojiet plakanu un cietu mērķa virsmu, lai nodrošinātu labāku ultraskaņas atstarošanu.

  • Izvairieties no mīkstu, leņķu, porainu vai skaņu absorbējošu materiālu mērīšanas.

  • Izmantojiet stabilu 5 V barošanas avotu un saglabājiet vadu īsu un drošu.

  • Pievienojiet taimautu elementam pulseIn(), lai novērstu ilgstošu bloķēšanu, kad atbalss neatgriežas.

  • Vidēji vai vidēji filtrējiet vairākus rādījumus, lai samazinātu troksni.

  • Lai iegūtu lielāku precizitāti, kompensējiet temperatūru, jo skaņas ātrums mainās līdz ar gaisa temperatūru.

Arduino ultraskaņas sensoru projektu izplatītie pielietojumi

Pieteikums Kā tiek izmantots HC-SR04
Robots, kas izvairās no šķēršļiem Atklāj tuvumā esošos objektus un palīdz robotam mainīt virzienu.
Parkošanās distances sensors Mēra attālumu starp transportlīdzekli un šķērsli.
Šķidruma līmeņa noteikšana Mēra attālumu no sensora līdz šķidruma virsmai bez kontakta.
Viedā atkritumu tvertne Atklāj tuvumā esošu roku vai priekšmetu un iedarbina automātisku vāka atvēršanu.

Kopsavilkums

Lai izmantotu HC-SR04 ultraskaņas sensoru ar Arduino, pievienojiet VCC pie 5 V, GND ar GND, TRIG ar digitālās izejas tapu un ECHO ar digitālās ievades tapu. Nosūtiet 10 us trigera impulsu, nolasiet atbalss ilgumu ar pulseIn() un aprēķiniet attālumu, izmantojot lidojuma laika formulu.

HC-SR04 ir lēts, viegli lietojams un piemērots daudziem Arduino attāluma mērīšanas projektiem. Lai iegūtu labākos rezultātus, pievērsiet uzmanību mērķa virsmai, mērīšanas leņķim, aklajai zonai, stabilai jaudai, taimauta apstrādei un temperatūras efektiem.

Bieži uzdotie jautājumi par HC-SR04 Arduino ultraskaņas sensoru

Kā ultraskaņas sensors HC-SR04 darbojas ar Arduino?

Arduino nosūta 10us impulsu uz TRIG tapu. HC-SR04 izstaro astoņus 40 kHz ultraskaņas impulsus un iestata ECHO tapu augstu, līdz atgriežas atstarotā skaņa. Arduino mēra šo impulsa laiku un aprēķina attālumu.

Kāda ir attāluma formula HC-SR04 Arduino projektiem?

Formula ir attālums = ilgums × skaņas ātrums / 2. Centimetros izplatīta Arduino formula ir distanceCm = ilgums × 0,0343 / 2, kur ilgums tiek mērīts mikrosekundēs.

Kāpēc mēs dalām ultraskaņas sensora rezultātu ar 2?

Izmērītais atbalss laiks ir laiks turp un atpakaļ no sensora līdz objektam un atpakaļ uz sensoru. Dalot ar 2, tiek iegūts vienvirziena attālums starp sensoru un objektu.

Kuras Arduino tapas man vajadzētu izmantot TRIG un ECHO?

Varat izmantot lielāko daļu Arduino digitālo tapu. Daudzos piemēros TRIG ir savienots ar digitālo kontaktu 9 un ECHO ir pievienots digitālajam kontaktam 10. Kodam ir jāatbilst jūsu elektroinstalācijā izmantotajām tapām.

Kāpēc mans HC-SR04 ultraskaņas sensors atgriež nulles vai nejaušas vērtības?

Bieži sastopami iemesli ir vadu trūkums, nestabila 5 V jauda, ​​nepareizi TRIG vai ECHO kontaktu numuri, neviena objekta diapazonā, leņķiskās mērķa virsmas, mīksti materiāli, bloķētas sensoru galviņas vai pulseIn() funkcijas taimauta neesamība.

Kāda ir ultraskaņas sensora HC-SR04 aklā zona?

Aklā zona ir minimālais attālums, kurā modulis nevar droši izmērīt. HC-SR04 aklā zona parasti ir aptuveni 2 cm. Objekti, kas atrodas tuvāk par šo, var radīt nestabilus rādījumus.

Vai HC-SR04 var izmērīt ūdens līmeni ar Arduino?

Jā, HC-SR04 var izmantot vienkāršiem bezkontakta ūdens līmeņa projektiem, ja sensors ir aizsargāts no mitruma un uzstādīts virs šķidruma virsmas. Mitrām, āra vai rūpnieciskām tvertnēm ieteicams izmantot ūdensizturīgu ultraskaņas sensoru.

Kā es varu padarīt Arduino ultraskaņas sensora rādījumus stabilākus?

Izmantojiet stabilu barošanas avotu, turiet sensoru perpendikulāri mērķim, izvairieties no mīkstām vai leņķiskām virsmām, pievienojiet pulseIn taimautu, veiciet vairākus rādījumus, izmantojiet vidējo filtrēšanu un starp mērījumiem atstājiet apmēram 60 ms.

Satura rādītājs