V tem članku bomo na Arduino povezali ultrazvočni sonar HC-SR04 ultrazvoka.
Potrebno
- - Arduino;
- - ultrazvočni senzor HC-SR04;
- - priključne žice.
Navodila
Korak 1
Delovanje ultrazvočnega daljnogleda HC-SR04 temelji na principu eholokacije. V prostor oddaja zvočne impulze in sprejme signal, ki se odbije od ovire. Razdalja do predmeta je določena s časom širjenja zvočnega vala do ovire in nazaj.
Zvočni val se sproži z uporabo pozitivnega impulza vsaj 10 mikrosekund na TRIG nogo daljnogleda. Takoj, ko se impulz konča, daljnogled odda v prostor pred seboj rafal zvočnih impulzov s frekvenco 40 kHz. Istočasno se zažene algoritem za določanje časa zakasnitve odsevnega signala in na kraku ECHO daljnogleda se pojavi logična enota. Takoj, ko senzor zazna odbiti signal, se na zatiču ECHO prikaže logična ničla. Trajanje tega signala (na sliki "Zakasnitev odmeva") določa razdaljo do predmeta.
Območje merjenja razdalje merilnika razdalje HC-SR04 - do 4 metre z ločljivostjo 0,3 cm. Kot opazovanja - 30 stopinj, efektivni kot - 15 stopinj. Trenutna poraba v stanju pripravljenosti je 2 mA, med delovanjem - 15 mA.
2. korak
Napajanje ultrazvočnega daljnogleda se izvaja z napetostjo +5 V. Preostala dva zatiča sta priključena na poljubna digitalna vrata Arduina, priključili se bomo na 11 in 12.
3. korak
Zdaj pa napišimo skico, ki določa razdaljo do ovire in jo pošlje v serijska vrata. Najprej nastavimo številki zatiča TRIG in ECHO - to sta zatiča 12 in 11. Nato sprožilec razglasimo kot izhod in odmev kot vhod. Serijska vrata inicializiramo s hitrostjo 9600 baud. Pri vsakem ponavljanju zanke () preberemo razdaljo in jo izpišemo v vrata.
Funkcija getEchoTiming () generira sprožilni impulz. Samo ustvari tok 10 mikrosekundnih impulzov, ki je sprožilec za začetek sevanja z daljinomerom zvočnega paketa v vesolje. Nato se spomni časa od začetka prenosa zvočnega vala do prihoda odmeva.
Funkcija getDistance () izračuna razdaljo do predmeta. Iz šolskega tečaja fizike se spomnimo, da je razdalja enaka hitrosti, pomnoženi s časom: S = V * t. Hitrost zvoka v zraku je 340 m / s, čas v mikrosekundah, ki ga poznamo, je "duratuion". Če želite čas dobiti v sekundah, ga delite s 1.000.000. Ker zvok prevozi razdaljo dvakrat - do predmeta in nazaj - morate razdaljo razdeliti na polovico. Tako se izkaže, da je razdalja do predmeta S = 34000 cm / sek * trajanje / 1.000.000 sek / 2 = 1,7 cm / sek / 100, kar smo zapisali na skici. Mikrokrmilnik izvaja množenje hitreje kot deljenje, zato sem "/ 100" zamenjal z enakovrednim "* 0, 01".
4. korak
Številne knjižnice so napisane tudi za delo z ultrazvočnim daljinomerjem. Na primer ta: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Knjižnica je nameščena na standardni način: prenesite, razpakirajte v imenik knjižnic, ki se nahaja v mapi z IDE Arduino. Po tem se knjižnica lahko uporablja.
Po namestitvi knjižnice napišemo novo skico. Rezultat njegovega dela je enak - monitor serijskih vrat prikazuje razdaljo do predmeta v centimetrih. Če na skici napišete float dist_cm = ultrazvočno. Ranging (INC); razdalja bo prikazana v palcih.
5. korak
Tako smo ultrazvočni daljinomer HC-SR04 priključili na Arduino in od njega prejemali podatke na dva različna načina: s posebno knjižnico in brez nje.
Prednost uporabe knjižnice je v tem, da se znatno zmanjša količina kode in izboljša berljivost programa, vam ni treba poglabljati se v zapletenosti naprave in jo lahko takoj uporabite. A to je tudi pomanjkljivost: slabše razumete, kako naprava deluje in kateri procesi v njej potekajo. V vsakem primeru, katero metodo uporabiti, je odvisno od vas.