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

Hoe om ultrasoniese sensor met Arduino te gebruik?

Kyke: 164     Skrywer: Grace Publiseer Tyd: 2021-07-26 Oorsprong: Werf

Facebook-deelknoppie
Twitter-deelknoppie
lyn deel knoppie
wechat-deelknoppie
linkedin-deelknoppie
pinterest-deelknoppie
whatsapp deel knoppie
kakao-deelknoppie
snapchat-deelknoppie
telegram deel knoppie
deel hierdie deelknoppie

Hoe om ultrasoniese sensor met Arduino te gebruik: HC-SR04 Gids

Die HC-SR04 ultrasoniese sensor is een van die gewildste afstandmetingsmodules vir Arduino-projekte. Dit word wyd gebruik in hindernisvermydingsrobotte, parkeersensors, vlakdetectie, slim asblikke, afstandmeters en ander nie-kontakwaarnemingstoepassings.

Die module straal 40kHz ultrasoniese golwe deur 'n sender uit. Wanneer die klankgolf 'n voorwerp ontmoet, reflekteer dit terug na die ontvanger. Deur die eggo-tyd te meet en die spoed van klank te gebruik, kan Arduino die afstand tussen die sensor en die voorwerp bereken.

HC-SR04 ultrasoniese sensor module vir Arduino afstandmeting

HC-SR04 Hoof Tegniese Parameters

Parameter Waarde
Tipiese werkspanning 5V GS
Statiese werkstroom Minder as 5mA op sommige module weergawes
Bedryfsfrekwensie 40kHz ultrasoniese golf
Bespeuringsafstand Algemene omvang: 2cm tot 400cm; sommige aanwins-aangepaste weergawes kan langer reeks ondersteun.
Opsporingshoek Gewoonlik binne 15 grade; sommige weergawes met hoër wins kan ongeveer 30 grade bereik.
Presisie Tot ongeveer 0,3 cm onder geskikte toetstoestande
Blinde sone Ongeveer 2 cm minimum meetafstand

HC-SR04 Pen Beskrywing

Die HC-SR04 ultrasoniese module het vier penne: VCC, TRIG, ECHO en GND. Arduino stuur 'n kort sneller-puls na die TRIG-pen, lees dan die terugkeer-puls van die ECHO-pen.

HC-SR04 Pen Arduino-verbinding Funksie
VCC 5V Kragtoevoer vir die ultrasoniese module.
TRIG Digitale pen 9 Sneller insette. Arduino pas 'n 10us-puls toe om te begin wissel.
ECHO Digitale pen 10 Echo uitset. Arduino lees polswydte om afstand te bereken.
GND GND Grondverbinding.

HC-SR04 ultrasoniese sensor pinout VCC TRIG ECHO GND

Werksbeginsel van HC-SR04 Ultrasoniese Sensor

Die HC-SR04 werk volgens tyd-van-vlug meting. Arduino stuur 'n hoëvlak-snellersein van ten minste 10 mikrosekondes na die TRIG-pen. Die module stuur dan outomaties agt 40kHz ultrasoniese pulse en wag vir die gereflekteerde eggo.

Wanneer die gereflekteerde ultrasoniese sein opgespoor word, lewer die ECHO-pen 'n hoëvlak-puls uit. Die duur van hierdie pols is die heen-en-weer reistyd van die ultrasoniese golf.

Afstand = Echo hoëvlaktyd × Klankspoed / 2

In Arduino-kode is die algemene vereenvoudigde formule:

Afstand in cm = duur × 0,0343 / 2

HC-SR04 ultrasoniese module tyd van vlug werk beginsel

HC-SR04 Ultrasoniese Module Tydsberekening Diagram

Die tydsberekeningsproses is eenvoudig: Arduino hou TRIG kortliks laag, stuur 'n 10us hoë pols, en keer dan TRIG terug na laag. Die HC-SR04 stuur 'n ultrasoniese uitbarsting en stel ECHO hoog totdat die gereflekteerde sein terugkeer of die meting verval.

