Selles artiklis ühendame HC-SR04 ultraheli kaugusmõõtja-kajaloodi Arduinoga.
Vajalik
- - Arduino;
- - ultraheliandur HC-SR04;
- - juhtmete ühendamine.
Juhised
Samm 1
Ultraheli kaugusmõõturi HC-SR04 tegevus põhineb kajamise põhimõttel. See kiirgab kosmosesse heliimpulsse ja võtab vastu takistuselt peegelduva signaali. Kauguse objektini määrab helilaine levimise aeg takistuseni ja tagasi.
Helilaine käivitatakse vähemalt 10 mikrosekundilise positiivse impulsi rakendamisega kaugusmõõturi TRIG-jalale. Niipea kui impulss lõpeb, kiirgab kaugusmõõtur tema ees olevasse ruumi 40 kHz sagedusega heliimpulsse. Samal ajal käivitatakse peegeldunud signaali viivituse määramise algoritm ja kaugusmõõturi ECHO jalale ilmub loogiline üksus. Niipea kui sensor tuvastab peegeldunud signaali, ilmub ECHO tihvtile loogiline null. Selle signaali kestus (joonisel "Kaja viivitus") määrab kauguse objektist.
HC-SR04 kaugusmõõturi kauguse mõõtepiirkond - kuni 4 meetrit eraldusvõimega 0,3 cm. Vaatenurk - 30 kraadi, efektiivne nurk - 15 kraadi. Voolutarve ooterežiimis on 2 mA, töö ajal - 15 mA.
2. samm
Ultraheli kaugusmõõturi toiteallikas toimub pingega +5 V. Ülejäänud kaks tihvti on ühendatud Arduino mis tahes digitaalsete pordidega, me ühendame 11 ja 12.
3. samm
Nüüd kirjutame visandi, mis määrab takistuse kauguse ja väljastab selle jadaporti. Kõigepealt määrame TRIG ja ECHO tihvtide numbrid - need on tihvtid 12 ja 11. Siis kuulutame päästiku väljundiks ja kaja sisendiks. Initsialiseerime jadapordi kiirusega 9600 baud. Silmuse () iga korduse korral loeme kauguse ja väljastame selle pordini.
Funktsioon getEchoTiming () genereerib päästikuimpulsi. See loob lihtsalt 10 mikrosekundilise impulsi voolu, mis on helipaketi kaugusmõõturi poolt kosmosesse kiirguse käivitamiseks käivitaja. Siis meenub talle aeg helilaine ülekande algusest kuni kaja saabumiseni.
Funktsioon getDistance () arvutab kauguse objektini. Koolifüüsika kursuselt mäletame, et vahemaa on võrdne kiirusega, mis korrutatakse ajaga: S = V * t. Heli kiirus õhus on 340 m / s, meile teadaolev aeg mikrosekundites on "duratuion". Aega sekundites saamiseks jagage see 1 000 000-ga. Kuna heli liigub kaks korda kaugemale - objektini ja tagasi -, peate jagama vahemaa pooleks. Nii selgub, et kaugus objektist S = 34000 cm / sek * kestus / 1 000 000 sek / 2 = 1,7 cm / sek / 100, mille me sketšisse kirjutasime. Mikrokontroller teostab korrutamise kiiremini kui jagamine, nii et asendasin "/ 100" samaväärse "* 0, 01" -ga.
4. samm
Samuti on paljud raamatukogud kirjutatud töötama ultraheli kaugusmõõturiga. Näiteks see: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Teek on installitud tavapärasel viisil: laadige alla, pakkige lahti teekide kataloogi, mis asub Arduino IDE kaustas. Pärast seda saab raamatukogu kasutada.
Pärast raamatukogu installimist kirjutame uue visandi. Selle töö tulemus on sama - jadapordimonitor kuvab kauguse objektini sentimeetrites. Kui kirjutate visandisse float dist_cm = ultraheli. Vahemik (INC); kuvatakse vahemaa tollides.
5. samm
Niisiis ühendasime ultraheli kaugusmõõturi HC-SR04 Arduinoga ja saime sealt andmeid kahel erineval viisil: spetsiaalse teegi abil ja ilma.
Raamatukogu kasutamise eeliseks on see, et koodimaht väheneb oluliselt ja programmi loetavus paraneb, te ei pea süvenema seadme nõtkustesse ja saate seda kohe kasutada. Kuid see on ka miinus: saate vähem hästi aru, kuidas seade töötab ja millised protsessid selles toimuvad. Igal juhul sõltub see, millist meetodit kasutada.