- Použité komponenty
- Ultrazvukový senzorový modul
- Ultrazvukový senzor Arduino obvodové schéma a vysvětlení
- Arduino Ultrazvukový senzorový kód pro měření vzdálenosti
Ultrazvukové senzory jsou skvělým nástrojem pro měření vzdálenosti a detekci objektů bez skutečného kontaktu s fyzickým světem. Používá se v několika aplikacích, jako je měření hladiny kapaliny, kontrola blízkosti a ještě populárněji v automobilech, které pomáhají při parkování nebo protisrážkových systémech. Dříve jsme také stavěli mnoho projektů ultrazvukových senzorů, jako je detekce hladiny vody, ultrazvukový radar atd. Jedná se o efektivní způsob, jak přesně měřit malé vzdálenosti. V tomto projektu jsme použili ultrazvukový senzor HC-SR04 s Arduino k určení vzdálenosti překážky od snímače. Základní princip měření ultrazvukové vzdálenosti je založen na ECHO. Když jsou zvukové vlny přenášeny v prostředí, pak se vlny po nárazu na překážku vrátí zpět do původu jako ECHO. Potřebujeme tedy pouze vypočítat dobu jízdy obou zvuků, což znamená odchozí čas a čas návratu do původu po nárazu na překážku. Protože rychlost zvuku je nám známa, po určitém výpočtu můžeme vypočítat vzdálenost. Pro tento projekt měření vzdálenosti Arduino použijeme stejnou techniku, takže pojďme začít.
Použité komponenty
- Arduino Uno nebo Pro Mini
- Ultrazvukový senzorový modul
- 16x2 LCD
- Měřítko
- Chlebová deska
- 9voltová baterie
- Připojovací vodiče
Ultrazvukový senzorový modul
Existuje mnoho typů snímačů vzdálenosti Arduino, ale v tomto projektu jsme použili HC-SR04 k měření vzdálenosti v rozsahu 2 cm - 400 cm s přesností 3 mm. Modul snímače se skládá z ultrazvukového vysílače, přijímače a řídicího obvodu. Princip fungování ultrazvukového senzoru je následující:
- Signál vysoké úrovně je odeslán po dobu 10us pomocí Triggeru.
- Modul automaticky odesílá osm signálů o frekvenci 40 KHz a poté detekuje, zda je nebo není přijat puls.
- Pokud je signál přijat, je na vysoké úrovni. Čas vysokého trvání je časová prodleva mezi odesláním a příjmem signálu.
Vzdálenost = (čas x rychlost zvuku ve vzduchu (340 m / s)) / 2
Časový diagram
Modul pracuje na přirozeném jevu ECHO zvuku. K spuštění modulu je vyslán pulz po dobu přibližně 10us. Poté modul automaticky odešle 8 cyklů ultrazvukového signálu 40 KHz a zkontroluje jeho ozvěnu. Signál po nárazu na překážku se vrací zpět a je zachycen přijímačem. Vzdálenost překážky od snímače se tedy jednoduše vypočítá podle vzorce uvedeného jako
Vzdálenost = (čas x rychlost) / 2.
Zde jsme rozdělili součin rychlosti a času o 2, protože čas je celková doba potřebná k dosažení překážky a návratu zpět. Čas potřebný k dosažení překážky je tedy jen polovina celkového času.
Ultrazvukový senzor Arduino obvodové schéma a vysvětlení
Schéma zapojení Arduino a ultrazvukového senzoru je uvedeno výše pro měření vzdálenosti. V zapojení obvodů jsou kolíky „spouštění“ a „echo“ modulu ultrazvukového senzoru přímo připojeny k pinům 18 (A4) a 19 (A5) arduina. 16x2 LCD je připojen k arduino ve 4bitovém režimu. Ovládací kolíky RS, RW a En jsou přímo připojeny k pinům arduino 2, GND a 3. A datový pin D4-D7 je připojen k 4, 5, 6 a 7 arduino.
Nejprve musíme spustit modul ultrazvukového senzoru k přenosu signálu pomocí arduina a poté počkat na příjem ECHO. Arduino čte čas mezi spuštěním a přijetím ECHO. Víme, že rychlost zvuku je kolem 340 m / s. takže můžeme vypočítat vzdálenost pomocí daného vzorce:
Vzdálenost = (doba jízdy / 2) * rychlost zvuku
Kde rychlost zvuku kolem 340 m za sekundu.
Pro zobrazení vzdálenosti se používá 16x2 LCD.
Více informací o projektu měření vzdálenosti naleznete v tomto výukovém programu: Měření vzdálenosti pomocí ultrazvukového senzoru a mikrokontroléru AVR.
Arduino Ultrazvukový senzorový kód pro měření vzdálenosti
Úplný kód pro tento projekt měření vzdálenosti ultrazvukem je uveden ve spodní části této stránky. V kódu čteme čas pomocí pulseIn (pin). A poté proveďte výpočty a zobrazený výsledek na LCD 16x2 pomocí příslušných funkcí.