Om onstabiele lesings te vermy, laat 'n kort vertraging tussen metings. 'n Meetsiklus van ongeveer 60ms word algemeen gebruik sodat die vorige ultrasoniese eggo tyd het om te verdwyn voor die volgende sneller.

Arduino Programmering Basics: pulseIn Funksie

Die Arduino pulseIn()- funksie word gebruik om te meet hoe lank 'n digitale pen HOOG of LAAG bly. Vir HC-SR04 gebruik Arduino pulseIn(echoPin, HIGH) om die hoëvlak-pulswydte vanaf die ECHO-pen te lees.

Sintaksis Betekenis
pulseIn(pen, waarde) Lees die duur van 'n HOË of LAAG pols.
pulseIn(pen, waarde, uitteltyd) Lees die pols met 'n uittelwaarde in mikrosekondes.

Dit word aanbeveel om 'n time-out te gebruik. As geen eggo teruggestuur word nie, kan die funksie ophou wag en 0 gee in plaas daarvan om die program te lank te blokkeer.

Arduino-bord gebruik met HC-SR04 ultrasoniese afstandsensor

Hoe om HC-SR04 ultrasoniese sensor aan Arduino te koppel

Die bedrading is eenvoudig. Koppel VCC aan 5V, GND aan GND, TRIG aan 'n Arduino digitale uitsetpen, en ECHO aan 'n Arduino digitale insetpen. Die volgende voorbeeld gebruik Arduino Uno, TRIG op pen 9, en ECHO op pen 10.

Arduino Uno-broodbordbedradingsdiagram vir HC-SR04 ultrasoniese sensor

HC-SR04 Ultrasoniese Sensor Arduino-kode

Die volgende tipiese Arduino-program stuur 'n 10us-snellerpuls, lees die ECHO-pulswydte, bereken afstand in sentimeter en druk die resultaat in die Serial Monitor.

