- Käytetyt komponentit
- Ultraäänianturimoduuli
- Ultraäänianturin Arduino-piirikaavio ja selitys
- Arduino-ultraäänianturikoodi etäisyyden mittaamiseen
Ultraäänianturit ovat erinomaisia työkaluja etäisyyden mittaamiseen ja esineiden havaitsemiseen ilman todellista kosketusta fyysiseen maailmaan. Sitä käytetään useissa sovelluksissa, kuten nestemäärän mittauksessa, läheisyyden tarkistamisessa ja vielä suositummin autoissa auttaakseen itsepysäköintiä tai törmäyksenestojärjestelmiä. Aikaisemmin olemme rakentaneet myös monia ultraäänianturiprojekteja, kuten vedenpinnan tunnistus, ultraäänitutka jne. Tämä on tehokas tapa mitata pienet etäisyydet tarkasti. Tässä projektissa olemme käyttäneet HC-SR04- ultraäänianturia Arduinon kanssa esteen etäisyyden määrittämiseksi anturista. Ultraäänimatkan mittauksen perusperiaate perustuu ECHO: han. Kun ääniaaltoja välittyy ympäristöön, aallot palaavat takaisin lähtöpaikkaansa ECHO: na esteen lyönnin jälkeen. Joten meidän on vain laskettava molempien äänien matkustusaika, mikä tarkoittaa lähtevää ja palaavaa aikaa lähtöön esteen lyönnin jälkeen. Koska äänen nopeus on meille tiedossa, voimme jonkin verran laskutoimitusta laskea etäisyyden. Aiomme käyttää samaa tekniikkaa tähän Arduino-etäisyysmittausprojektiin, joten aloitetaan.
Käytetyt komponentit
- Arduino Uno tai Pro Mini
- Ultraäänianturin moduuli
- 16x2 LCD
- Mittakaava
- Leipälauta
- 9 voltin akku
- Johtojen liittäminen
Ultraäänianturimoduuli
Arduino-etäisyysantureita on monenlaisia, mutta tässä projektissa olemme käyttäneet HC-SR04: ää mittaamaan etäisyyttä 2 cm - 400 cm 3 mm: n tarkkuudella. Anturimoduuli koostuu ultraäänilähettimestä, vastaanottimesta ja ohjauspiiristä. Ultraäänianturin toimintaperiaate on seuraava:
- Korkean tason signaali lähetetään 10 us: lle Triggerillä.
- Moduuli lähettää kahdeksan 40 KHz: n signaalia automaattisesti ja havaitsee sitten, vastaanotetaanko pulssi vai ei.
- Jos signaali vastaanotetaan, se tapahtuu korkean tason kautta. Pitkän keston aika on signaalin lähettämisen ja vastaanottamisen välinen aika.
Etäisyys = (aika x äänen nopeus ilmassa (340 m / s)) / 2
Ajoituskaavio
Moduuli toimii ECHO-äänen luonnonilmiön parissa. Noin 10 us: n pulssi lähetetään moduulin laukaisemiseksi. Tämän jälkeen moduuli lähettää automaattisesti 8 sykliä 40 KHz: n ultraäänisignaalia ja tarkistaa sen kaikun. Esteen lyönnin jälkeen signaali palaa takaisin ja vastaanotin sieppaa sen. Siten esteen etäisyys anturista lasketaan yksinkertaisesti kaavalla, joka on annettu
Etäisyys = (aika x nopeus) / 2.
Tässä olemme jakaneet nopeuden ja ajan tulon kahdella, koska aika on kokonaisaika, joka kului esteen saavuttamiseen ja paluuseen. Näin ollen esteiden saavuttamiseen kuluva aika on vain puolet kokonaisajasta.
Ultraäänianturin Arduino-piirikaavio ja selitys
Arduino- ja ultraäänianturin kytkentäkaavio on esitetty yllä etäisyyden mittaamiseksi. Piiriliitännöissä ultraäänianturimoduulin ”liipaisin” ja “kaiun” nastat on kytketty suoraan arduinon nastoihin 18 (A4) ja 19 (A5). 16x2-nestekidenäyttö on kytketty arduinoon 4-bittisessä tilassa. Ohjaustapa RS, RW ja En on kytketty suoraan arduino-nastoihin 2, GND ja 3. Ja datanapa D4-D7 on kytketty arduinon 4, 5, 6 ja 7 liittimiin.
Ensinnäkin meidän on käynnistettävä ultraäänianturimoduuli lähettämään signaalia käyttämällä arduinoa ja odottamaan sitten vastaanotettua ECHO: ta. Arduino lukee laukaisun ja vastaanotetun ECHO: n välisen ajan. Tiedämme, että äänen nopeus on noin 340 m / s. jotta voimme laskea etäisyyden käyttämällä annettua kaavaa:
Etäisyys = (matka-aika / 2) * äänen nopeus
Missä äänen nopeus on noin 340 m sekunnissa.
16x2 nestekidenäyttöä käytetään etäisyyden näyttämiseen.
Lisätietoja etäisyysmittausprojektin toiminnasta on tässä opetusohjelmassa: Etäisyyden mittaus ultraäänianturilla ja AVR-mikrokontrollerilla.
Arduino-ultraäänianturikoodi etäisyyden mittaamiseen
Tämän ultraäänimatkan mittausprojektin täydellinen koodi on tämän sivun alaosassa. Koodissa luemme ajan käyttämällä pulseIn (nasta). Suorita sitten laskelmat ja näytetty tulos 16x2 LCD-näytöllä käyttämällä sopivia toimintoja.