Pojďme programovat elektroniku | Programování | Arduino

Pojďme programovat elektroniku: Postavíme si ultrazvukový radar s detektorem vetřelců

  • S ultrazvukovým dálkoměrem jsme si už hráli
  • Připevníme jej na motor
  • Výsledkem bude 180stupňový radar s vizualizací
Pojďme programovat elektroniku: Postavíme si ultrazvukový radar s detektorem vetřelců

Jeden z prvních senzorů, který mi koncem léta přicestoval z daleké Asie, byl levný ultrazvukový dálkoměr HC-SR04, který je součástí každé sady pro začátečníky, kteří se chtějí naučit programovat nějaké to Arduino.

HC-SR04 je levný (na eBay jeho kusová cena začíná zhruba na 20 korunách) a naprosto primitivní modul. Vedle napájení má dva signální vodiče. Pomocí prvního označeného jako Trig vyšleme zvukovou vlnu, no a pak je tu ještě pin Echo, který nám dá vědět, že se vlna odrazila od překážky a dorazila zpět do senzoru.

Klepněte pro větší obrázek Klepněte pro větší obrázek Klepněte pro větší obrázek
HC-SR04 v akci: Změříme dobu, po kterou letěla zvuková vlna od senzoru k překážce, odrazila se a zachytil ji znovu detektor. Díky známé rychlosti zvuku pak vypočítáme vzdálenost překážky a s výsledkem se pochlubíme třeba pomocí terminálu sériové linky.

Pokud dobu mezi vysláním a přijetím signálu podělíme dvěma, zjistíme, jak dlouho letěla zvuková vlna k překážce a podle známé rychlosti zvuku v běžném prostředí spočítáme konečně vzdálenost. Celé to bude trvat jen kratičký okamžik.

HC-SR04 není žádný profesionální dálkoměr. Je to opravdu jen efektní modul za pár kaček a na nějakou velkou přesnost se zde tedy opravdu nehraje. Dá nám hrubou představu o vzdálenosti v rozmezí několika centimetrů až metrů, pokud byste ale podle něj chtěli zaměřovat svoji novou vilku, postavíte leda tak tančící dům.

Jenže o to přeci vůbec nejde. Arduino je především dokonalou učebnicí a simulátorem toho, jak funguje elektronika na úplně nejnižší úrovni. A to prakticky – bez nudného teoretizování. Ten okamžik, kdy svépomocí zaměříte židli uprostřed pokoje, je prostě kouzelný.

Co kdybychom dálkoměr upevnili na motorek a roztočili?

Primitivní dálkoměr je ale pouze to pomyslné A. Troufám si tvrdit, že naprosto každého majitele podobného modulu dříve či později napadne otázka, jestli bychom ten ultrazvukový dálkoměr nemohli přimontovat na motor, roztočit jej kolem své osy a vyrobit si funkční radar, který bude detekovat překážky a pohybující se vetřelce ve svém okolí.

Takový projekt je už samozřejmě mnohem rozsáhlejší, vedle samotného mikropočítače a motoru s dálkoměrem totiž potřebujeme ještě vizualizační program v PC, který bude informace ze sonaru přijímat třeba pomocí sériové linky a tedy USB spojení s počítačem.

To už je opravdu vyšší dívčí, internet je ale naštěstí plný hotových projektů těch, kteří si už takový radar skutečně postavili. Krásným příkladem je třeba tento kód Ujashe Patela, který pro rotaci dálkoměru použil servomotor a k vizualizaci samotného a opravdu efektního radaru pak skript pro analytické běhové prostředí Processing.

Klepněte pro větší obrázek
Vývojové a běhové analytické prostředí Processing s radarem, který získává data z připojeného Arduina

Processing je kouzelné prostředí, v editoru podobném Arduino IDE totiž můžete psát skripty, které zobrazí v okně nejrůznější geometrické tvary, a po ruce máte ohromné množství knihoven, pomocí kterých můžete zpracovat prakticky jakoukoliv informaci od surové matematiky, přes statistická data až po ta geografická.

Processing zároveň umí komunikovat s připojeným hardwarem k PC pomocí zmíněné sériové linky, a tak se doslova nabízí pro pokročilou analýzu dat třeba právě z Arduin a dalších mikropočítačů.

Jak to vlastně celé funguje?

Já sice doma žádný modelářský servomotorek nenašel, za to jsem ale narazil na 5V krokový motor – konkrétně pak model 28BYJ-48, jehož cena včetně destičky s ovladačem se na eBay pohybuje okolo šedesáti korun.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Krokový motor s deskou ovladače a vše dohromady: Arduino Uno jako řídící mikropočítač připojený k PC sériovou linkou (USB) a krokový motor s připojeným dálkoměrem a vlastním zdrojem napájení (12V zdroj připojený zcela vlevo přes 5V měnič).

Krokový motor už podle svého názvu otáčí hřídel díky složitému soukolí po jednotlivých a dostatečně maličkých krocích. Ten můj jich má asi 4 000, takže jednomu stupni odpovídá asi 11 kroků. V podstatě tedy stačí motor roztočit a každý 11. krok změřit vzdálenost.

