Tässä artikkelissa yhdistämme ultraäänietäisyysmittarin HC-SR04-kaikuluotaimen Arduinoon.
Tarpeellinen
- - Arduino;
- - ultraäänianturi HC-SR04;
- - johdot.
Ohjeet
Vaihe 1
HC-SR04-ultraäänietäisyysmittarin toiminta perustuu kaiutuksen periaatteeseen. Se lähettää ääniimpulsseja avaruuteen ja vastaanottaa esteen heijastaman signaalin. Etäisyys kohteeseen määräytyy ääniaallon etenemisestä esteeseen ja takaisin.
Ääniaalto laukaistaan kohdistamalla vähintään 10 mikrosekunnin positiivinen pulssi etäisyysmittarin TRIG-jalkaan. Heti kun pulssi päättyy, etäisyysmittari lähettää 40 kHz: n taajuudella puhepulssien purskeen edessään olevaan tilaan. Samanaikaisesti käynnistetään heijastetun signaalin viiveajan määrittämisen algoritmi, ja etäisyysmittarin ECHO-osaan ilmestyy looginen yksikkö. Heti kun anturi havaitsee heijastuneen signaalin, looginen nolla näkyy ECHO-nastassa. Tämän signaalin kesto (kuvassa "kaiun viive") määrittää etäisyyden kohteeseen.
HC-SR04-etäisyysmittarin etäisyysmittausalue - jopa 4 metriä tarkkuudella 0,3 cm. Tarkkailukulma - 30 astetta, tehollinen kulma - 15 astetta. Virrankulutus valmiustilassa on 2 mA, käytön aikana - 15 mA.
Vaihe 2
Ultraäänimittarin virtalähde suoritetaan +5 V.
Vaihe 3
Kirjoitetaan nyt luonnos, joka määrittää etäisyyden esteeseen ja tuottaa sen sarjaporttiin. Ensin asetetaan TRIG- ja ECHO-nastojen numerot - nämä ovat nastat 12 ja 11. Sitten ilmoitamme liipaisun tuotokseksi ja kaiun tuloksi. Alustamme sarjaportin nopeudella 9600 baudia. Jokaisella silmukan () toistolla luemme etäisyyden ja tuotamme sen porttiin.
GetEchoTiming () -toiminto tuottaa liipaisupulssin. Se vain luo 10 mikrosekunnin pulssin virran, joka on laukaisija säteilyn alkamiselle äänipaketin etäisyysmittarin avulla avaruuteen. Sitten hän muistaa ajan ääniaallon lähetyksen alusta kaiun saapumiseen.
GetDistance () -toiminto laskee etäisyyden kohteeseen. Koulufysiikan kurssilta muistetaan, että etäisyys on yhtä suuri kuin nopeus kerrottuna ajalla: S = V * t. Äänen nopeus ilmassa on 340 m / s, aika mikrosekunteina tiedämme olevan "duratuion". Saadaksesi ajan sekunneissa, jaa se 1 000 000: lla. Koska ääni kulkee kaksinkertaisen matkan - kohteeseen ja takaisin -, sinun on jaettava etäisyys kahtia. Joten käy ilmi, että etäisyys kohteeseen S = 34000 cm / s * kesto / 1.000.000 s / 2 = 1.7 cm / s / 100, jonka kirjoitimme luonnokseen. Mikrokontrolleri suorittaa kertolaskun nopeammin kuin jakaminen, joten korvasin "/ 100" vastaavalla "* 0, 01".
Vaihe 4
Monet kirjastot on myös kirjoitettu toimimaan ultraäänietäisyysmittarin kanssa. Esimerkiksi tämä: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Kirjasto asennetaan tavalliseen tapaan: lataa, pura kirjastojen hakemistoon, joka sijaitsee Arduino IDE -kansiossa. Sen jälkeen kirjastoa voidaan käyttää.
Kun olet asentanut kirjaston, kirjoitetaan uusi luonnos. Työn tulos on sama - sarjaporttimonitori näyttää etäisyyden kohteeseen senttimetreinä. Jos kirjoitat luonnokseen float dist_cm = ultrasonic. Ranging (INC); etäisyys näytetään tuumina.
Vaihe 5
Joten, yhdistimme HC-SR04-ultraäänimittarin Arduinoon ja saimme siitä tietoja kahdella eri tavalla: käyttämällä erityistä kirjastoa ja ilman.
Kirjaston käytön etuna on, että koodin määrä vähenee merkittävästi ja ohjelman luettavuus paranee, sinun ei tarvitse syventää laitteen monimutkaisuuteen ja voit käyttää sitä välittömästi. Mutta tämä on myös haitta: ymmärrät huonommin, miten laite toimii ja mitä prosesseja siinä tapahtuu. Joka tapauksessa käytettävä menetelmä on sinun.