Close

Echolokátor ze dvou ultrazvukových modulů

Arduino echolokátor ze dvou ultrazvukových modulů

Ultrazvukové moduly jsou skvělý způsob, jak měřit vzdálenost objektů. Občas ale pouhá vzdálenost nestačí a je potřeba měřit i přímo polohu objektu. To s jedním senzorem nesvedeme (respektive jenom velmi přibližně). Jeden senzor nám umí říct pouze vzdálenost od senzoru, a poté ze znalosti nasměrování senzoru můžeme usuzovat, kde přibližně modul leží. Pokud chceme určovat polohu přesněji, musíme použít dva senzory. Když známe jejich pozici a vzdálenosti, které měří, můžeme jednoduše dopočítat polohu pozorovaného objektu (v rovině XY). Toto experimentálně ověřil kutil Lingib ve svém projektu levného echolokátoru.

V projektu připojil dva ultrazvukové senzory HC-SR04 k levnějšímu klonu Arduino UNO. Každý z těchto senzorů se skládá z ultrazvukového vysílače a přijímače. Vysílač vyšle pulz a je měřen čas, za který se pulz odrazí a vrátí zpět od sledovaného objektu. Ze znalosti rychlosti šíření zvuku ve vzduchu jsme pak schopni vypočíst vzdálenost objektu. Použití více senzorů je problematické, protože se může stát, že jeden senzor pulz vyšle, druhý jej zachytí, a tak dochází k měření nesmyslných vzdáleností. Proto je vysílač jednoho z modulů přelepen páskou a k vysílání pulzu je použit pouze jeden vysílač. Po vyslání pulzu měříme dva časy (pro každý senzor jeden) a z nich jsme pak schopni vypočítat vzdálenosti objektu od přijímačů. Získáme tak dvě strany trojúhelníka, ve kterém dva vrcholy tvoří ultrazvukové moduly a třetí tvoří pozorovaný objekt. Protože vzdálenost modulů známe, máme všechny tři strany trojúhelníka a jsme tak schopni vypočíst i polohu objektu.

Arduino echolokátor ze dvou ultrazvukových modulů - Testovací plocha
Testovací plocha

Vizualizaci výsledků a proces měření si můžete prohlédnout ve videu níže.

Přeloženo z https://blog.arduino.cc/2018/07/13/dual-ultrasonic-sensors-combine-for-2d-echolocation/ a upraveno.

Zbyšek Voda

Napsat komentář