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

Kuinka käyttää ultraäänianturia Arduinon kanssa?

Katselukerrat: 164     Tekijä: Grace Julkaisuaika: 2021-07-26 Alkuperä: Sivusto

Facebookin jakamispainike
Twitterin jakamispainike
linjan jakamispainike
wechatin jakamispainike
linkedinin jakamispainike
pinterestin jakamispainike
whatsapp jakamispainike
kakaon jakamispainike
snapchatin jakamispainike
sähkeen jakamispainike
jaa tämä jakamispainike

Ultraäänianturin käyttäminen Arduinon kanssa: HC-SR04-opas

The HC-SR04 ultraäänianturi on yksi suosituimmista Arduino-projektien etäisyysmittausmoduuleista. Sitä käytetään laajalti esteen välttämisroboteissa, pysäköintiantureissa, tasontunnistuksessa, älykkäissä roska-astioissa, etäisyysmittareissa ja muissa kosketuksettomissa tunnistussovelluksissa.

Moduuli lähettää 40 kHz ultraääniaaltoja lähettimen kautta. Kun ääniaalto kohtaa kohteen, se heijastuu takaisin vastaanottimeen. Mittaamalla kaikuaikaa ja käyttämällä äänen nopeutta Arduino voi laskea anturin ja kohteen välisen etäisyyden.

HC-SR04 ultraäänianturimoduuli Arduino-etäisyyden mittaukseen

HC-SR04 Tärkeimmät tekniset parametrit

Parametri Arvo
Tyypillinen käyttöjännite 5V DC
Staattinen työvirta Alle 5 mA joissakin moduuliversioissa
Toimintataajuus 40 kHz ultraääniaalto
Havaintoetäisyys Yleinen alue: 2cm - 400cm; Jotkut vahvistuksella säädetyt versiot voivat tukea pidempää kantamaa.
Havaintokulma Yleensä 15 asteen sisällä; jotkin versiot suuremmalla vahvistuksella voivat nousta noin 30 asteeseen.
Tarkkuus Jopa noin 0,3 cm sopivissa testiolosuhteissa
Sokea alue Minimimittausetäisyys noin 2 cm

HC-SR04 Pin Kuvaus

Ultraäänimoduulissa HC-SR04 on neljä nastaa: VCC, TRIG, ECHO ja GND. Arduino lähettää lyhyen laukaisupulssin TRIG-nastalle ja lukee sitten paluupulssin ECHO-nastasta.

HC-SR04 Pin Arduino-yhteys Toiminto
VCC 5V Ultraäänimoduulin virtalähde.
TRIG Digitaalinen pin 9 Liipaisusyöttö. Arduino käyttää 10 us pulssia aloittaakseen mittauksen.
KAIKU Digitaalinen pin 10 Kaikulähtö. Arduino lukee pulssin leveyden etäisyyden laskemiseksi.
GND GND Maadoitusliitäntä.

HC-SR04 ultraäänianturiliitin VCC TRIG ECHO GND

Ultraäänianturin HC-SR04 toimintaperiaate

HC-SR04 toimii lentoajan mittauksella. Arduino lähettää vähintään 10 mikrosekunnin korkean tason liipaisusignaalin TRIG-nastalle. Moduuli lähettää sitten automaattisesti kahdeksan 40 kHz ultraäänipulssia ja odottaa heijastuvaa kaikua.

Kun heijastettu ultraäänisignaali havaitaan, ECHO-nasta lähettää korkean tason pulssin. Tämän pulssin kesto on ultraääniaallon edestakaisen matka-aika.

Etäisyys = Kaiun korkean tason aika × Äänen nopeus / 2

Arduino-koodissa yleinen yksinkertaistettu kaava on:

Etäisyys cm = kesto × 0,0343 / 2

HC-SR04 ultraäänimoduulin lentoaika toimintaperiaate

HC-SR04 Ultraäänimoduulin ajoituskaavio

Ajoitusprosessi on yksinkertainen: Arduino pitää TRIG:n matalana hetken, lähettää 10 us korkean pulssin ja palauttaa sitten TRIGin matalalle. HC-SR04 lähettää ultraäänipurskeen ja asettaa ECHO:n korkeaksi, kunnes heijastunut signaali palaa tai mittaus aikakatkaisee.

