- Uporabljene komponente
- Ultrazvočni senzorski modul
- Shema in razlaga ultrazvočnega senzorja Arduino
- Koda ultrazvočnega senzorja Arduino za merjenje razdalje
Ultrazvočni senzorji so odlično orodje za merjenje razdalje in zaznavanje predmetov brez dejanskega stika s fizičnim svetom. Uporablja se v več aplikacijah, na primer za merjenje nivoja tekočine, preverjanje bližine in še bolj priljubljeno v avtomobilih, da pomaga pri sistemih za samodejno parkiranje ali proti trčenju. V preteklosti smo zgradili tudi številne projekte ultrazvočnih senzorjev, kot so zaznavanje nivoja vode, ultrazvočni radar itd. To je učinkovit način za natančno merjenje majhnih razdalj. V tem projektu smo uporabili ultrazvočni senzor HC-SR04 z Arduino za določitev oddaljenosti ovire od senzorja. Osnovno načelo ultrazvočnega merjenja razdalje temelji na ECHO. Ko se zvočni valovi prenašajo v okolje, se valovi po naletu na oviro vrnejo nazaj v izvor kot ECHO. Izračunati moramo le čas potovanja obeh zvokov, ki pomeni čas odhoda in čas povratka do izvora po udarcu na oviro. Ker nam je hitrost zvoka znana, lahko po določenem izračunu izračunamo razdaljo. To isto tehniko bomo uporabili za ta projekt merjenja razdalje Arduino, zato začnimo.
Uporabljene komponente
- Arduino Uno ali Pro Mini
- Modul ultrazvočnega senzorja
- 16x2 LCD
- Lestvica
- Deska za kruh
- 9-voltna baterija
- Priključne žice
Ultrazvočni senzorski modul
Obstaja veliko vrst senzorjev razdalje Arduino, vendar smo v tem projektu uporabili HC-SR04 za merjenje razdalje v območju od 2 cm do 400 cm z natančnostjo 3 mm. Senzorski modul je sestavljen iz ultrazvočnega oddajnika, sprejemnika in krmilnega vezja. Načelo delovanja ultrazvočnega senzorja je naslednje:
- Signal na visoki ravni se pošlje za 10us z uporabo sprožilca.
- Modul samodejno pošlje osem 40 KHz signalov in nato zazna, ali je impulz sprejet ali ne.
- Če je signal sprejet, je skozi visoko raven. Dolgotrajni čas je časovna razlika med pošiljanjem in prejemom signala.
Razdalja = (čas x hitrost zvoka v zraku (340 m / s)) / 2
Časovni diagram
Modul deluje na naravni pojav ECHO zvoka. Za sprožitev modula se za približno 10us pošlje impulz. Nato modul samodejno pošlje 8 ciklov 40 KHz ultrazvočnega signala in preveri njegov odmev. Signal po udarcu z oviro se vrne nazaj in ga zajame sprejemnik. Tako se razdalja ovire od senzorja preprosto izračuna po formuli, podani kot
Razdalja = (čas x hitrost) / 2.
Tu smo zmnožek hitrosti in časa razdelili na 2, saj je čas skupni čas, potreben za dosego ovire in vrnitev nazaj. Tako je čas za dosego ovire le polovica celotnega porabljenega časa.
Shema in razlaga ultrazvočnega senzorja Arduino
Shema vezja za arduino in ultrazvočni senzor je prikazana zgoraj za merjenje razdalje. V povezavah vezja zatiči "sprožilec" in "odmev" ultrazvočnega senzorskega modula so neposredno povezani na zatič 18 (A4) in 19 (A5) arduina. LCD 16x2 je povezan z arduinom v 4-bitnem načinu. Krmilni zatiči RS, RW in En so neposredno povezani z arduino pin 2, GND in 3. In podatkovni pin D4-D7 je povezan s 4, 5, 6 in 7 arduino.
Najprej moramo sprožiti modul ultrazvočnega senzorja za prenos signala z uporabo arduina in nato počakati na sprejem ECHO. Arduino bere čas med sprožitvijo in prejetim ECHO. Vemo, da je hitrost zvoka približno 340 m / s. tako lahko izračunamo razdaljo z uporabo dane formule:
Razdalja = (čas potovanja / 2) * hitrost zvoka
Kjer je hitrost zvoka približno 340 m na sekundo.
Za prikaz razdalje se uporablja LCD 16x2.
Poiščite več o delovanju projekta merjenja razdalje v tej vadnici: Merjenje razdalje z ultrazvočnim senzorjem in mikrokrmilnikom AVR.
Koda ultrazvočnega senzorja Arduino za merjenje razdalje
Popolna koda za ta projekt ultrazvočnega merjenja razdalje je podana na dnu te strani. V kodi beremo čas z uporabo pulseIn (pin). Nato z ustreznimi funkcijami izvedite izračune in prikaz rezultatov na LCD 16x2.