K detekci překážky, tedy auta, využijeme ultrazvukový senzor. Ten funguje jako „robotovy oči“ a pomáhá mu detekovat objekty nacházející se před senzorem.
Senzor, stejně jako netopýr, detekuje objekty pomocí ultrazvuku, tedy zvuku o vysoké frekvenci, který neslyšíme. Zvuková vlna pohybující se rychlostí zvuku, se od překážky odrazí zpět. Senzor ji zachytí a poté vyhodnotí dobu, mezi vysláním a přijetím. Díky tomu zjistí, v jaké vzdálenosti se předmět nachází.
Než začneme k řízení závory používat ultrazvukový senzor, musíme se s ním seznámit a naučit pracovat. Jen tak zjistíme, jaké hodnoty nám vrací a jaké má limity.
⚙️ Senzor připojte k jednotce. Pamatujete si ještě, ke kterým portům senzory připojujeme?
❓ Kde se blok ultrazvukového senzoru v programovacím prostředí nachází?
❓ Kde se blok ultrazvukového senzoru v programovacím prostředí nachází?
🕵️ ŘEŠENÍ: Blok pro ovládání ultrazvukového senzoru naleznete ve žluté paletě programových bloků (jsou zde všechna vstupní zařízení). Blok se nazývá Ultrasonic Sensor a umožňuje měřit nebo porovnávat naměřenou vzdálenost.
Otestujte následující program, který by měl měřit vzdálenost senzoru od libovolného předmětu.
Měňte vzdálenost senzoru od překážek od malých po velké a sledujte, jaké hodnoty se zobrazují.
💡 TIP: Na obrázku vidíte žluté propojení programového bloku ultrazvukového senzoru a bloku displeje. Toho dosáhnete tak, že kliknete na výstupní port ultrazvuku, držíte tlačítko myši a přetažením ho propojíte se vstupním portem displeje. Díky tomuto spojeníje hodnota naměřená ultrazvukovým senzorem odeslána na displej řídicí jednotky.
Hledejte problém
❓ Přijdete na to, proč senzor nastavený dle výše uvedeného obrázku měří poněkud zvláštně?
🆘 Nápověda
Pozorně se podívejte na naše nastavení ultrazvukového senzoru.
Senzor umí zjištěné hodnoty převádět do různých jednotek.
Na které místo je nejlepší umístit senzor, aby plnil svou funkci a brána fungovala bezproblémově?
❗ Ve skupince možné varianty prodiskutujte a senzor umístěte (případně posuňte).
💡 TIP: Jako testovací vozítko můžete využít zbytek našeho robota. Robota zbytečně nerozebírejte, budeme ho ještě potřebovat.
Bezpečnostní funkce
Závora se již umí otevírat a uzavírat. Rozšiřte program o bezpečnostní funkci, která nedovolí sklopení závory v době, kdy se pod ní nachází automobil.
💡 TIP: Všimněte si, že blok v pravém dolním rohu programu lze přepnout do režimu Port View, režimu tzv. zobrazení portů. V něm se zobrazuje informace o připojených senzorech a motorech včetně aktuálně naměřených hodnot. Ty lze použít pro tvorbu i ladění programu.
✋ Tuto nápovědu čtěte pouze tehdy, nevíte-li si vůbec rady s předchozím úkolem.
Programování je z určitého pohledu „představování si posloupnosti budoucích kroků“, tedy toho, co se bude dít. Zkuste si navzájem říct, co má závora dělat a na co reaguje?
Možné řešení: Po stisknutí tlačítka se závora otevře, chvíli počká, aby tam mohlo vjet auto. Ultrazvukový senzor opakovaně kontroluje prostor závory a dovolí zavření závory, až když tam není auto (tedy odjelo). Pak se závora se může uzavřít (jít dolů). Reaguje na tlačítko a vzdálenost auta od senzoru.
Hledáme dílčí kroky: Co tedy bude závora postupně vykonávat?
1. Čeká, až stiskneme tlačítko.
[co dělá: čeká; na co: stisk tlačítka]
2. Otevírá závoru.
[co dělá: otevírá závoru; čím: motorem]
3. Čeká na vjezd vozidla.
[co dělá: čeká; na co: vjezd vozidla; jak to zjistí: ultrazvukovým senzorem (nebo to zjišťovat nemusí a počká jen určitou dobu)]
4. Opakovaně kontroluje.
[co dělá: ...; co: ...; pomocí čeho: ...; kolikrát: ...; do kdy: ...]
atd.
Máte již vše hotové? Upravte chování závory tak, aby se v případě, že auto po 4 vteřinách neopustí prostor závory, ozval varovný tón a jednotka začala blikat.
Závoru můžete doplnit i o další autentické zvuky (aktivita v předchozí kapitole).
Nyní z naší závory vytvoříme mýtnou bránu. Závora bude pouštět pouze vozidla se správnou barvou karty. Dle typu vozidla jim bude účtován poplatek. K této činnosti budete potřebovat barevný senzor. Nejprve se s ním seznámíme.
Barevný senzor bude sloužit k rozpoznávání barvy karty. Měl by být proto umístěn před závorou na nějakém vhodném místě.
⚙️Připojte senzor pro rozpoznávání barvy na vhodné místo.
Otevřete programovací prostředí EV3 a řešte jednotlivé úkoly uvedené v záložkách níže.
Pomocí bloku Port View (viz obrázek) prozkoumejte, jaké návratové hodnoty vrací senzor barvy přepnutý do režimu rozpoznávání barev.
Následující barvy mají hodnoty:
▮ Červená:
▮ Zelená:
▮ Modrá:
▮ Černá:
▮ Bílá:
💡 TIP: Blok pro ovládání barevného senzoru naleznete ve žluté paletě programových bloků. Nazývá se Color Sensor.
Nyní si z naší závory vytvoříme mýtnou bránu. Ta bude dle typu vozidla (rozlišeno kartou) měnit účtované částky.
Závora se bude nově otevírat automaticky, a to po přiložení karty správné barvy.
▮ Červená karta = osobní automobil
▮ Modrá karta = nákladní automobil
▮ Zelená karta = autobus
⚙️ K závoře přidejte barevný senzor. Ten bude sloužit k rozpoznání barev mýtných karet.
⚙️ Karty si vyrobte spojením barvených kostiček délky 3 pomocí dlouhých modrých spojek (čepů).
Rozšiřte program o účtování poplatků za průjezd.
▮ Červená karta = osobní automobil − na displeji zobrazte nápis AUTO a částku 50 Kč.
▮ Modrá karta = nákladní automobil − na displeji zobrazte nápis TIR a částku 200 Kč.
▮ Zelená karta = autobus − na displeji zobrazte nápis BUS a částku 150 Kč.
Částka bude na samostatném řádku pod názvem automobilu.
Protože jsou nákladní automobily delší, přizpůsobte jim závoru (např. prodlužte dobu možného vjezdu, upravte upozornění na blokování závory apod.).