Jenže to má jeden háček. Pokud se bude hlava se sonarem stále otáčet, nastane problém s kabeláží, která by se mi po první otočce samozřejmě zamotala. Tento problém bych mohl vyřešit nějakým rotačním převodníkem vodičů, který by mohl fungovat podobně jako klasický audio jack, který se může protáčet, jelikož však nic podobného po ruce nemám, nakonec jsem se rozhodl pro jiný scénář.

Namísto 360stupňového záběru budu sondovat jen 180 stupňů. Hlava se sonarem tedy pokaždé obkreslí půlkruh, no a pak se zase vrátí do výchozí pozice. V obou směrech provede každý stupeň měření a informaci o aktuálním úhlu a změřené vzdálenosti okamžitě pošle skrze sériovou linku do počítače.

Klepněte pro větší obrázek
Ultrazvukový radar s detektorem pohybujících se vetřelců a vysvětlení, co jednotlivé údaje vlastně znamenají

V počítači už bude poslouchat upravený skript pro prostředí Processing od Ujashe Patela, který data konečně vykreslí do půlkruhového radaru. A jelikož se Ujash opravdu snažil, jeho kód dokonce porovnává dva poslední průchody, a pokud se budou data výrazněji lišit, znamená to, že se před sonarem předmět pohybuje, což program vyznačí v grafu červenými symboly.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Položil jsem před dálkoměr v závěru otáčky na jeden průchod dlaň. Radar zjistil, že oproti předchozím průchodům se před ním na daném azimutu objevila ve vzdálenosti několika desítek centimetrů nová překážka, a tak ji označil červenými kruhy jako pohyb.

A je to

Na tomto základním programu bychom pak mohli dále stavět a ultrazvukový dálkoměr vybavit třeba ještě infračerveným detektorem pohybu PIR, který reaguje na tělesné teplo, a tak správně detekuje lidskou postavu, ale nebude si všímat třeba padající knihy. Ostatně i tento modul za dvacku jsme si v našem seriálu už také vyzkoušeli, čili si to můžete připomenout zde.

Tak a to je celé. Máme ultrazvukový radar. Svým způsobem funguje velmi podobně jako ten laserový – LIDAR, kterým je dnes vybavené každé chytré auto a pomocí laserových paprsků s mnohonásobně vyšší přesností a v 3D osahává své nejbližší okolí.

My si to díky Arduinu a se vším všudy celé postavili asi za storkorunu.

Diskuze (16) Další článek: Windows 10 dostaly i zelenou obrazovku smrti, běžní uživatelé se s ní ale nesetkají

Témata článku: Hardware, Pojďme programovat elektroniku, Programování, Arduino, Stavebnice, Ultra, Tělesné teplo, Kratičký okamžik, Primitivní modul, Levná elektronika, Výchozí pozice, Radar, Motorek, Překážka, Arduino Uno, Dlaň, Běžné prostředí, Nejrůznější senzory, Rada, Audio do auta, Laserový radar, Zvuková vlna, Audio knihy, Krásný příklad, Ultrazvuk, Profesionální počítače na Mall.cz


Určitě si přečtěte

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

Vybrali jsme 16 programovatelných hraček a stavebnic pro děti. A vlastně i pro vás

** Získejte děti pro matematiku a základy techniky ** Kupte jim hračku nebo stavebnici, které vdechnou vlastní život ** Vybrali jsme 16 stavebnic pro nejmenší caparty i vás samotné

Jakub Čížek | 17

Windows 10 černé, nebo bílé? Rozhodněte, zda je hezčí černý motiv, nebo nový světlý

Windows 10 černé, nebo bílé? Rozhodněte, zda je hezčí černý motiv, nebo nový světlý

** Do Windows míří bílé téma a přebarví se spodní lišta i Start ** Od minulého roku má ale i téma tmavé. ** Jaké z těchto dvou je ale to hezčí?

Vladislav Kluska | 71

Květnové Windows 10 jsou za dveřmi: Co přinesou nového?

Květnové Windows 10 jsou za dveřmi: Co přinesou nového?

** Windows 10 May 2019 Update se blíží ** Hlavní viditelnou změnou je bílé téma ** Novinek je ale samozřejmě mnohem více

Vladislav Kluska | 58

Giganti mezi nebem a zemí: poznejte 9 největších letadel světa

Giganti mezi nebem a zemí: poznejte 9 největších letadel světa

** Představíme vám devět největších letadel světa ** Patří mezi ně i známé stroje, jako je Boeing 747 či Airbus A380 ** Které letadlo je nejdelší a jaké má největší rozpětí křídel?

Karel Kilián | 7

Modelářský zázrak: Maketa raketoplánu Columbia, která létá jako skutečná raketa

Modelářský zázrak: Maketa raketoplánu Columbia, která létá jako skutečná raketa

** Model raketoplánu Columbia od českého konstruktéra umí i létat ** Obdivuhodný model si vzal 1600 hodin práce ** Podívejte se na fotografie ze stavby a prvního letu

Karel Jeřábek | 25



Aktuální číslo časopisu Computer

Velký test Wi-Fi mesh

Nejlepší hodinky pro všechny aktivity

Důležité aplikace na cesty

Jak streamovat video na Twitch