Jak Připojit Ultrazvukový Dálkoměr HC-SR04 K Arduinu

Obsah:

Jak Připojit Ultrazvukový Dálkoměr HC-SR04 K Arduinu
Jak Připojit Ultrazvukový Dálkoměr HC-SR04 K Arduinu

Video: Jak Připojit Ultrazvukový Dálkoměr HC-SR04 K Arduinu

Video: Jak Připojit Ultrazvukový Dálkoměr HC-SR04 K Arduinu
Video: How To Connect HC-SR04 Range Finder Ultrasonic Sensor [Arduino Tutorial] 2024, Smět
Anonim

V tomto článku připojíme ultrazvukový dálkoměr-sonar HC-SR04 k Arduinu.

Ultrazvukový senzor HC-SR04
Ultrazvukový senzor HC-SR04

Nezbytné

  • - Arduino;
  • - ultrazvukový senzor HC-SR04;
  • - připojení vodičů.

Instrukce

Krok 1

Působení ultrazvukového dálkoměru HC-SR04 je založeno na principu echolokace. Vysílá zvukové impulsy do prostoru a přijímá signál odražený od překážky. Vzdálenost k objektu je určena časem šíření zvukové vlny k překážce a zpět.

Zvuková vlna se spouští kladným pulzem alespoň 10 mikrosekund na nohu TRIG dálkoměru. Jakmile puls skončí, dálkoměr vysílá do prostoru před ním záblesk zvukových pulzů s frekvencí 40 kHz. Současně je spuštěn algoritmus pro určení doby zpoždění odraženého signálu a na noze dálkoměru ECHO se objeví logická jednotka. Jakmile senzor detekuje odražený signál, na kolíku ECHO se objeví logická nula. Délka tohoto signálu (na obrázku „Zpoždění ozvěny“) určuje vzdálenost k objektu.

Rozsah měření vzdálenosti dálkoměru HC-SR04 - až 4 metry s rozlišením 0,3 cm. Pozorovací úhel - 30 stupňů, efektivní úhel - 15 stupňů. Odběr proudu v pohotovostním režimu je 2 mA, během provozu - 15 mA.

Princip činnosti ultrazvukového dálkoměru HC-SR04
Princip činnosti ultrazvukového dálkoměru HC-SR04

Krok 2

Napájení ultrazvukového dálkoměru se provádí s napětím +5 V. Další dva kolíky jsou připojeny k jakýmkoli digitálním portům Arduina, připojíme k 11 a 12.

Připojení ultrazvukového dálkoměru HC-SR04 k Arduinu
Připojení ultrazvukového dálkoměru HC-SR04 k Arduinu

Krok 3

Nyní napíšeme náčrt, který určuje vzdálenost k překážce a odešle ji na sériový port. Nejprve nastavíme čísla kolíků TRIG a ECHO - jedná se o kolíky 12 a 11. Pak deklarujeme spoušť jako výstup a ozvěnu jako vstup. Inicializujeme sériový port na 9600 baudů. Při každém opakování smyčky () přečteme vzdálenost a odešleme ji na port.

Funkce getEchoTiming () generuje spouštěcí pulz. Vytvoří pouze proud 10 mikrosekundového pulzu, který je spouštěčem pro zahájení záření dálkoměrem zvukového paketu do vesmíru. Pak si pamatuje čas od začátku přenosu zvukové vlny do příchodu ozvěny.

Funkce getDistance () vypočítá vzdálenost k objektu. Ze školního kurzu fyziky si pamatujeme, že vzdálenost se rovná rychlosti vynásobené časem: S = V * t. Rychlost zvuku ve vzduchu je 340 m / s, čas v mikrosekundách, který známe, je „duratuion“. Chcete-li získat čas v sekundách, vydělte 1 000 000. Protože zvuk prochází dvojnásobnou vzdálenost - k objektu a zpět - musíte vzdálenost rozdělit na polovinu. Ukazuje se tedy, že vzdálenost k objektu S = 34 000 cm / s * doba trvání / 1 000 000 s / 2 = 1,7 cm / s / 100, kterou jsme napsali do náčrtu. Mikrokontrolér provádí násobení rychleji než dělení, proto jsem nahradil „/ 100“ekvivalentem „* 0, 01“.

Skica pro práci s ultrazvukovým sonarem HC-SR04
Skica pro práci s ultrazvukovým sonarem HC-SR04

Krok 4

Mnoho knihoven bylo také napsáno pro práci s ultrazvukovým dálkoměrem. Například tento: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Knihovna se instaluje standardním způsobem: stáhněte, rozbalte do adresáře knihoven, který je umístěn ve složce s Arduino IDE. Poté lze knihovnu použít.

Po instalaci knihovny napíšeme nový náčrt. Výsledek jeho práce je stejný - monitor sériového portu zobrazuje vzdálenost k objektu v centimetrech. Pokud napíšete float dist_cm = ultrasonic. Ranging (INC); v náčrtu se vzdálenost zobrazí v palcích.

Ultrazvuková sonarová skica pomocí knihovny
Ultrazvuková sonarová skica pomocí knihovny

Krok 5

Připojili jsme tedy ultrazvukový dálkoměr HC-SR04 k Arduinu a přijímali jsme od něj data dvěma různými způsoby: pomocí speciální knihovny a bez ní.

Výhodou používání knihovny je, že se výrazně sníží množství kódu a zlepší se čitelnost programu, nemusíte se ponořit do složitosti zařízení a můžete jej okamžitě použít. Ale to je také nevýhoda: méně dobře rozumíte tomu, jak zařízení funguje a jaké procesy v něm probíhají. V každém případě je na vás, kterou metodu použít.

Doporučuje: