4. Senzor vzdálenosti; práce s proměnnou

V této části si žáci ke svému malému výukovému robotovi přistavěli nástavec, který připomínal hrábě a byl ovládán velkým motorem, do hubu připojili senzor vzdálenosti a začali zkoumat nové programové bloky.

Nejprve prozkoumali práci se třetím motorem, kterým ovládali výše zmíněné „hrablo“. Bylo třeba nastavit rychlost motoru a prozkoumat, v jakém rozsahu budou motorem otáčet, aby tím hrablo zvedli do potřebné výšky a pak je zase spustili zpět dolů na podložku.

robotika 3 02robotika 3 03

Pak následovala práce se senzorem vzdálenosti. Když žáci přišli na to, jak donutí zastavit robota v určité vzdálenosti od překážky, začali plnit tyto úkoly:

Úkol 1: Naprogramuj svého robota, aby po stisknutí levého tlačítka přepravil kostku umístěnou 15 cm před terčíkem na určené místo a potom se vrátil do výchozí polohy.
robotika 3 05
Žáci se ve dvojicích museli nejprve domluvit, jakou sekvenci činností má jejich robot vykonat, pak vše naprogramovat a otestovat v praxi.

 

Například:

 robotika 3 04

  Postup:

  • zvedne hrablo
  • rozjede se vpřed a zastaví 15 cm před překážkou
  • spustí hrablo, tím zachytí položenou krychli
  • couvne 30 cm
  • otočí se o 90° vpravo
  • popojede 10 cm
  • zvedne hrablo
  • couvne 10 cm
  • spustí hrablo
  • otočí se vlevo o 90°


Kontrolní otázka:
Jak byste program upravili, pokud se přepravovaný předmět bude nacházet v jiné vzdálenosti od terčíku např. ve vzdálenosti 20 cm, 25 cm nebo 30 cm?

Odpověď: Program zůstane stejný, jen budeme v bloku „wait until“ měnit vzdálenost uvedenou v podmínce. Abychom mohli v našem kódu lehce měnit požadovanou vzdálenost, vytvoříme si proměnnou, do které budeme její hodnotu ukládat.

Úkol 2 (rozšíření): Vytvoř proměnnou „vzdálenost“ a s využitím cyklu naprogramuj svého robota tak, aby po stisknutí pravého tlačítka přepravil stejným způsobem (jako v prvním úkolu) čtyři kostky umístěné ve vzdálenostech 30 cm, 25 cm, 20 cm a 15 cm před terčíkem.

Cyklus s pevným počtem opakování již žáci umí používat ze Scratche, práci s proměnou si letos znovu připomněli v tematicky zaměřeném testu od „Bobříka informatiky“. Nyní je čekalo uplatnění těchto znalostí v praxi.

Vytvořili proměnnou „vzdálenost“ a na začátku programu do ní vložili hodnotu 30. Potom pomocí cyklu 4krát zopakovali kód z prvního úkolu, přičemž do podmínky v příkazu „wait until“ vložili místo konkrétního čísla proměnnou „vzdálenost“ a na konci cyklu vždy snížili hodnotu v proměnné „vzdálenost“ o 5. Jednoduché nebo ne? Při počítačové simulaci bychom byli s programem spokojeni, ale co myslíte, fungovalo to hned všem skupinám i v reálu?

robotika 3 06robotika 3 07 u

Žáci samozřejmě svými pokusy přišli na to, že přesnost prováděných pohybů závisí na mnoha faktorech. Tím hlavním faktorem je nastavená rychlost pohybových motorů a jejich akcelerace. Zjistili, že akceleraci i rychlost je lepší mít pomalejší, zejména při otáčení vlevo a vpravo. Vyladili tedy své programové bloky vlevo a vpravo z minulé lekce tak, aby fungovaly co nejpřesněji pro „upraveného“ robota.

Dále jsme zjistili, že robot spike nedokáže na delší trase držet přímý směr, proto jsme zkrátili dráhu při couvání s nákladem oproti prvnímu úkolu na polovinu. V budoucnu se naučíme pro delší přímou jízdu používat gyroskop.

O tom, že úkol nakonec většina žáků úspěšně splnila, svědčí pořízené videonahrávky, které Vám nabídneme ke zhlédnutí na školním videoportálu.

Mgr. Hana Vaňková, vyučující INF v 8. ročníku