- Použité komponenty
- Ultrazvukový senzorový modul
- Schéma zapojenia a vysvetlenie ultrazvukového senzora Arduino
- Kód ultrazvukového senzora Arduino na meranie vzdialenosti
Ultrazvukové snímače sú skvelým nástrojom na meranie vzdialenosti a detekciu objektov bez skutočného kontaktu s fyzickým svetom. Používa sa v niekoľkých aplikáciách, ako napríklad pri meraní hladiny kvapaliny, kontrole vzdialenosti a ešte populárnejšie v automobiloch na pomoc pri samonastavení alebo protikolíznych systémoch. Predtým sme tiež vytvorili mnoho projektov ultrazvukových senzorov, ako je detekcia hladiny vody, ultrazvukový radar atď. Toto je efektívny spôsob presného merania malých vzdialeností. V tomto projekte sme použili ultrazvukový senzor HC-SR04 s Arduino na určenie vzdialenosti prekážky od snímača. Základný princíp ultrazvukového merania vzdialenosti je založený na ECHO. Keď sa zvukové vlny prenášajú do okolitého prostredia, potom sa vlny po náraze na prekážku vrátia späť do pôvodného stavu ako ECHO. Potrebujeme teda iba vypočítať čas jazdy oboch zvukov, čo znamená čas odchodu a čas návratu do pôvodného stavu po náraze na prekážku. Pretože je nám známa rýchlosť zvuku, po určitom výpočte môžeme vypočítať vzdialenosť. Rovnakú techniku použijeme aj pre tento projekt merania vzdialenosti Arduino, takže poďme na to.
Použité komponenty
- Arduino Uno alebo Pro Mini
- Modul ultrazvukového snímača
- 16x2 LCD
- Škála
- Chlebová doska
- 9 voltová batéria
- Pripojovacie vodiče
Ultrazvukový senzorový modul
Existuje veľa druhov snímačov vzdialenosti Arduino, ale v tomto projekte sme použili HC-SR04 na meranie vzdialenosti v rozmedzí 2 cm - 400 cm s presnosťou 3 mm. Modul snímača pozostáva z ultrazvukového vysielača, prijímača a riadiaceho obvodu. Princíp činnosti ultrazvukového snímača je nasledovný:
- Signál vysokej úrovne sa vysiela na 10us pomocou Triggeru.
- Modul automaticky odosiela osem signálov 40 KHz a potom detekuje, či je alebo nie je prijatý impulz.
- Ak je signál prijatý, je na vysokej úrovni. Čas vysokého trvania je časová medzera medzi odoslaním a prijatím signálu.
Vzdialenosť = (čas x rýchlosť zvuku vo vzduchu (340 m / s)) / 2
Časový diagram
Modul pracuje na prírodnom jave ECHO zvuku. Na spustenie modulu sa vyšle impulz približne 10 sekúnd. Potom modul automaticky pošle 8 cyklov ultrazvukového signálu 40 KHz a skontroluje jeho ozvenu. Signál po náraze do prekážky sa vracia späť a prijímač ho zachytí. Vzdialenosť prekážky od snímača sa teda jednoducho vypočíta podľa vzorca uvedeného ako
Vzdialenosť = (čas x rýchlosť) / 2.
Tu sme rozdelili súčin rýchlosti a času o 2, pretože čas je celkový čas, ktorý trvalo dosiahnutie prekážky a návrat späť. Čas potrebný na dosiahnutie prekážky je teda iba polovičný oproti celkovému času.
Schéma zapojenia a vysvetlenie ultrazvukového senzora Arduino
Schéma zapojenia Arduina a ultrazvukového snímača sú uvedené vyššie na meranie vzdialenosti. V zapojeniach obvodov sú piny „spúšťania“ a „ozveny“ modulu ultrazvukového snímača priamo spojené s pinmi 18 (A4) a 19 (A5) arduina. Displej 16x2 LCD je pripojený k arduino v 4-bitovom režime. Ovládací pin RS, RW a En sú priamo spojené s arduino pinom 2, GND a 3. A dátový pin D4-D7 je pripojený k 4, 5, 6 a 7 arduina.
Najskôr musíme spustiť modul ultrazvukového snímača na prenos signálu pomocou arduina a potom počkať na príjem ECHO. Arduino číta čas medzi spustením a prijatím ECHO. Vieme, že rýchlosť zvuku je okolo 340 m / s. takže môžeme vypočítať vzdialenosť pomocou uvedeného vzorca:
Vzdialenosť = (doba jazdy / 2) * rýchlosť zvuku
Kde rýchlosť zvuku je okolo 340 metrov za sekundu.
Na zobrazenie vzdialenosti sa používa 16x2 LCD.
Viac informácií o projekte merania vzdialenosti nájdete v tomto výučbe: Meranie vzdialenosti pomocou ultrazvukového snímača a mikrokontroléra AVR.
Kód ultrazvukového senzora Arduino na meranie vzdialenosti
Celý kód tohto projektu merania vzdialenosti pomocou ultrazvuku je uvedený v dolnej časti tejto stránky. V kóde čítame čas pomocou pulseIn (pin). A potom vykonajte výpočty a zobrazený výsledok na LCD 16x2 pomocou vhodných funkcií.