Epävakaiden lukemien välttämiseksi jätä mittausten väliin lyhyt viive. Yleisesti käytetään noin 60 ms mittausjaksoa, joten edellinen ultraäänikaiku ehtii kadota ennen seuraavaa laukaisua.

Arduinon ohjelmoinnin perusteet: pulseIn-toiminto

Arduino pulseIn() -funktiota käytetään mittaamaan kuinka kauan digitaalinen nasta pysyy HIGH tai LOW. HC-SR04:lle Arduino käyttää pulseIn(echoPin, HIGH) -toimintoa lukeakseen korkean tason pulssin leveyden ECHO-nastasta.

Syntaksi Merkitys
pulseIn(pin, arvo) Lukee HIGH- tai LOW-pulssin keston.
pulseIn(pin, arvo, aikakatkaisu) Lukee pulssin aikakatkaisuarvolla mikrosekunteina.

Aikakatkaisun käyttäminen on suositeltavaa. Jos kaikua ei palauteta, toiminto voi lopettaa odottamisen ja palauttaa 0:n sen sijaan, että se estäisi ohjelman liian pitkäksi ajaksi.

Arduino-levyä käytetään HC-SR04 ultraäänietäisyysanturin kanssa

Kuinka liittää HC-SR04 Ultraäänianturi Arduinoon

Johdotus on suoraviivainen. Yhdistä VCC 5V:iin, GND GND:hen, TRIG Arduinon digitaaliseen lähtönastaan ​​ja ECHO Arduinon digitaaliseen tulonastan. Seuraavassa esimerkissä käytetään Arduino Unoa, TRIG nastassa 9 ja ECHO nastassa 10.

Arduino Uno -leipälevyn kytkentäkaavio HC-SR04-ultraäänianturille

HC-SR04 Ultraäänianturi Arduino Code

Seuraava tyypillinen Arduino-ohjelma lähettää 10us:n liipaisupulssin, lukee ECHO-pulssin leveyden, laskee etäisyyden senttimetreinä ja tulostaa tuloksen Serial Monitoriin.

const int trigPin = 9; const int echoPin = 10; pitkä kesto; kelluntaetäisyysCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   viiveMikrosekuntia(2);   digitalWrite(trigPin, KORKEA);   viiveMikrosekuntia(10);   digitalWrite(trigPin, LOW);   kesto = pulseIn(echoPin, KORKEA, 30000);   if (kesto == 0) { Serial.println('Out of range');   } else { etäisyysCm = kesto * 0,0343 / 2;     Serial.print('Etäisyys: ');     Serial.print(etäisyysCm);     Serial.println(' cm');   } viive(60); }

Jos näet etäisyysarvot sarjanäytössä, HC-SR04-ultraäänianturi ja Arduino-johdotus toimivat oikein. Tämän jälkeen voit käyttää etäisyystietoja esteiden havaitsemiseen, robotin liikkeen ohjaukseen, automaattioviin, pysäköintimuistutuksiin tai nestetason projekteihin.

Arduino HC-SR04 ultraäänianturin etäisyysohjelma

Kuinka parantaa HC-SR04-mittaustarkkuutta

  • Pidä mitattu kohde suositellun etäisyyden sisällä ja 2 cm sokean alueen ulkopuolella.

  • Käytä tasaista ja kiinteää kohdepintaa parantaaksesi ultraääniheijastusta.

  • Vältä pehmeiden, vinossa olevien, huokoisten tai ääntä vaimentavien materiaalien mittaamista.

  • Käytä vakaata 5 V virtalähdettä ja pidä johdot lyhyinä ja turvallisena.

  • Lisää aikakatkaisu kohtaan pulseIn() estääksesi pitkän eston, kun kaikua ei palaa.

  • Keskiarvo tai mediaanisuodata useita lukemia vähentääksesi melua.

  • Suuremman tarkkuuden saamiseksi kompensoi lämpötila, koska äänen nopeus muuttuu ilman lämpötilan mukaan.

Arduinon ultraäänianturiprojektien yleiset sovellukset

