OMG Robotics Robotický tank – Ultrazvuk

Máte postavený svůj robotický tank, ale chcete svůj projekt posunou zase o krok dál? Proto zde máme přípravek, který vám umožní na váš robotický tank připojit ultrazvukový senzor. Jeho klíčovou vlastností je rozpoznávání vzdálenosti od překážky. To vám umožní navrhnout zcela nový způsob řízení tanku.

Co všechno se s ním dá dělat?

  • Detekce přítomnosti překážky
  • Rozpoznávání vzdálenosti předmětu

Ultrazvukový senzor dokáže rozpoznat nejen přítomnost překážky, ale také její vzdálenost. Překážkou může být například vaše ruka. Tank vás pak může poslouchat doslova na povel. Tank s rozšiřující deskou MB1 je vybaven vlastním LED páskem, který se v případě použití ultrazvukového senzoru dá skvěle použít na vizualizaci měřených dat!

Obsah

Info

Ultrazvukový senzor využívá ultrazvukový vysílač (Trig) a přijímač (Echo) pro měření vzdálenosti od překážky. Senzor vysílá krátký puls ultrazvukových vln směrem k cíli, a po odrazu od překážky jsou vlny zachyceny přijímačem. Měřením času od vyslání pulzu do jeho návratu senzor vypočítá vzdálenost. Kratší doba pulzu indikuje to, že předmět se nachází blízko, zatímco delší doba signalizuje větší vzdálenost. Tímto způsobem ultrazvukový senzor poskytuje rychlé a přesné informace o vzdálenosti od okolních objektů. Více informací ohledně ultrazvukového senzoru najdete v tomto projektu.

Piny

Pin Trig je odvozen od anglického “Trigger”, neboli spoušť. Na tento pin přivádíme elektrický pulz. Druhý měřicí pin Echo, anglicky ozvěna, je vše vypovídající. Na něm naopak pulz čteme.

Specifikace

  • Napájení: 3 – 5 V
  • Rozsah: 2 – 40 cm
  • Úhel snímání: 15°
  • Přesnost: 0,5-1 cm

Potřebné komponenty

Robotický tank

Ultrazvukový senzor

Držák Ultrazvukového senzoru

ultrazvuk drzak adapter na tank

Dupont vodiče

Zapojení

Rozšiřující deska MB1

Zapojení ultrazvuku do desky MB1 najdete ve schématu níže. Ultrazvukový senzor využívá napájení z desky, a to z pinů 3V3 a GND. Dále je třeba připojit pin pro vysílač (Trig) a přijímač (Echo).

Upozornění

Při zapojování musí být rozšiřující deska vypnutá a micro:bit odpojený od napájení.

Rozšiřující deska MB2

Zapojení do ostatních rozšiřujících desek vypadá stejně. Vždy stačí připojit napájení a poté 2 signálové piny na jakékoliv volné piny na desce.

Rozšiřující deska MB3

Zapojení do ostatních rozšiřujících desek vypadá stejně. Vždy stačí připojit napájení a poté 2 signálové piny na jakékoliv volné piny na desce.

Testovací program

Rozšiřující deska MB1

Základní program

Tento program využívá LED pásek, kterým disponuje naše rozšiřující deska MB1. Pokud tento program použijete na jinou desku, fungovat vám bude taky, ale bude zbytečně posílat signály na prázdný pin P16. Proto doporučujeme nahrát kód níže.

Nejprve inicializujeme LED pásek pomocí knihovny Neopixel. Vestavěný pásek má 8 LED a je připojen na pin P16 (proto tento pin není na desce MB1 vyveden).

Ve smyčce pak dochází ke čtení vzdálenosti. Pokud je vzdálenost menší než námi zvolený limit 10 cm, tank se zastaví. Barvu LED pásku nastavíme na červenou. Pokud je tato podmínka nepravdivá, tank se rozjede zvolenou rychlostí a LED pásek nastavíme na zelenou barvu. Nakonec pásek rozsvítíme.

Pokročilý program

Tento program již pracuje s proměnnou rychlostí. Na základě naměřené vzdálenosti nastaví do proměnné “speed” rychlost tanku. Stejně tak nastavuje počet rozsvícených LED. Pro detailnější popis rozsvěcování LED na základě vzdálenosti přejděte na projekt ultrazvukový senzor.

Rozšiřující deska MB2 a MB3

Pokud máte tank s rozšiřující deskou MB2 nebo MB3, předchozí programy budou fungovat úplně stejně. Rozdílem je to, že bude posílat signál na prázdný pin P16, na který je u desky MB1 zapojen LED pásek. Následující kódy jsou tedy zcela stejné, liší se pouze tím, že neobsahují ovládání LED pásku pomocí knihovny Neopixel.

Základní program

Stejná funkce jako u programu k desce MB1, pouze bez LED.

Pokročilý program

Stejná funkce jako u programu k desce MB1, pouze bez LED.

Úkoly

Úloha 1: Poslušný tank

Udělejte z robotického tanku hravé vozítko. Obraťte logiku zastavení a rozpohybování tak, že pokud před sebou detekuje překážku, rozjede se přímo za ní. Toho pak můžete využít pro ovládání tanku rukou. Jakmile před sebou zaznamená vaši ruku, pojede za ní na váš povel. Jakmile ruku zvednete, tank poslušně zastaví.

Úloha 2: Bezpečný tank

Vytvořte program, který pomůže tanku vyhnout se překážce. Jakmile se k nějaké přiblíží, otočí se do strany a znovu se rozjede. Nechejte tank otáčet se dostatečně dlouho, aby se překážce skutečně vyhnul.

Úloha 3: Robotický vysavač

Jistě jste již viděli, jak funguje robotický vysavač. Jakmile narazí na překážku, zastaví se, o kousek se vrátí a vybere nový směr, kterým se vydá až dokud opět nenarazí na překážku. Přesně takovou funkci si vyzkoušejte s vaším tankem.

Zkuste využít knihovnu Matematika, konkrétně bloček náhodného čísla, který bude rozhodovat o kolik se tank otočí při volbě nového směru. Váš robotický tank tím získá svůj vlastní rozum!

Ke stažení