const int trigPin = 9; const int echoPin = 10; lang duur; dryfafstandCm; void setup() { pinMode(trigPin, UITSET);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void lus() { digitalWrite(trigPin, LOW);   vertragingMikrosekondes(2);   digitalWrite(trigPin, HIGH);   vertragingMikrosekondes(10);   digitalWrite(trigPin, LOW);   duur = pulseIn(echoPin, HIGH, 30000);   if (duur == 0) { Serial.println('Buite van omvang');   } anders {afstandCm = duur * 0,0343 / 2;     Serial.print('Afstand: ');     Serial.print(afstandCm);     Serial.println(' cm');   } vertraging(60); }

As jy afstandwaardes in die Serial Monitor sien, werk die HC-SR04 ultrasoniese sensor en Arduino-bedrading korrek. Jy kan dan die afstanddata gebruik vir hindernisopsporing, robotbewegingsbeheer, outomatiese deure, parkeerherinneringe of vloeistofvlakprojekte.

Arduino HC-SR04 ultrasoniese sensor-reeksprogram

Hoe om HC-SR04 meting akkuraatheid te verbeter

  • Hou die gemete voorwerp binne die aanbevole afstandsbereik en buite die 2 cm blinde sone.

  • Gebruik 'n plat en soliede teikenoppervlak vir beter ultrasoniese refleksie.

  • Vermy die meet van sagte, hoekige, poreuse of klankabsorberende materiale.

  • Gebruik 'n stabiele 5V-kragbron en hou bedrading kort en veilig.

  • Voeg 'n time-out by pulseIn() om lang blokkering te voorkom wanneer geen eggo terugkeer nie.

  • Gemiddeld of mediaan-filtreer verskeie lesings om geraas te verminder.

  • Vir hoër akkuraatheid, kompenseer vir temperatuur omdat klankspoed met lugtemperatuur verander.

Algemene toepassings van Arduino Ultrasoniese Sensorprojekte

Toepassing Hoe HC-SR04 gebruik word
Hindernis vermyding robot Bespeur nabygeleë voorwerpe en help die robot om van rigting te verander.
Parkeerafstandsensor Meet afstand tussen die voertuig en 'n hindernis.
Vloeistofvlak opsporing Meet die afstand van die sensor na die vloeistofoppervlak sonder kontak.
Slim asblik Bespeur 'n nabygeleë hand of voorwerp en aktiveer outomatiese dekselopening.

Opsomming

Om 'n HC-SR04 ultrasoniese sensor met Arduino te gebruik, koppel VCC aan 5V, GND aan GND, TRIG aan 'n digitale uitsetpen, en ECHO aan 'n digitale insetpen. Stuur 'n 10us sneller puls, lees die eggo duur met pulseIn(), en bereken afstand met die tyd-van-vlug formule.

Die HC-SR04 is goedkoop, maklik om te gebruik en geskik vir baie Arduino-afstandmetingsprojekte. Vir die beste resultate, let op teikenoppervlak, meethoek, blinde sone, stabiele krag, time-out-hantering en temperatuur-effekte.

Gereelde vrae oor HC-SR04 Arduino ultrasoniese sensor

Hoe werk die HC-SR04 ultrasoniese sensor met Arduino?

Arduino stuur 'n 10us-puls na die TRIG-pen. Die HC-SR04 gee agt 40kHz ultrasoniese pulse uit en stel die ECHO-pen hoog totdat die weerkaatste klank terugkeer. Arduino meet hierdie polstyd en bereken afstand.

Wat is die afstandformule vir HC-SR04 Arduino-projekte?

Die formule is afstand = duur × spoed van klank / 2. In sentimeter is 'n algemene Arduino-formule afstandCm = duur × 0,0343 / 2, waar tydsduur in mikrosekondes gemeet word.

Hoekom deel ons die ultrasoniese sensorresultaat deur 2?

Die gemete eggo-tyd is die retoer-tyd van die sensor na die voorwerp en terug na die sensor. Deur deur 2 te deel, gee die eenrigtingafstand tussen die sensor en die voorwerp.

Watter Arduino-pennetjies moet ek gebruik vir TRIG en ECHO?

Jy kan die meeste Arduino digitale penne gebruik. In baie voorbeelde is TRIG gekoppel aan digitale pen 9 en ECHO is gekoppel aan digitale pen 10. Die kode moet ooreenstem met die penne wat in jou bedrading gebruik word.

Hoekom gee my HC-SR04 ultrasoniese sensor nul of ewekansige waardes terug?

Algemene oorsake sluit in los bedrading, onstabiele 5V-krag, verkeerde TRIG- of ECHO-pennommers, geen voorwerp binne bereik nie, hoekige teikenoppervlaktes, sagte materiale, geblokkeerde sensorkoppe, of geen uitteltyd in die pulseIn()-funksie.

Wat is die blinde sone van die HC-SR04 ultrasoniese sensor?

Die blinde sone is die minimum afstand waar die module nie betroubaar kan meet nie. Vir HC-SR04 is die blinde sone gewoonlik ongeveer 2 cm. Voorwerpe nader as dit kan onstabiele lesings produseer.

Kan HC-SR04 watervlak met Arduino meet?

Ja, HC-SR04 kan gebruik word vir eenvoudige nie-kontak watervlakprojekte as die sensor teen vog beskerm word en bo die vloeistofoppervlak gemonteer word. Vir vogtige, buitelug- of industriële tenks word 'n waterdigte ultrasoniese sensor aanbeveel.

Hoe kan ek Arduino ultrasoniese sensorlesings meer stabiel maak?

Gebruik 'n stabiele kragtoevoer, hou die sensor loodreg op die teiken, vermy sagte of hoekige oppervlaktes, voeg pulseIn time-out by, neem veelvuldige lesings, gebruik mediaanfiltrering en laat ongeveer 60ms toe tussen metings.

Inhoudsopgawe