Sovellus Kuinka HC-SR04:ää käytetään
Esteitä välttävä robotti Tunnistaa lähellä olevat kohteet ja auttaa robottia muuttamaan suuntaa.
Pysäköintietäisyysanturi Mittaa etäisyyden ajoneuvon ja esteen välillä.
Nesteen tason tunnistus Mittaa etäisyyden anturista nestepintaan ilman kosketusta.
Älykäs roskakori Tunnistaa lähellä olevan käden tai esineen ja käynnistää automaattisen kannen avaamisen.

Yhteenveto

Jos haluat käyttää HC-SR04-ultraäänianturia Arduinon kanssa, liitä VCC 5 V:iin, GND GND:hen, TRIG digitaaliseen lähtönastaan ​​ja ECHO digitaaliseen tulonastan. Lähetä 10 us liipaisupulssi, lue kaiun kesto komennolla pulseIn() ja laske etäisyys lentoaikakaavalla.

HC-SR04 on edullinen, helppokäyttöinen ja sopii moniin Arduino-etäisyyden mittausprojekteihin. Saat parhaat tulokset kiinnittämällä huomiota kohteen pintaan, mittauskulmaan, sokeaan vyöhykkeeseen, vakaaseen tehoon, aikakatkaisun käsittelyyn ja lämpötilavaikutuksiin.

Usein kysyttyjä kysymyksiä HC-SR04 Arduino Ultrasonic Sensorista

Kuinka HC-SR04-ultraäänianturi toimii Arduinon kanssa?

Arduino lähettää 10us pulssin TRIG-nastalle. HC-SR04 lähettää kahdeksan 40 kHz ultraäänipulssia ja asettaa ECHO-nastan korkealle, kunnes heijastunut ääni palaa. Arduino mittaa tämän pulssiajan ja laskee etäisyyden.

Mikä on etäisyyskaava HC-SR04 Arduino -projekteille?

Kaava on etäisyys = kesto × äänen nopeus / 2. Senttimetreinä yleinen Arduino-kaava on etäisyysCm = kesto × 0,0343 / 2, jossa kesto mitataan mikrosekunteina.

Miksi jaamme ultraäänianturin tuloksen kahdella?

Mitattu kaikuaika on edestakainen aika anturista kohteeseen ja takaisin anturiin. Jakamalla kahdella saadaan yksisuuntainen etäisyys anturin ja kohteen välillä.

Mitä Arduino-nastoja minun pitäisi käyttää TRIG:iin ja ECHO:hon?

Voit käyttää useimpia Arduinon digitaalisia nastoja. Monissa esimerkeissä TRIG on kytketty digitaaliseen nastaan ​​9 ja ECHO on kytketty digitaaliseen nastaan ​​10. Koodin on vastattava johdotuksessa käytettyjä nastoja.

Miksi HC-SR04-ultraäänianturi palauttaa nollan tai satunnaisia ​​arvoja?

Yleisiä syitä ovat löysä johdotus, epävakaa 5 V:n virransyöttö, väärät TRIG- tai ECHO-nastanumerot, ei esinettä kantamalla, kulmassa olevat kohdepinnat, pehmeät materiaalit, tukkeutuneet anturipäät tai pulseIn()-toiminnon aikakatkaisu puuttuminen.

Mikä on HC-SR04-ultraäänianturin sokea alue?

Sokea vyöhyke on pienin etäisyys, jota moduuli ei voi mitata luotettavasti. HC-SR04:lle sokea alue on yleensä noin 2 cm. Tätä lähempänä olevat esineet voivat tuottaa epävakaita lukemia.

Voiko HC-SR04 mitata vedenpinnan Arduinolla?

Kyllä, HC-SR04:ää voidaan käyttää yksinkertaisiin kosketuksettomiin vedenkorkeusprojekteihin, jos anturi on suojattu kosteudelta ja asennettu nestepinnan yläpuolelle. Kosteissa, ulkotiloissa tai teollisuussäiliöissä suositellaan vedenpitävää ultraäänianturia.

Kuinka voin tehdä Arduino-ultraäänianturilukemista vakaampia?

Käytä vakaata virtalähdettä, pidä anturi kohtisuorassa kohteeseen nähden, vältä pehmeitä tai vinoja pintoja, lisää pulseIn-aikakatkaisu, ota useita lukemia, käytä mediaanisuodatusta ja jätä mittausten väliin noin 60 ms.

Sisällysluettelo