Projekt:
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech reg. č. CZ.1.07/2.3.00/45.0011
Didaktický materiál Kurz : Autor:
Programování robotických stavebnic II. Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 2
Úvodní problémový výklad Kurz Programování robotických stavebnic 2 je určen pro žáky mladšího školního věku – ideálně 4. – 6. třída ZŠ nebo primy osmiletých gymnázií. Tomu odpovídá i rychlost postupu jednotlivých lekcí a prostor pro doplnění znalostí, které žáci z nižších ročníků nemají. Kurz je pokračováním kurzu programování robotických stavebnic 1 (PR1), v němž se žáci naučili programovat motory robota pro jízdu a též programově řídit počet opakování nebo zastavení cyklu tlačítkem na těle robota. Pro realizaci kurzu jsou stejně jako v případě kurzu PR1 potřeba tři základní věci: 1. Stavebnice LEGO MindStorms buď ve variantě NXT (starší typ), nebo EV3 (nejnovější verze stavebnice). Pokud budete stavebnici kupovat, doporučujeme verzi Education, která je sice o něco dražší, ale obsahuje akumulátor, čímž odpadá neustálé rozebírání robota a výměna baterií. Akumulátor se dobíjí stejně jako mobil připojením na nabíječku. Jen je při stavbě robota potřeba dát pozor na zdířku napájecího konektoru, aby byla „dostupná“ pro zasunutí napájecího konektoru. 2. Učebny vybavená počítači a dostatečným prostorem pro práci se stavebnicí LEGO – ideálně bez větracích otvorů v podlaze. 3. Programu LabVIEW od firmy National Instruments, který se prodává i ve verzi pouze pro stavebnici LEGO MindStorms. Pokud škola vlastní licenci pro studentskou licenci plné verze LabVIEW, dá se modul s bloky pro ovládání robotů LEGO MindStorms doinstalovat zadarmo. Pokud škola software LabVIEW od firmy National Instruments nevlastní, dají se metodické listy tohoto kurzu použít stejně jako v případě kurzu PR1 jako návod postupu výuky programování robota – tentokrát s využitím senzorů dodávaných v sadě robota – i pro další programy, které umí s roboty pracovat. Lektor pak ale musí udělat změny v popisu práce a především vytvořit nové pracovní listy, které budou kopírovat postup stavby programu robota podle zvoleného SW. Program LabVIEW má oproti dalším typům jinou logiku funkce programu. Nepoužívá striktně provádění programu odshora dolů ani zleva doprava. Chod programu v LabVIEW je řízen pouze tokem dat, který bude podrobněji vysvětlen v dalších oddílech věnovaných tomuto programu. Nastavování parametrů senzorů robota je v ostatních programech odlišné od nastavování a volby připojení v LabVIEW. Těmto specifikům zde není věnována pozornost. Metodické listy a jim příslušné pracovní listy kurzu jsou napsány pro program LabVIEW verze 2012 SP1a vyšší. V této verzi již modul pro ovládání robotů LEGO MindStorms obsahuje bloky a specifika pro novou generaci robotů EV3. Při výběru některých bloků je potřeba dávat pozor, který typ robota umí s blokem pracovat. Pokud je blok označen názvem obecně, umí s ním pracovat oba typy robotů (například Touch senzor – koncový spínač). Pokud je blok v názvu označen typem robota, umí s ním pracovat jen uvedený typ robota (NXT, nebo EV3) – takovým příkladem je třeba Ultrazvukový snímač, jehož verze pro EV3 dává výstupní hodnotu v desetinném čísle s volbou jednotek, NXT umí jen celá čísla a pouze v centimetrech.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 3
Některé bloky mají drobné vady. Na tyto nedostatky budeme při použití bloků v příslušných metodických listech upozorňovat a poskytneme i návod, jak se jim vyhnout nebo jak je „obejít“ tak, aby robot fungoval správně. Protože jsou tyto drobné nedostatky průběžně v aktualizacích SW ovladačů odstraňovány, je možné, že tyto rady ani nebudou potřeba. Využití kontextové nápovědy je i při práci se senzory nejrychlejší variantou pro seznámení se s blokem senzoru a jeho případným připojením a nastavením v programu LabVIEW. Protože byl kontextový help více popsán v předchozím kurzu, nebudeme se mu zde již více věnovat. U některých bloků je potřeba dát jen pozor na datový typ vstupní veličiny. LabVIEW nedovolí připojení vyššího nebo jiného datového typu. Kde to bude nutné, tam ukážeme, jak se dají využít datové konverze. Přesto je u mladších žáků lepší, když těmto na pochopení složitým procesům vyhneme.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 4
JÍZDA ROBOTA OPAKOVÁ NÍ
4. – 6. ročník ZŠ
B 150 min. 1. - 12.
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms. Hlavní myšlenka lekce Robot jede správným směrem jen při dodržení správného algoritmu řazení bloků při různých druzích stylu jízdy. Je nutné i správné nastavení bloků s použitím kladných a záporných čísel při řízení motorů a desetinného čísla pro řízení času. Zásadní otázky lekce Budou správně fungovat motory robota? Rozjede se robot žádaným směrem? Příprava lekce Kontrola instalace prostředí LabVIEW a modulu pro LEGO MindStorms.
Dobití robotů LEGO MindStorms, pokud jsou vybaveny akumulátorem. Tvorba programů pro jízdu robota podle zvoleného směru a po zvolené dráze. Využití cyklu s ukončením prostřednictvím počtu opakování nebo stiskem tlačítka na robotovi. Dále je potřeba vytvořit program s využitím např. senzoru světla pro jízdu robota v libovolné ohraničené oblasti jako motivaci výsledku celého pokračovacího kurzu. Vstupní požadavky na žáky Základní znalost AJ a logické myšlení. Vazba na jiné lekce Využití robotů sestavených v kurzu Programování robotických stavebnic 1 a znalosti ovládání motorů, času a využití cyklu při programování získané v tomto kurzu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 5
1) Motivace
Cíl aktivity Žáci si připomenou robota, se kterým již pracovali, a excelentní jízdou robota po libovolné čáře jsou motivováni k další práci s robotem. 10 min.
1. Žákům jsou rozdání roboti v základní konstrukci podle návodu, který mají všichni před sebou. 2. Učitel se dotazuje žáků, co se jim na práci s robotem nejvíce líbilo. Pozn.: U všech žáků je dobré ověřit, zda si pamatují, co v předchozím kurzu dělali, a zda chtějí v práci s robotem pokračovat a začít používat senzory. 3. Jako další motivaci ukáže lektor nějaký z pozdějších senzorů – ideálně např. jízdu robota v uzavřené oblasti s využitím světelného senzoru, kdy nechá čáru na papíře (na zemi) vytvořit žáky.
Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, lepicí páska nebo volné papíry a fixy pro žáky.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 6
2) Evokace 1. Žáci postupně pojmenovávají na dotazy
učitele jednotlivé akční části robota. správném pojmenování základních částí (řídicí kostka, motor, senzor) jsou podrobněji definovány i funkce senzorů, které se budou v kurzu probírat podrobně: Např.: • Senzor Touch – koncový spínač slouží k ukončení nebo startu programu. • Ultrazvukový senzor – Sonar složí k zjišťování vzdálenosti překážky od senzoru. • Barevný senzor – slouží k rozpoznávání barev.
2. Po Cíl aktivity Žáci společně s lektorem pojmenovávají jednotlivé akční prvky robota a definují, k čemu slouží. 10 min. Pomůcky Stavebnice LEGO MindStorms NXT nebo EV3 demontovaná.
Pozn.: POZOR: Robot NXT nemá senzor barvy v základní sestavě LEGO MindStorms Education. Pokud ho nemáte, nezmiňujte se o něm. EV3 má senzor barvy sdružený se senzorem světla – viz níže. • •
Světelný senzor – měří intenzitu odraženého světla. Využití zvuku pro signalizaci nebo jako doplněk programu.
3. Nedoporučujeme příliš rozvádět diskusi o možnostech použití představených senzorů.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 7
3) Uvědomění
Cíl aktivity Žáci si zopakují programování v prostředí LabVIEW a upevní, resp. doplní si znalosti z kurzu Programování robotických stavebnic 1, tj. především: - Jízda požadovaným směrem, - jízda po určitou dobu, - jízda s použitím cyklu, s ukončením počtem cyklů nebo stiskem tlačítka na robotovi. 110 min. stavby se dvěma 5min. přestávkami – celkem 120 min. Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, pracovní list č. 0.
1. Žákům je rozdán pracovní list č. 0, kam si v průběhu lekce budou zapisovat odpovědi a vkládat obrázky programů. 2. Žáci samostatně vytvoří program pro jízdu robota dopředu. 3. Lektor v průběhu práce jen kontroluje, zda je algoritmus postupu bloků správný, případně se snaží žáky nenásilně navést na jejich vlastní řešení. V průběhu tvorby prvního programu je nutné dbát na správnou logiku stavby programu a správné nastavení bloků podle zadaných parametrů pro rychlost a čas. 4. Žákům je nutné připomenout nutnost vkládání obrázků programu do pracovního listu a případně i ukládání programů na PC do přiděleného prostoru na HDD počítače. 5. Po odzkoušení programu, uložení programu na PC a vložení obrázku do pracovního listu mohou žáci pokračovat dále. 6. Na novém VI žáci samostatně vytvoří program pro jízdu robota dozadu – s použitím záporného čísla. Lektor opět jen kontroluje správné použití záporného čísla, poradí jen žákům/skupinám, u kterých vidí menší problém, ale měl by je na řešení navést, ne jim ho nadiktovat. 7. Po odzkoušení programu, uložení programu na PC a vložení obrázku do pracovního listu mohou žáci pokračovat dále. 8. Žáci samostatně na novém VI vytvoří postupně program pro jízdu doleva a následně pak doprava. Zde je možno připomenout, že existuje několik možností zatáčení, ale doporučujeme nechat žáky, aby si způsob řešení zatočení vybrali sami – nenutit je k lektorem preferovanému řešení.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 8
9. V tuto chvíli doporučujeme udělat přestávku; zda po prvním zatáčení, nebo až po dokončení tvorby programů jízdy robota určeným směrem, je na lektorovi a rychlosti programování žáků. 10.Následující část je dobré provádět po přestávce, než začnou žáci opět samostatně programovat. Lektor zopakuje umístění bloku While Loop pro vytvoření cyklu v programu a formou dotazů připomene, co znamená modrý i a červený terčík ve spodní části cyklu. Dále zopakuje, kde se nacházej bloky pro matematické porovnávání, nenapovídá ale, kde a které operace porovnání budou žáci potřebovat. Dále lektor zopakuje, jak se do programu vloží blok, kterým se sleduje stisk tlačítek na robotovi. 11.Na novém VI žáci samostatně vytvoří program podle bodu 1E pracovního listu. 12.Lektor pozoruje, zda je správně zvolena konstanta pro řízení počtu opakování cyklu. Pokud žáci zvolí konstantu špatně, nezasahuje, čeká, až si program odzkoušejí a sami zjistí chybu určení konstanty. Pokud žáci nevědí, kde najdou nějaký blok, zopakuje jim uložení bloků v adresáři Programming individuálně. 13.Po odzkoušení programu, uložení programu na PC a vložení obrázku do pracovního listu mohou žáci pokračovat dále. 14.V posledním kroku žáci vytváří na novém VI program pro jízdu robota podle bodu 1F pracovního listu s využitím vyčítání stavu zvoleného tlačítka na řídicí kostce robota. 15.Lektor opět pouze pozoruje a zasahuje již jen velmi výjimečně. 16.Po odzkoušení programu, uložení programu na PC a vložení obrázku do pracovního listu pokračuje lekce do fáze reflexe.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II. strana 9
4) Reflexe
Cíl aktivity Ověření znalostí programování motorů robota a využití cyklu While Loop. 10 min. Pomůcky PC lektora s programem pro test funkčnosti sestaveného robota.
1. Žáci samostatně odpovídají na otázky v pracovním listu podle vlastních zkušeností z průběhu lekce. 2. Pokud je dostatek času, je dobré nechat žáky/týmy předvést jeden z jejich programů, nebo prostřednictvím odpovědí na dotazy zopakovat ještě jednou postupy programování motorů robota: • Jaké tři základní bloky slouží pro jízdu robota určitou, přesně danou dobu? • Co znamená modré i v cyklu robota? • K čemu slouží červený terčík v pravé dolní části cyklu? • Jak se zvolí, na jaké tlačítko bude robot reagovat?
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 10
5)Problémový výklad V pokračovacím kurzu již stavbu robotů neprovádíme. Místo ní je zařazeno do úvodní lekce opakování a procvičení programování jízdy. Pokud mezi zakončením kurzu Programování robotických stavebnic 1 a touto lekcí neuplynuly více než dva týdny, je možno pokračovat ve výuce i bez tohoto opakování, nebo ho doplnit o složitější zadání – to ponecháváme na volbě lektora. V našich kurzech většinou končíme první část výuky před vánočními prázdninami a druhou část začínáme v půlce ledna nebo až po pololetním vysvědčení, proto máme vždy zařazenu tuto opakovací lekci. Před začátkem dalších lekcí je potřeba se přesvědčit, zda všichni žáci nejen umí naprogramovat, ale především dobře chápou: • algoritmus jízdy robota řízený časem; • využití záporných čísel pro jízdu opačným směrem; • využití desetinných čísel pro přesnější nastavování času jízdy; • tvorbu cyklu a jeho ukončování pomocí počtu cyklů; • ukončování cyklu podmínkou – stiskem tlačítka na řídicí kostce robota. Pro výuku používáme sestavené roboty z předchozího kurzu, proto se jen pro zopakování pozastavíme u doporučení k robotům ve výukové skupině, které v tomto kurzu nabývá na důležitosti: • NXT a EV3 mají jiné sady senzorů. Těm se budeme v tomto kurzu věnovat, a proto je na to nutno myslet při sestavování skupin žáků na lekci, především pokud jsou skupiny tvořeny studenty, kteří mají vlastní roboty LEGO MindStorms. • Některé metodické a jim příslušné pracovní listy tedy budou určeny jen pro určitý typ robota, některé budou společné – lektor bude v případě drobných rozdílů na tyto odlišnosti upozorněn v metodickém listu, žáci rozdíly zaznamenají, jen pokud budou ve skupině přítomné oba typy robotů.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 11
JÍZDA ROBOTA DOPŘEDU
4. – 6. ročník ZŠ
A 150 min. 1. - 12.
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms. Hlavní myšlenka lekce Robot jede správným směrem jen při dodržení správného algoritmu – posloupnosti bloků programu – a při jeho správném nastavení. Zásadní otázky lekce Jak rozjet robota dopředu? Jak zatočit doleva a doprava? Příprava lekce Instalace LabVIEW na PC v učebně (min. verze 2012 SP1) a modulu pro
roboty LEGO MIndStorms nebo jen samostatné verze programu LabVIEW pro LEGO MindStorms. Tvorba programu pro jízdu robota po zvolené dráze dopředu se zatáčením doleva a doprava jako ukázka výsledné práce na konci lekce. Přepojení některých kabelů u motorů robota, aby byly zapojeny do jiných portů než podle návodu. Vstupní požadavky na žáky základní znalost AJ a logické myšlení Vazba na jiné lekce V lekci jsou využíváni roboti z minulé lekce.
sestavení
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 12
1) Motivace 1. Žáci si na rozdaných sestavených robotech znovu vyzkouší program, který do nich minulou hodinu nahráli, aby se přesvědčili, že program zůstal v robotu uchován. Cíl aktivity Namotivovat žáky k práci a předvedením programu ukázat, co všechno se dnes naučí. 10 min.
2. Lektor může ukázat další variace jízdy robota dopředu na svém robotovi a probere s dětmi formou dotazů a odpovědí způsoby zatáčení: a. Jak může robot zatáčet? b. Existuje více zatáčení?
konstrukčních
způsobů
Pomůcky PC, projektor.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 13
2) Evokace 1. Jaké typy konstrukcí zatáčení znáte?
Cíl aktivity Žáci se seznámí se strukturou programu LabVIEW a bloky pro jízdu robota a jejich řazením. 20 min. Pomůcky PC s nainstalovaným programem LabVIEW, min. verze 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor.
podvozku
pro
řízení
a. auto – obě kola se zatáčí současně a mají stejnou rychlost a směr otáčení b. tank – každý pás (hnací kolo) ovládáno zvlášť (rychlostí i směrem)
je
c. Jaký typ konstrukce podvozku (kol) má náš sestavený robot? (tank) 2. Žákům je představen program LabVIEW, jsou seznámeni s jeho oknem Blokový diagram a způsobem připojení robota a způsobem nahrávání programů do robota.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 14
3) Uvědomění 1. Žákům je rozdán pracovní list č. 1, do něhož si
v průběhu seznamování se s programem mají psát poznámky a odpovědi na otázky probírané při ukázkách práce s programem. Cíl aktivity Zafixovat si algoritmus pro jízdu robota řízenou dobou jízdy. 100 min. se dvěma 5min. přestávkami Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor.
Pozn.: Všechny pracovní listy mají sloužit jako vlastnoručně psaná učebnice programování pro každého z žáků. Není důležité, aby každý přesně citoval lektora, ale aby svým záznamům rozuměl. Jako motivací pro vyplňování listů je možné zdůraznit, že při samostatné práci je budou moci volně používat a hledat v nich nápovědu, protože nápověda v programu je anglicky – je dobré ji žákům při první příležitosti (ideálně bod 3) ukázat – její zobrazení se provede pomocí Ctrl+H. 2. Žákům jsou představena dvě základní okna
programu LabVIEW a ukázáno, jak k PC připojit robota a jak robota propojit s programem. Tuto aktivitu si každý odzkouší a v dolním poli programu bude mít každý žák vlastní jméno robota, kterého pro výuku obdržel. 3. Pro jízdu motoru je žákům představen blok
Motor - RUN. Vyvoláním okna nápovědy (Ctrl+H) ukáže lektor žákům, že popsat si vstupy a výstupy bloku česky bude jistě výhodné, ale není to nezbytně nutné, pokud žáci anglicky umí. Pozn.: Používání kontextové nápovědy velmi rychle naučí žáky mnoho nových slov a i porozumění základnímu technickému popisu funkce bloku. 4. Žáci si podle vzoru lektora vloží konstantu pro
definici motoru, který chtějí zapnout (vstup 3), a vložením konstanty k vstupu 4 i rychlost motoru. 5. Po představení tlačítek pro nahrání programu a upozornění, že program se vypíná šedým tlačítkem, si žáci mohou svůj první program vyzkoušet. PŘESTÁVKA – doporučená chvíle pro uvolnění a neřízené objevování zákonitostí používání definice motorů a rychlosti.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 15
6. Po přestávce se žáci seznámí s blokem Motor – STOP, definice motorů na vstupu 3 jim již bude po experimentech s blokem Motor-RUN jasná. 7. Dotazování lektora na použití obou bloků motorů v programu velmi rychle přivede žáky k řešení doby jízdy (chodu) motoru. 8. Blok Wait (time) má vstup, který nastavuje dobu čekání. 9. V tuto chvíli je nutné ukázat žákům základní algoritmus pro jízdu robota určitou dobu spojením 3 známých bloků. Přesné pořadí bloků je zdůrazněno růžovou spojnicí mezi bloky. Lektor vytvoří vzorový program pro jízdu dopředu dohodnutou rychlostí po dohodnutý čas. Žáci by si měli program vytvářet na svých PC společně s lektorem a následně ho odzkoušet na svém robotovi – tento program do pracovního listu nevkládají. Pozn.: U chlapců je vhodné přirovnat bloky a postup konání programu k vláčku, kde růžová čára je kolejnicí a vlak je řazen zleva doprava. U děvčat spíše pomáhá přirovnání k navlékání korálků na růžovou nitku. Je možné použít i jiná, žákům bližší, přirovnání. 10.Žáci si vymaží plochu blokového diagramu a mají za úkol program lektora zobrazený na projektoru vytvořit samostatně (replikovat) a opět ho odzkoušet na svém robotovi. Žáci mají za úkol samostatně vytvořit program pro jízdu robota dopředu již bez nápovědy lektora na dataprojektoru. Každému žákovi nebo po menších skupinách je lektorem určena doba jízdy (z intervalu např. 3 – 7 sekund); volbu rychlosti jízdy nechá lektor na žácích. Lektor pouze sleduje jejich činnost a snaží se příliš neradit, kde který blok najdou a jak je propojovat. 11.Po cca 8 minutách je dobré ukázat první krok tvorby – vložení bloku Motor-RUN a jeho nastavení pro motory a pro rychlost. 12.Po 10 minutách je úkol ukončen a lektor nechá předvést jízdu robota od vybraného žáka (skupiny žáků), který úkol splnil, a od jiného vytvořit na vzorovém PC program. Případně ukáže vzorový program na PC dalšího vybraného žáka.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 16
13.Vytvořený program si žáci zkopírují (označením a kombinací kláves Ctrl+C) a vloží (pomocí Ctrl+V) do pracovního listu. Je možno použít i program Výstřižky, pokud je na PC nainstalován. Volba přenosu je na lektorovi, je možné přihlédnout i ke znalostem žáků z oboru informatiky. Po uložení obrázku je dobré program uložit a zavřít a pro další tvorbu si otevřít nové VI. 14.Po otevření nového VI mají žáci za úkol vytvořit program pro jízdu robota doleva. Před vlastní tvorbou je dobré s dětmi probrat způsoby zatáčení u podvozku typu TANK a nechat na nich, aby si samy vybraly, který způsob zatáčení doleva naprogramují. Mladším dětem je lepší doporučit zatáčení pomocí jízdy pouze jednoho motoru. Čas jízdy je možno opět zadat, nebo stanovit minimální a maximální hodnotu a nechat volbu na žácích. Lektor opět pouze přihlíží a pozoruje tvorbu. Pozn.: U jízdy doleva je nutno vyzkoušet nebo logicky odvodit, který motor bude zapnut a který vypnut, případně který pojede rychleji a který pomaleji. 15.Po 10 minutách je vhodné vzorově ukázat první krok (vložení bloku – Motor-RUN s volbou jednoho motoru a rychlosti pro něj), pokud je ve třídě nějaký žák, který program ještě nevytvořil. Pokud mají všichni program vytvořený, je možno předvést programy a dotazovat se v průběhu předvádění žáků: •
Jak se od sebe programy liší?
•
Který typ zatáčení je použit?
Opět je vhodné program uložit a zavřít a pro další program otevřít nové VI. 16.Žáci následně vytváří programu pro jízdu robota doprava. Volbu parametrů ze zvoleného intervalu je vhodné nechat již na žácích Pozn.: I když je jednodušší jen změnit definici motoru v bloku Motor-RUN, pro upevnění algoritmu jízdy robota lektor vyžaduje tvorbu nového programu pomocí nového vložení a definice všech tří známých bloků.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 17
17.Po 5 minutách mají většinou již všichni žáci program vytvořený i odzkoušený. Veřejná „přehlídka“ jízdy robotů je dobrou motivací pro další práci. 18.Pro rychlé programátory obsahuje pracovní list BONUSY, ve kterých je nutná vazba dvou postupů za sebe (jsou použity tři bloky dvakrát za sebou na jedné růžové lince). Těmto úkolům necháme čas do konce oddílu. Žáci musí testovat další řazení bloků pro navázání jízdy.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 18
4) Reflexe 1. Žáci odpovídají lektorovi na dotazy:
Cíl aktivity Zopakovat si algoritmus pro jízdu robota dopředu řízenou dobou jízdy. Chápat definici bloku Motor-RUN pro různé druhy jízdy robota. 10 min. Pomůcky Sestavený robot LEGO NXT nebo EV3 s programem.
•
Jaké tři bloky používáme robota po určitou dobu?
•
Jak definujeme blok Motor-RUN pro jízdu dopředu, doleva, doprava?
•
Jak jsou za sebou řazeny bloky pro jízdu robota po určitou dobu?
•
Jak seřadit bloky, když chceme jet rovně a po určité době zatočit doleva?
pro
jízdu
2. Žáci prezentují své poslední programy – jízda robota. Je dobré ukázat, jak byl žákem (týmem) program vytvořen a doptat se na další způsoby řešení, pokud někdo volil jiný postup.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 19
5)Problémový výklad Při spuštění programu LabVIEW je nutné si odzkoušet několik základních postupů při tvorbě programu. • Tvorbu nového Vi volnou Blank VI – tím se otevřou dvě základní okna programu. Pro robota LEGO MindStorms se používá okno Block Diagram (bílé okno), protože chceme program do robota nahrávat. Šedé okno Front panel (čelní panel) slouží pro řízení robota z PC; v tomto kurzu tuto možnost zmiňovat nebudeme a čelnímu panelu se nebudeme vůbec věnovat. • Pokud má škola nainstalovanou studentskou licenci LabVIEW, je potřeba přepnout mezi plným LabVIEW a módem robota. Nejprve je nutné připojit zapnutého robota k PC pomocí USB kabelu, kliknout pravým tlačítkem myši na levý spodní okraj blokového diagramu a vybrat jméno připojeného robota. Na levém spodním kraji se bílé okénko změní na oranžové s vepsaným jménem robota. Pokud tento postup vynecháte, tj. provedete přepnutí do módu robota bez zapojeného zapnutého robota a provedete pouze volbu „NXT/EV3 Target: Unspecified“, dojde po napsání programu a pokusu ho nahrát do robota k vyvolání okna pro výběr robota a dále okna pro uložení vytvořeného programu do PC. To je pro studenty nižších ročníků velmi matoucí, je proto potřeba je naučit následující postup při začátku práce, tedy: o Připojit robota pomocí USB kabelu. o Zapnout robota oranžovým tlačítkem (NXT) nebo centrálním tlačítkem (EV3) a počkat, až se robot zapne. U robotů EV3 je to záležitost cca 1 minuty podle obsahu paměti a přídavné paměťové karty, které se při zapnutí načítají. o Provést přepnutí okna LabVIEW do módu robota a vybrat vždy jméno robota. • Po úspěšném přepnutí dojde ke zjednodušení palety blokového diagramu, která se vyvolá kliknutím pravého tlačítka myši do volného prostoru blokového diagramu. Touto volbou se blokový diagram vyvolá jen dočasně. • Pokud si chceme kterékoliv dočasné menu nebo podmenu „přišpendlit“, v levém horním okraji se nachází symbol připínáčku, na který klikneme a menu nám zůstane trvale na ploše (než ho zavřeme jako jiná okna ve Windows). • Trvalé zobrazení palety menu Functions se provede kliknutím na obrázek špendlíku nebo lze paletu trvale zobrazit i pomocí volby View – Functions Pallete. Zavření trvale zobrazené palety se provede kliknutím na zavírací znak X v pravé horní části okna (standard u oken Windows). Jakýkoliv vybraný adresář menu je trvalý a ukazuje se i cesta k němu. Tím se dá v menu pohybovat i směrem nahoru. Popis palety Functions • V adresáři bloků Programming najdeme všechny programové bloky obecné (cykly, struktury, matematické operace a další „systémové“ bloky). • V adresáři bloků I/O najdeme všechny bloky pro práci s motory a senzory robota a další akce určené pouze pro kostku LEGO MindStorms. Je potřeba dávat pozor, pro jaký typ robota je který blok určen. Pokud není u bloku typ definován, může být tento blok používán roboty NXT i EV3. Pokud má Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 20
•
blok v názvu NXT, je určen pouze pro tento typ robota, pokud má blok v názvu EV3, je určen pouze pro novější typ robota. V adresáři bloků Behaviors jsou vzorové programy pro robota, které je možno volně použít a dále upravovat. Při výuce se snažíme, aby studenti tyto vzorové programy nepoužívali.
Ukládání a otevírání programů: • V první lekci programování naučte žáky jen programy ukládat. Způsobu otevření uložených programů se budeme věnovat v druhé lekci programování v LabVIEW, protože je o něco složitější a pro studenty je nových věcí v této lekci poměrně hodně.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 21
JÍZDA ROBOTA DOZADU A DO ČTVERCE
4. – 6. ročník ZŠ
A 150 min. 1. - 12.
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms. Hlavní myšlenka lekce Robot jede správným směrem jen při dodržení správného nastavení s použitím záporného čísla a desetinného čísla. Zásadní otázky lekce Jak rozjet robota dozadu. Jak zatočit do pravého úhlu.
Příprava lekce Tvorba programu robota pro jízdu robota po zvolené dráze dozadu se zatáčením do pravého úhlu. Program bude sloužit pro motivaci jako ukázka výsledné práce na konci lekce. Vstupní požadavky na žáky Základní znalost AJ a logické myšlení. Vazba na jiné lekce Využití robotů sestavených v 1. lekci a znalosti předchozí lekce - tří bloků pro ovládání jízdy robota.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 22
1) Motivace 1. Lektor předvede žákům jízdu robota dozadu a otočku do pravého úhlu, případně jízdu do čtverce. Cíl aktivity Namotivovat žáky k práci a předvedením programu ukázat, co všechno se dnes naučí. 10 min. Pomůcky PC, projektor, PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 23
2) Evokace 1. Formou soutěže vytvoří žáci program robota pro jízdu dopředu nebo pro zatáčku lektorem zadaným směrem. Nejrychlejší správný program je odměněn. Cíl aktivity Žáci soutěží v dovednosti programování. 10 min. Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3. Projektor, tabule, křídy/fixy.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 24
3) Uvědomění 1. Žákům je rozdán pracovní list č. 2, do něhož si v průběhu lekce budou zapisovat odpovědi a vkládat obrázky programů. Cíl aktivity Žáci se seznámí se záporným a desetinným číslem a jeho použitím pro pohyb robota. Procvičení použití záporných čísel a desetinných čísel. 105 min. se dvěma 5min. přestávkami Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, pracovní list č. 2.
2. Žákům jsou představena záporná čísla, je na lektorovi, který způsob vybere. 3. Žáci vytvoří program pro jízdu dopředu a odzkouší ho na svém robotovi – lektor má program předpřipraven. Na vytvořeném programu pro jízdu dopředu lektor ukáže, jak se jednoduchým doplněním mínus před číslo pro rychlost jízdy změní program na program pro jízdu dozadu. Program si žáci odzkouší. 4. Žáci doplní bod A v oddílu jedna pracovního listu. 5. Žáci si na nové VI vytvoří program pro zatáčku (doleva nebo doprava) při definované rychlosti, kde pro čas nastaví známou hodnotu (celé číslo), které jim je přiděleno. Postupně předvádějí roboty od nejnižšího čísla po nejvyšší. 6. Lektor se žáků ptá: jak to udělat, aby bylo otočení přesnější, aby se robot dostal do přesně určeného místa? 7. Lektor ukáže žákům desetinná čísla; volba metody je na lektorovi a věku žáků. Doporučuji nastavování jen v délce desetin sekundy. 8. Žáci si do pracovních listů doplní body B a C. 9. Žáci mají za úkol samostatně vytvořit program pro jízdu robota dozadu bez nápovědy lektora. Každému žákovi je dána rychlost kladným číslem (určení času je dobré nechat na žákovi). Lektor jen dohlíží a do programování žákům nezasahuje. 10.Po cca 8 minutách je dobré ukázat vložení bloku Motor-RUN a definici rychlosti, pokud se najdou žáci, kteří program nedokázali vytvořit sami. Pokud mají všichni program hotový a
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 25
odzkoušený, je stejně dobré ukázat vzorový program pro kontrolu a případnou diskusi nad rozdíly v programech. 11.Lektor by měl dbát na to, aby žáci nezapomínali vkládat obrázky programů do pracovního listu, programy si vhodně pojmenovávat a ukládat na vyhrazené místo na PC. 12.Žáci na novém VI vytvoří program pro jízdu doleva/doprava, volbu směru, rychlosti i času lze nechat na jejich kreativitě, stejně jako volbu druhu zatáčení. Po odzkoušení programu mohou přejít k dalšímu úkolu buď na nový VI, nebo bez mazání programu. 13.Žáci pokusně stanovují čas pro otočení robota do pravého úhlu. Volba směru zatáčení a rychlosti je na žákovi. 14.Žáci vytvoří program podle algoritmu. Zda na nové VI, nebo s využitím programu pro pravý úhel je na volbě lektora s ohledem na schopnosti žáků a na čas zbývající do konce lekce. 15.Pro rychlé programátory obsahuje pracovní list BONUSY, jejich výsledkem je postup jízdy nebo vlastní jízda robota do čtverce. Pozn.: Je dobré ukázat žákům před začátkem práce na Bonusu pro jízdu robota do čtverce, že po jízdě dopředu a otočce je dobré vytvořit růžovou spojnicí „serpentýnu“ a vrátit se pod první blok motoru. Tím se vytvoří program, který se pak dá překopírovat do pracovního listu. Vzhledem k individuální práci a různému časovému postupu žáků/týmů je vhodné ukazovat tuto „vychytávku“ žákům/týmům individuálně, případně menším skupinkám, které tuto informaci právě potřebují.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 26
4) Reflexe 1. Žáci sami odpovídají na otázky v pracovním listu podle vlastního nastavení jízdy robota.
Cíl aktivity Zopakovat si použití záporných a desetinných čísel pro jízdu robota. Předvést program pro jízdu do pravého úhlu.
2. Lektor dotazováním opakuje a upevňuje znalosti o záporném čísle pro rychlost robota a desetinném čísle pro čas. •
K čemu slouží záporné číslo?
•
Jak nastavíme rychlost robota, aby jel dozadu?
•
Jak docílíme přesné délky jízdy robota při otáčení?
•
Dá se desetinné číslo použít i při jiných druzích jízdy? (jízda dopředu či dozadu)
15 min. Pomůcky Pracovní list č. 2, tužky, roboti s nahranými programy.
3. Pokud je dostatek času, doporučuji uvést soutěž - předvedení otočky do pravého úhlu a ocenit nejpřesnější programy (sušenka či něco zdravějšího).
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 27
5)Problémový výklad V této lekci je dobré ukázat způsob otevírání uložených souborů s programy pro robota s příponou vi. • Při otevření souboru volbou Open File v hlavním Menu se otevře vždy POUZE okno čelního panelu programu, které je u programů pro robota LEGO MindStorms prázdné. • Žákům je nutno ukázat postup otevření okna Blokového diagramu. Je možno ukázat buď otevření pomocí volby Show Block Diagram v nabídce Windows, nebo otevření pomocí klávesové zkratky Ctrl+E. Je na volbě lektora, který způsob mu přijde pro žáky jednodušší. • Je nutné upozornit žáky, že okno čelního panelu nesmí být zavřeno (kliknutím na zavírání okna v pravém horním rohu), protože tím dojde k zavření programu, a tedy i okna Blokového diagramu.
Je dobré zmínit, že další blok se provede až po dokončení bloku předchozího, pokud jsou bloky propojeny růžovou linkou, která určuje jméno robota a způsob jeho připojení k počítači. Zopakovat, že program v prostředí LabVIEW není vykonáván shora dolů ani zleva doprava, ale jeho chod je řízen pouze tokem dat. Vždy jsou vykonány všechny bloky, které mají v daném „kroku“ programu definovány všechny vstupy. Tím je prostředí LabVIEW odlišné od dalších programovacích jazyků a prostředí. Dobré je neustále opakovat a zdůrazňovat barevnou nápovědu datových typů proměnných a toku dat, že oranžovou barvu mají desetinná čísla a modrou barvu mají celá čísla. V dalších lekcích se skladba rozšíří o další barvy. Růžová (fialková) určuje pořadí vykonávání bloků – nese informaci o názvu robota a způsobu jeho připojení – kudy „tečou“ informace mezi PC a robotem.
Pro ukládání programů je vhodné žákům vytvořit nějaký prostor, aby si v něm mohli uchovávat vytvořené programy pro robota. Pokud program do robota nahrajeme, nelze ho již z něj znovu přenést do počítače. Vytvořené programy mohou sloužit pro další využití v pozdější době, kdy už děti tvoří programy podle vlastních algoritmů a občas se potřebují podívat, jak určitou věc (problém, zadání) kdysi řešily. Trénujte u žáků vytváření číselných konstant přímo u vstupních pinů bloků, je to rychlejší a daleko jednodušší způsob než používání konstant z nabídky ProgrammingNumeric.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 28
JÍZDA PODLE OBRAZCE
4. – 6. ročník ZŠ
B 150 min. 1. - 12.
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms. Hlavní myšlenka lekce Robot jede podle čáry po obrazci jen při dodržení správného algoritmu a nastavení bloků. Zásadní otázky lekce Kopíruje robot čáru? Dokáže to pomocí času a rychlosti jízdy? Příprava lekce Tvorba různých geometrických obrazců na papír velikosti A2, ideálně lepicí páskou nebo silnou fixou. Případně je možné lepicí páskou vytvořit obrazce na podlaze učebny – obrazce jen s rovnými čarami a ostrými rohy. Počet obrazců by měl být alespoň o 1 větší, než je počet žáků nebo týmů v kurzu. Obrazec by
neměl mít víc jak tři zlomy (tedy max. čtyři čáry). Čáry se mohou na obrazci křížit, ale mělo by být zřejmě, kde je start a kde cíl jízdy robota. Volné papíry A2 a lepicí páska, resp. silnější fixy pro tvorbu individuálních obrazců žáky, nebo jen lepicí páska (např. elektrikářská), pokud ji mohou lepit na podlahu učebny. Tvorba programu pro jízdu robota po jedné dráze vytvořeného obrazce. Program bude sloužit pro motivaci a jako ukázka výsledné práce na konci lekce. Vstupní požadavky na žáky Základní znalost AJ a logické myšlení. Vazba na jiné lekce (volitelné) Využití robotů sestavených v 1. lekci a znalosti z předchozích lekcí – přesné nastavení funkce bloků motoru a času.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 29
1) Motivace
Cíl aktivity Namotivovat žáky k práci a předvedením programu ukázat, co všechno dnes vytvoří.
1. Lektor předvede žákům jízdu robota podle čáry obrazce. Je potřeba zdůraznit, že robot čáru neregistruje, nijak ji nevidí a je řízen jen programem. To je dobré ukázat při opakovaném spuštění na volné podlaze, kde robot opět jede stejně, jako by na podlaze byla čára obrazce.
10 min. Pomůcky PC, projektor, PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 30
2) Evokace
Cíl aktivity Žáci opakují znalosti z předchozích lekcí. 10 min. Pomůcky Projektor, tabule, křídy/fixy, papíry s testem.
1. Lektor se dotazuje na způsoby řízení motorů robota. Je možno se jen náhodně ptát, nebo dát žákům krátký test s několika otázkami a nejlepší výsledek odměnit. a. Jaký blok je použit pro jízdu robota? b. Jaký blok motor zastaví? c. Jaká rychlost se musí nastavit, aby jel robot dopředu? d. Jaká rychlost je použita pro jízdu dozadu? e. Jak se stanoví doba jízdy robota? f. Pokud pojede dopředu jen pravý motor, na kterou stranu robot zatočí? g. Jakou barvu mají celá čísla? h. Co nám říká oranžová barva? i. Když dám rychlost (-45) na oba motory, kam robot pojede? j. Jaké bloky použijeme pro jízdu robota dopředu? Vyjmenuj je podle pořadí použití.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 31
3) Uvědomění
Cíl aktivity Procvičení znalostí z programování a algoritmizace předchozích lekcí. 105 min. se dvěma 5min. přestávkami Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, pracovní list č. 3, listy papíru s obrazci nebo obrazce vytvořené lepicí páskou na podlaze, lepicí páska nebo volné papíry a fixy pro žáky.
1. Lekce je ryze opakovací a slouží k procvičení znalostí a praktických dovedností získaných v předchozích dvou lekcích 2. Žákům je rozdán pracovní list č. 3, do kterého si v průběhu lekce budou zapisovat odpovědi a vkládat obrázky programů. Pozn. 1: Protože je výsledný program poměrně dlouhý, je dobré ukázat žákům před začátkem práce znovu na příkladu jízdy robota do čtverce (z minulé lekce), že po jízdě dopředu a otočce je dobré vytvořit růžovou spojnicí „serpentýnu“ a vrátit se pod první blok motoru. Tím se vytvoří program, který se pak dá překopírovat do pracovního listu, a navíc je tímto způsobem zopakován postup práce s delším programem. 3. Žáci postupně vytvářejí program pro jízdu robota podle čáry obrazce na přiděleném listě papíru nebo podle přiděleného obrazce na podlaze učebny. Robot má jet dopředu. 4. Lektor pouze kontroluje práci a případně pomáhá dotazy a odkazy na předchozí práci – programy a postupy v předchozích dvou lekcích. Pouze pokud žák/tým skutečně neví, poradí další krok. 5. Každou čáru je nutno odzkoušet – nastavit správnou rychlost a čas jízdy. Je na žácích/týmech, zda budou upravovat velikost jen jedné veličiny (čas nebo rychlost) a druhou nechají konstantní, nebo budou upravovat velikost obou veličin (čas i rychlost). 6. Stejně je potřeba odladit každou otočku – změnu směru jízdy. Opět je pouze na žácích/týmech, jaký způsob regulace otočky použijí. 7. I kdyby všichni žáci/týmy pracovali na stejných drahách (obrazcích), bude každý program jedinečný – díky volbě rychlosti a doby jízdy v každé fázi dráhy. 8. Po vytvoření programu žáci vloží obrázek programu do pracovního listu (bod A). 9. Po dokončení a uložení pracovního listu doporučuji PŘESTÁVKU na regeneraci a uvolnění a případné vzájemné předvedení.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 32
Pozn. 2: Je lepší nechat vzájemné předvádění na žácích a neorganizovat jim ho. Bez pomoci lektora většinou diskutují o řešení a hodnotí práci svou i druhých. 10.Žáci si na nové VI vytvoří program pro další obrazec, který dostali od lektora. Robot má tentokrát projet dráhu pomocí jízdy dozadu. Pro jízdu dozadu je vhodnější použít lehčí dráhy (obrazce) s maximálně dvěma zlomy. 11.Opět je pro každou čáru nutno odzkoušet – nastavit správnou rychlost pomocí záporného čísla a čas jízdy. Je na žácích/týmech, zda budou upravovat velikost jen jedné veličiny (čas nebo rychlost) a druhou nechají konstantní, nebo budou upravovat velikost obou veličin (čas i rychlost). Většina žáků/týmů se v této variantě pokouší o rychlejší regulaci délky pomocí obou veličin nebo způsobem, který je jim bližší. Občas i podle spolužáků, jako výsledek diskuse o přestávce. 12.Stejně je potřeba odladit každou otočku – změnu směru jízdy. Opět je pouze na žácích/týmech, jaký způsob regulace otočky použijí. Pozn. 3: Zatáčení (změna směru jízdy) při jízdě dozadu je mnohem složitější na orientaci (který motor zapnout a který ne). Proto je pomoc lektora pomocí dotazů žádoucí – viz následující bod. 13.Lektor se žáků může dotazovat, který motor při jízdě dozadu při otáčení požadovaným směrem zapnout a který nechat vypnutý. 14.Žáci si do pracovních listů doplní obrázek programu k bodu B. 15.Žáci mají za úkol samostatně si nakreslit nebo lepicí páskou na zemi vytvořit vlastní dráhu. Je dobré dát jako podmínky maximálně tři čáry a dvě změny směru. 16.Po vytvoření obrazce začnou žáci/týmy na novém VI vytvářet program jízdy robota dopředu po své dráze. Lektor jen dohlíží a do programování žáků/týmů nezasahuje. 17.Po dokončení programu a odzkoušení jeho konečné podoby si žáci vloží obrázek programu do pracovního listu – bod C.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 33
18.Pokud je žák/tým rychlejší než ostatní, může program rozšířit o jízdu zpět. 19.Lektor by měl dbát na to, aby žáci nezapomínali vkládat obrázky programů do pracovního listu, programy si vhodně pojmenovávat a ukládat je na vyhrazené místo na PC. 20.Pro rychlé programátory obsahuje pracovní list BONUS, jehož úkolem je doplnit jízdu dopředu po vlastní dráze o jízdu zpět. Je jen na žákovi/týmu, zda pojede pozadu, anebo zda se na konci otočí a pojede popředu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 34
4) Reflexe 1. Žáci sami odpovídají na otázky v pracovním listu podle vlastních zkušeností z průběhu lekce. Cíl aktivity Učit se hodnotit vlastní práci podle objektivních i subjektivních parametrů. Předvést program pro jízdu po dráze obrazce.
2. Pokud je dostatek času, je dobré nechat žáky/týmy předvést jednu z jejich tří (čtyř) jízd po dráze obrazce. Je možno ocenit nejrychlejší, nejpřesnější, nejzáludnější, nejkratší, nejdelší atd., aby byla vyzvednuta přednost každé jízdy (sušenka či něco zdravějšího pro všechny).
15 min. Pomůcky Pracovní list č. 3, tužky, roboti s nahranými programy.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 35
5)Problémový výklad Tato lekce je opakovací − je dobré opakovat a rozšiřovat znalosti programového prostředí LabVIEW. • Vytváření „serpentýny“ pro přehlednější tvorbu delších programů a přenos obrázků vytvořených programů do pracovního listu. • Ukládání a opětovné otevírání souborů vi jednou ze dvou variant. • Vyvolávání kontextové nápovědy a trénink jejího použití – rozvoj znalostí anglického jazyka – je dobré nenechat žáky příliš často používat překladač. • Chápat rozdíl mezi kliknutím levým a pravým tlačítkem myši na pin bloku – tahání čáry a vyvolání menu pro další akce. • Vytváření připojovaných konstant přímo pomocí vyvolaného menu po kliknutí pravého tlačítka myši na pin – připojovací bod bloku. • Vytváření propojení mezi bloky pomocí myši, která má při tomto ději podobu špulky (cívky) s drátem. • Připomínat, že okno čelního panelu nesmí být zavřeno (kliknutím na zavírání okna v pravém horním rohu), protože tím dojde k zavření celého programu, a tedy i okna Blokového diagramu. Ukazovat náhradní možnost zneviditelnění okna tak, že okno čelního panelu je možno minimalizovat na spodní lištu počítače, aby nebylo na ploše a nemátlo programátory. • Procvičovat používání desetinných čísel – bez jejich dobrého pochopení se žákům nepodaří přesně nastavit délku jízdy pří jízdě rovně a úhel otočení při změně směru jízdy. • Procvičovat využívání záporného celého čísla pro jízdu dozadu – v lekci se jízda dozadu používá i pro zatáčení (změnu směru jízdy), proto je potřeba zvládnout couvání a zatáčení při něm. Jedná se o dost složitou akci pro správné nastavení úhlu otočení. Především pro mladší studenty je použití záporných čísel nové a je potřeba jeho správnému využití věnovat zvýšenou pozornost. • Vložení definice motorů u bloku Motor-ON a Motor-OFF – tato akce je oproti dalším poněkud pomalejší, je potřeba naučit žáky chvilku počkat a neklikat rychle jinam. • Obsluha vytvořeného bloku pro definici motoru - výběr počtu motorů a jejich správná definice podle adresy připojení (A, B, C, resp. D u robota EV3). • Naučit žáky určit na robotu, do kterého komunikačního portu je který motor zapojený – bez této dovednosti nebudou schopni motory správně řídit. • Opakovat časovou souslednost bloků − vláček, nit s korálky. Tuto souslednost dějů je nutno mít zvládnutou – pro další lekci je to velmi důležité.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 36
JÍZDA ROBOTA DO ČTVERCE II
4. – 6. ročník ZŠ
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms.
pořadí probíhajícího cyklu s požadovaným počtem opakování. Tvorba programu robota simulující plazení hada s využitím cyklu While. Opakování je ukončeno stiskem tlačítka na robotovi. Programy budou sloužit pro motivaci jako ukázka výsledné práce na konci lekce.
Hlavní myšlenka lekce S použitím cyklu je možné opakovat určitou část programu. Opakování je řízeno počtem opakování – využití porovnávání. Zásadní otázky lekce Jak opakovat program automaticky? Jak nastavit počet opakování? Příprava lekce Tvorba programu pro jízdu robota do čtverce s využitím cyklu While. Počet opakování je řízen porovnáváním
A 150 min. 1. - 12.
Vstupní požadavky na žáky Základní znalost AJ a logické myšlení. Vazba na jiné lekce Využití robotů sestavených v 1. lekci a znalosti z 2. lekce – jízda robota dopředu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 37
1) Motivace 1. Lektor předvede žákům jízdu robota do čtverce a diskutuje s nimi nad možnostmi programování takové úlohy. Cíl aktivity Namotivovat žáky k práci a předvedením programu ukázat, co všechno se dnes naučí.
2. Lektor ukáže žákům i program jízdy robota simulující plazení hada.
10 min. Pomůcky PC, projektor, PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 38
2) Evokace
Cíl aktivity Ukázat potřebu opakování dějů, protože se jedná o velmi častý jev. Ukázat dva základní způsoby řízení ukončení opakování. 10 min.
1. Diskuse se žáky na téma opakování dějů. Jaké děje v životě v okolí se pravidelně opakují? • Hodiny na radnici bijí v určitou dobu a počty úderů se mění. • Budík zvoní každé ráno tak dlouho, než ho vypneme. Pozn.: Je potřeba dojít k poznání, že děje jsou buď řízeny počtem opakování, anebo jsou zastaveny nějakým podnětem. Jaké příklady z okolí použije, je na lektorovi, věžní hodiny a budík se osvědčily nejvíce.
Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3. Projektor, tabule, křídy/fixy.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 39
3) Uvědomění
Cíl aktivity Žáci se seznámí s cyklem While a se způsoby jeho ukončení počtem opakování – použití porovnání nebo tlačítkem. Procvičení použití Cyklu While – zkrácení programu pro jízdu do čtverce. 105 min. se dvěma 5min. přestávkami Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, pracovní list č. 4.
1. Žákům je rozdán pracovní list č. 4, do něhož si v průběhu lekce budou zapisovat odpovědi a vkládat obrázky programů. 2. Žákům je představen cyklus While a je jim popsána funkce ukončovacího kondicionálu, čísla i (iterace) – počet již proběhlých cyklů, a hranice cyklu – opakuje se vše, co je uvnitř. 3. Žáci vyplní bod A a B prvního oddílu pracovního listu. 4. Žáci se naučí používat iteraci i k řízení počtu opakování. Je potřeba, aby si uvědomili, že iterace ukazuje počet ukončených cyklu, proto je vždy o jednu menší než právě realizované opakování cyklu. 5. Žáci vyplní bod C prvního oddílu pracovního listu. 6. Žáci se seznámí s nabídkou palety Comparison v paletě Proframming a samostatně vypisují do bodu D prvního oddílu, která porovnání znají. 7. Lektor připomene žákům používání porovnání a naváže následujícím bodem. 8. Žákům je představen výstup/vstup typu Boolean. Zda použije pravda/lež, platí/neplatí, ON/OFF nebo zapnuto/vypnuto, je jen na lektorovi a znalostech žáků. Někdy je potřeba použít více způsobů vysvětlení, protože žáci chápou věci různě podle svého domácího prostředí. 9. Z palety I/O si na plochu žáci položí blok Sensor a změní ho výběrem z menu na tlačítka volbou Read Brick Buttons. 10.Žáci vyplní bod F prvního oddílu pracovního listu. 11.Po výukové části je doporučena přestávka. 12.Žáci samostatně vytvoří algoritmus pro jízdu do čtverce – jízda dopředu a otočka doplněná o počet opakování a doplní ho do bodu A druhé části pracovního listu. 13.Před programováním je potřeba ukázat žákům, že je na nich, zda nejprve vytvoří cyklus a do jeho nitra staví program, anebo nejprve vytvoří program a pak ho „uzavřou“ do těla cyklu While.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 40
14.Určení rychlosti a času pro jízdu dopředu a při zatáčce by neměl být pro žáky problém, Pokud nad nimi příliš přemýšlí, je dobré, aby jim byl připomenut program z lekce 3, který si mohou otevřít, a čas a rychlost opsat, anebo mohou otevřít pracovní list 3 a opsat nastavení času a rychlosti pro zatáčku do pravého úhlu z něj. Pozn.: Použitím dříve vytvořeného programu nebo pracovního listu si žáci /týmy uvědomí, že je dobré si programy ukládat a že pracovní listy mohou sloužit jako připomínka již odzkoušených nastavení motorů robota. 15.Volbu postupu při programování již nechá lektor na žácích/týmech a jen obchází a kontroluje postup prací. 16.V této části programování je potřeba nechat žáky/týmy samostatně odzkoušet, jaké porovnání a jakou konstantu pro porovnání s hodnotou iterace použít. Již v algoritmu by měli mít napsán jako bod 3 počet opakování cyklu. Pokud tam tento bod nemají, je dobré je na to upozornit, aby tuto informaci doplnili. Slouží jim k tomu, aby si s použitím bodu C (první části bodu jedna pracovního listu) uvědomili správnou volbu konstanty. 17.Po odzkoušení programů v robotech a konečném nastavení je potřeba vložit obrázek programu do bodu B druhé části pracovního listu. 18.Po dokončení práce je dobré dát žákům opět 5 minut přestávku, během níž se většinou mezi žáky rozproudí diskuse na téma „použití cyklu“. 19. Žáci/týmy si otevřou nové VI a sami vytvoří algoritmus pro jízdu robota, který simuluje plazení hada. Jde v podstatě o střídání zatáčení doleva a doprava, kdy není nikdy žádný motor úplně zastaven. 20.Žáci/týmy vytvoří samostatně program pro simulaci jízdy robota jako hada. Tento program netrvá žákům/týmům většinou dlouho; žáci se většinou snaží několikrát změnit rychlost motorů, aby byla podoba pohybu robota jako had co nejdokonalejší. Proto je dobré pro tuto úlohu stanovit určitý čas – např. 10 minut na programování a testování.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 41
4) Reflexe 1. Žáci sami odpovídají na otázky v pracovním listu podle vlastního nastavení jízdy robota.
Cíl aktivity Zopakovat si použití cyklu a způsobů jeho ukončování. Ukázat variabilitu programování při plnění úkolu. 15 min. Pomůcky Pracovní list č. 2, tužky, roboti s nahranými programy.
2. Samostatně se snaží zhodnotit vlastní práci a určit si, co je pro ně těžší. 3. Lektor dotazováním zjišťuje, co je pro koho obtížnější, aby se na tyto aktivity mohl více soustředit. 4. Lektor dotazováním opakuje a upevňuje znalosti o používání cyklu While a způsobech jeho ukončování. •
K čemu slouží cyklus While?
•
Jakým způsobem můžeme ukončit cyklus While?
•
Jak docílíme přesného počtu opakování cyklu?
•
Jak změníme blok „Senzor“ na tlačítka robota?
5. Žáci/týmy předvedou své jízdy robotů simulující plazení hada. Demonstraci je možno provádět jednotlivě, anebo i všech najednou z jednoho startovacího místa, pokud to učebna dovoluje. Tak je lépe vidět rozdíly, a je třeba nechat na žácích, aby určili „nejdokonalejší“ plazení.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 42
5)Problémový výklad V této lekci se žáci seznamují s cyklem While. LabVIEW má dva typy cyklu. Cyklus For Loop, který je primárně určen pro cykly s konečným počtem opakování, a cyklus While, který je ukončován podmínkou. Protože jsou výběr a změny cyklů poměrně složité, používáme pro žáky pouze cyklus While. Pro nastavení konečného počtu opakování u cyklu While se dá použít hodnota iterace, která ve všech typech cyklů udává počet již ukončených opakování. Porovnáním počtu ukončených opakování s konstantou můžeme rozhodovat o ukončení cyklu daném počtem opakování. Konstantu je nutno volit o jednu menší, než je požadovaný počet opakování cyklu. Používání iterace a porovnávání k ukončení cyklu While je nutné opakovat a průběžně kontrolovat, zda žáci správně chápou, jakých hodnot iterace v průběhu vykonávání programu nabývá – jak se tato hodnota mění. Dále se v této lekci žáci seznamují s novým blokem „Senzor“ z knihovny I/O, který se naučí pomocí rozbalovacího menu změnit na tlačítka robota na jeho řídicí kostce. Tím se seznamují s dalším typem proměnné – Boolean. Je potřeba tento typ proměnné žákům důsledně vysvětlit. Většinou je vysvětlení přes tlačítko nejjednodušší, protože tlačítka děti znají a jsou součástí jejich domácího prostředí. POZOR: Při použití bloku Senzor se žáci většinou začnou zajímat, co všechno tento blok může udělat, na co se dá změnit. Je dobré tyto dotazy utnout hned, jak vyvstanou, a odkázat žáky na to, že se tento blok naučí používat v dalších funkcích v následujících lekcí. Pokud se lektor pustí do diskuse a vysvětlování, ztratí spoustu času a při dalších lekcích bude stejně muset vše opakovat. Pro tuto lekci je důležitá jen změna na tlačítka robota. Při lekci vyvstane nutnost otevřít program z třetí lekce, je proto vhodné zopakovat postup při otevření souboru s příponou vi. • Žákům je potřeba zopakovat postup otevření okna Blokového diagramu. Je možno ukázat buď otevření pomocí volby Show Block Diagram v nabídce Windows, nebo otevření pomocí klávesové zkratky Ctrl+E. Je na volbě lektora, který způsob mu přijde pro žáky srozumitelnější. • Je nutné znovu upozornit žáky, že okno čelního panelu nesmí být zavřeno (kliknutím na zavírání okna v pravém horním rohu), protože tím dojde k zavření programu, a tedy i okna Blokového diagramu. Při vytváření druhého programu (had) je vhodné zmínit, že průchodům přes hranici cyklu se říká Tunel a že si cyklus při spuštění načte do vstupních tunelů hodnoty. Hodnoty do výstupních tunelů jsou ale načteny až při ukončení cyklu. Barvy označující typ proměnné se v této lekci rozšířily. Kromě modré, oranžové a růžové budou od této lekce žáci znát ještě zelenou označující typ Boolean.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 43
JÍZDA PODLE OBRAZCE II
4. – 6. ročník ZŠ
B 150 min. 1. - 12.
Prostředí PC učebna s nainstalovaným programem LabVIEW, min. verze 2012 SP1, a modulem pro roboty LEGO MindStorms. Hlavní myšlenka lekce Robot jede podle čáry po obrazci jen při dodržení správného algoritmu, správném nastavené cyklu While Loop a správném nastavení bloků. Zásadní otázky lekce Dokáže robot kopírovat pravidelný obrazec pomocí času a rychlosti jízdy a cyklu While Loop? Příprava lekce Tvorba různých pravidelných geometrických obrazců na papír velikosti A2, ideálně lepicí páskou resp. silnou fixou. Případně je možné lepicí páskou vytvořit obrazce na podlaze učebny – obrazce jen s rovnými čarami a ostrými rohy. Počet obrazců by měl být alespoň o 1
větší, než je počet žáků nebo týmů v kurzu. Doporučené obrazce: rovnoramenný trojúhelník; čtverec; pravidelný pětiúhelník, pravidelný šestiúhelník. Obrazce lze vytvořit v několika velikostech. Volné papíry A2 a lepicí páska, resp. silnější fixy pro tvorbu individuálních obrazců žáky, nebo jen lepicí páska (elektrikářská), pokud ji mohou lepit na zem učebny. Tvorba programu pro jízdu robota po jedné dráze vytvořeného obrazce. Program bude sloužit pro motivaci a jako ukázka výsledné práce na konci lekce. Vstupní požadavky na žáky Základní znalost AJ a logické myšlení. Vazba na jiné lekce Využití robotů sestavených v 1. lekci a znalost předchozích lekcí – přesné nastavení funkce bloků motoru a času, znalost cyklu While Loop.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 44
1) Motivace
Cíl aktivity Namotivovat žáky k práci a předvedením programu ukázat, co všechno dnes vytvoří. 10 min.
1. Lektor předvede žákům jízdu robota podle čáry pravidelného obrazce. Je potřeba znovu zdůraznit, že robot čáru stále ještě neregistruje, nijak ji „nevidí“, a je řízen jen programem s využitím cyklu While Loop. Toto tvrzení je vhodné dokázat při opakovaném spuštění programu jízdy robota na volné podlaze, kde robot opět objede stejný pravidelný obrazec, pro který je naprogramován, a na podlaze přitom obrazec vůbec není.
Pomůcky PC, projektor, PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 45
2) Evokace
Cíl aktivity Žáci opakují znalosti z předchozích lekcí. 10 min. Pomůcky Projektor, tabule, křídy/fixy, papíry s testem.
1. Lektor se dotazuje na způsoby řízení motorů robota a znalosti programování. Doporučujeme žákům dát závěrečný test (jedná se o poslední lekci kurzu) a na závěr kurzu nejlepší výsledky odměnit. 2. Příklady možných otázek: a. výběr z možností o Jaký blok je použit pro jízdu robota? o Jaký blok motor zastaví? o Jak nastavíme rychlost motoru dopředu a jak dozadu? o Která značka zastavuje cyklus While Loop? b. Jak se stanoví doba jízdy robota? c. Pokud pojede dopředu jen pravý motor, na kterou stranu robot zatočí? d. Jakou barvu mají celá čísla? e. Co nám říká oranžová barva? f. Co znamená zelená barva? g. Jak můžeme zastavit cyklus While Loop? h. Jaké bloky použijeme pro jízdu robota dopředu? Vyjmenuj je podle pořadí použití.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 46
3) Uvědomění
Cíl aktivity Procvičení znalostí z programování a algoritmizace předchozích lekcí. 105 min. s jednou 10min. přestávkou Pomůcky PC s nainstalovaným programem LabVIEW, min. 12 SP1, a sestavený robot LEGO NXT nebo EV3, projektor, pracovní list č. 5, listy papíru s pravidelnými obrazci nebo obrazce vytvořené lepicí páskou na podlaze, lepicí páska nebo volné papíry a fixy pro žáky.
1. Lekce je ryze opakovací a slouží k procvičení znalostí a praktických dovedností získaných v předchozích dvou lekcích. Součástí je i plně samostatná práce žáků/skupin na tvorbě vlastního programu. 2. Žákům je rozdán pracovní list č. 5, kam si v průběhu lekce budou zapisovat odpovědi a vkládat obrázky programů. 3. Žáci postupně vytvářejí program pro jízdu robota podle čáry pravidelného obrazce na přiděleném listě papíru nebo podle přiděleného obrazce na podlaze učebny. Robot má jet dopředu a pro tvorbu MUSÍ být použit cyklus While Loop se správným počtem opakování. 4. Lektor pouze kontroluje práci a případně napomáhá dotazy a odkazy na předchozí práci – programy a postupy v předchozích lekcích kurzu. V případě, že žák/tým skutečně neví, jak dál, poradí lektor další krok, ale měl by poskytnout co nejmenší nápovědu, nebo spíš jen vizi – co dělat dál. 5. Jízdu po čáře je nutno odzkoušet – nastavit správnou rychlost a čas jízdy. Je na žácích/týmech, jaký styl odladění jízdy použijí (rychlost, čas, kombinaci obou veličin). 6. Stejně je potřeba odladit otočení k další čáře – změna směru jízdy. Opět je pouze na žácích/týmech, jakým způsobem nastavení otočení použijí. 7. Lektor musí trvat na tom, aby při tvorbě programu byl použit cyklus While Loop. Pozn. 1: I kdyby všichni žáci/týmy pracovali na stejných drahách (pravidelných obrazcích), bude každý program originál právě díky volbě rychlosti a doby jízdy. Toto bylo již uvedeno a jistě odzkoušeno v předminulé lekci. Tím je programování robotů jedinečné, protože i při tvorbě stejných typů programů (kde je dáno stejné zadání, ale ne konkrétní hodnoty nastavení) vznikají pokaždé zcela nové a originální programy, a později (při rozšíření znalostí postupů programování a dalších struktur) budou originální i postupem.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 47
8. Po vytvoření programu žáci vloží obrázek programu do pracovního listu bod A. 9. Po dokončení práce a uložení pracovního listu i programu na úložiště v PC doporučujeme PŘESTÁVKU na regeneraci a uvolnění a případné vzájemné předvedení výsledných programů jízdy robota. Při vyhlašování přestávky je vhodné oznámit, že po přestávce si budou moci žáci naprogramovat robota pro svou vlastní libovolnou jízdu a že by si měli promyslet a prodiskutovat s kolegy algoritmus – jak bude robot jezdit. 10.Žáci si mají samostatně nebo v týmu vymyslet vlastní algoritmus pro jízdu robota. 11.Lektor jen kontroluje procházením mezi pracovišti, zda je algoritmus realizovatelný se znalostmi programování v LabVIEW, které žáci mají. 12.Žáci si na nové VI vytvoří program podle svého algoritmu. Veškeré postupy programování jsou jen na nich a lektor by měl jen dohlížet, zda práce pokračují. Pokud se nějaký žák/tým dostane do nesnází, že neví, jak nějakou věc naprogramovat, může lehce poradit, ale spíše odkazem, nebo navrhnout změnu. Rozhodně by lektor neměl doplňovat znalosti žáků o další vědomosti, které nejsou předmětem tohoto základního kurzu programování. 13.Po dokončení programu a odzkoušení jeho konečné podoby si žáci vloží obrázek programu do pracovního listu – bod C.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 48
4) Reflexe
Cíl aktivity Učit se hodnotit vlastní práci podle objektivních i subjektivních parametrů. Předvést program pro jízdu po dráze obrazce.
1. Žáci sami odpovídají na otázky v pracovním listu podle vlastních zkušeností z průběhu lekce. 2. Lektor vyhodnotí závěrečný test psaný na začátku lekce a odmění nejlepší absolventy oceněním jejich teoretických znalostí. 3. Žáci/týmy postupně předvádějí své vlastní programy a následně by měli být všichni odměněni. Zda to je za dobu jízdy, originalitu, kreace robota nebo další parametry, záleží jen na lektorovi.
25 min. Pomůcky Pracovní list č. 5, roboti s nahranými programy.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 49
5)Problémový výklad Tato lekce je závěrečná a zároveň opakovací, proto v jejím průběhu doporučujeme opakovat a rozšiřovat znalosti programového prostředí LabVIEW získané v tomto úvodním kurzu programování robotů LEGO MindStorms NXT nebo EV3 obdobně, jako tomu bylo v předminulé lekci. Hromadné opakování doporučujeme pouze v první polovině, nezasahovat již do druhé poloviny po přestávce, kdy žáci/týmy tvoří vlastní algoritmus. Tam již jen individuálně navrhovat nebo odkazovat na předchozí lekce. Proto je potřeba zopakovat především tyto partie: • Ukládání a opětovné otevírání souborů vi jednou ze dvou variant. • Vyvolávání kontextové nápovědy a trénink jejího použití – rozvoj znalostí anglického jazyka – je dobré nenechat žáky příliš často používat překladač. • Kliknutí pravého tlačítka myši na pin (připojovací bod) bloku umožní tažení spoje (čáry) daného datového typu – změna obrázku myši na „špulku s drátem“. • Kliknutí levého tlačítka myši na pin (připojovací bod) bloku vyvolá menu pro další akce a slouží např. k vytváření připojovaných konstant. • Připomínat, že okno čelního panelu nesmí být zavřeno, protože tím dojde k zavření celého programu. Čelní panel se „uklízí“ pouze minimalizací na spodní lištu obrazovky. • Kladná a záporná čísla pro rychlost motoru určují směr jízdy robota. • Naučit žáky i u sestaveného robota určit na robotu, do kterého komunikačního portu (konektoru) je který motor zapojený – bez této dovednosti nebudou schopni motory správně řídit. • Obsluha vytvořeného bloku pro definici motoru – výběr počtu motorů a jejich správná definice podle konektoru připojení – POZOR: NXT motor D nezná!! • Opakovat souslednost bloků – vláček, nit s korálky. Opakovat, že program je řízen tokem dat a ne prováděním bloků zleva doprava nebo shora dolů.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 50
Úvod Odpověz na otázky. Můžeš použít nejen psaní ve větách, ale třeba seznam důvodů nebo seznam přání a plánů, které chceš v kurzu s robotem provádět. Proč sis vybral/a tento kurz?
Co se v tomto kurzu chceš dozvědět nebo naučit?
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 51
Pracovní list č. 1 Téma: Jízda robota dopředu
1. SEZNÁMENÍ SE ZÁKLADY PROGRAMOVÁNÍ V LabVIEW – spolupracujte ve skupinách
A) Jaké dvě části má prostředí LabVIEW a kterou budeme používat? a) b) B)Popiš funkci bloku na obrázku: 1–
Popiš, co se připojuje
k vstupům/výstupům pod čísly: 1– 2– 3– 4– C)Jaký způsob nahrávání programu do robota nám tato tlačítka umožňují?
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 52
D) Popiš funkci bloku na obrázku: Popiš, co se připojuje ke vstupům/výstupům pod čísly: 1– 2– 3– E) Popiš funkci bloku na obrázku: Popiš, co se připojuje ke vstupům/výstupům pod čísly: 1– 2– 3–
2. PROGRAMOVÁNÍ MOTORŮ ROBOTA – individuální práce A) Vytvoř program pro jízdu dopředu s použitím tří známých bloků. Čas jízdy: Vlož sem obrázek vytvořeného programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 53
B) Vytvoř program pro jízdu doleva. Čas jízdy: Vlož sem obrázek vytvořeného programu.
C) Vytvoř program pro jízdu doprava, Čas jízdy: Vlož obrázek vytvořeného programu.
3. BONUSY pro úspěšné rychlotvůrce předchozích programů: A) Vytvoř program jízdy robota podle následujícího postupu (algoritmu): •
jede dopředu po dobu 4 sekund rychlostí 73
•
zatočí doprava rychlostí 42 po dobu 2 sekund
Vlož obrázek svého programu
B) Vytvoř program jízdy robota podle následujícího postupu (algoritmu): •
zatočí doleva po dobu 1 sekundy rychlostí 78
•
čeká 4 sekundy
•
jede dopředu rychlostí 100 po dobu 1 sekundy
Vlož obrázek svého programu:
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 54
1. Prezentuj program z části Bonus nebo program, který se ti nejvíce povedl.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 55
Pracovní list č. 2 Téma: Jízda robota dozadu a do čtverce
1. SEZNÁMENÍ SE ZÁKLADY PROGRAMOVÁNÍ V LabVIEW – spolupracujte ve skupinách F) Napiš k číslům konkrétní příklady, co se k číslům připojuje, když chci, aby robot jel dozadu: 1– 1– 2– 3– 4–
G) Popiš slovně, co se připojuje k vstupu 3, když chci, aby byla doba jízdy robota přesnější: 3–
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 56
H) Napiště konkrétně, co se připojují k vstupu 3, když chci, aby byla doba jízdy robota přesnější: 3–
2. PROGRAMOVÁNÍ MOTORŮ ROBOTA – individuální práce D) Vytvoř program pro jízdu dozadu s použitím 3 známých bloků z minulé lekce. Rychlost jízdy:
Čas jízdy:
Vlož sem obrázek vytvořeného programu.
E) Zvol si, zda budeš programovat robota pro jízdu doleva nebo doprava. Vytvoř program pro zvolenou jízdu. Použij přesnější čas jízdy: Vlož sem obrázek vytvořeného programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 57
F) Vytvoř program pro jízdu robota tak, aby se otočil do pravého úhlu. Vlož obrázek vytvořeného programu.
G) Vytvoř program podle následujícího postupu, rychlost a čas pro zatáčení si zvol tak, aby byly splněny podmínky zatáčení: • robot jede dopředu po dobu 4 sekundy • robot zatočí do pravého úhlu 3. BONUSY pro úspěšné rychlotvůrce předchozích programů: C) Vytvoř postup pro jízdu robota do čtverce •
doplň
•
doplň
D) Podle postupu naprogramuj svého robota pro jízdu do čtverce a vlož sem obrázek svého programu.
2. Podařilo se odladit rychlost a čas pro otočku do pravého úhlu? 3. Jaké hodnoty rychlosti a času jsi použil/a? Rychlost:
Čas:
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 58
4. Prezentuj výsledky svého posledního programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 59
Pracovní list č. 3 Téma: Jízda podle obrazce
1. PROGRAMOVÁNÍ ROBOTA – individuální práce H) Vytvoř program A pro jízdu dopředu podle čáry na archu papíru nebo podlaze přidělené lektorem. Vlož sem obrázek čáry (od lektora nebo vlastní foto). Rychlost a čas jízdy dopředu si zvol sám.
Vlož sem obrázek vytvořeného programu.
I) Vytvoř program B pro jízdu podle čáry na archu papíru nebo podlaze přidělené lektorem. Vlož sem obrázek čáry (od lektora nebo vlastní foto). Rychlost a čas jízdy dozadu si zvol sám.
Vlož sem obrázek vytvořeného programu.
J) Namaluj si na papír nebo vytvoř z rovných čar na podlaze páskou vlastní obrazec. Vlož sem obrázek čáry (vlastní foto).
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 60
Vytvoř program pro jízdu robota podle čáry. Rychlost, čas a směr jízdy robota si zvol sám. Vlož obrázek vytvořeného programu.
2. BONUSY pro úspěšné rychlotvůrce předchozích programů: E) Vytvoř program pro jízdu robota po vlastní čáře (bod 1 C) tam a zpět. Vlož sem obrázek svého programu
5. Který program je nejdelší?
6. Který program byl tvořen nejdéle?
7. Prezentuj výsledky svého posledního programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 61
Pracovní list č. 4 Téma: Jízda do čtverce II
1. SEZNÁMENÍ SE ZÁKLADY PROGRAMOVÁNÍ V LabVIEW – spolupracujte ve skupinách I) K čemu se cyklus v programu používá?
J) Popiš, k čemu se používají části bloku cyklu While:
1– 2– 3–
K) Jak se mění hodnota čísla 1. průběh –
má hodnotu:
2. průběh –
má hodnotu:
v cyklu While?
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 62
3. průběh –
má hodnotu:
L) Prohlédni si knihovnu Comparation (porovnání). Které matematické operace znáš? • doplň český název: • doplň český název: •
doplň český název:
M) Jakých hodnot může nabývat vstup/výstup typu Boolean (zelená čára)? •
doplň:
•
doplň:
N) Popiš, k čemu se používají části bloku Tlačítko robota 1a2– 3– 4–
2. PROGRAMOVÁNÍ ROBOTA – individuální práce F) Vytvoř postup (algoritmus) pro jízdu robota do čtverce s využitím cyklu While: •
doplň:
•
doplň:
G) Podle algoritmu naprogramuj svého robota pro jízdu do čtverce s využitím cyklu While a vlož obrázek svého programu.
H) Vytvoř algoritmus (postup) pro program jízdy, jako se plazí had: •
doplň:
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 63
•
doplň:
I) Podle algoritmu v bodě C) naprogramuj svého robota pro jízdu s využitím cyklu a vlož obrázek svého programu.
8. Podařilo se odladit program pro jízdu robota, jako když se plazí had? 9. Vyber, co je pro tebe těžší: a. vymyslet postup (algoritmus) programu b. vytvořit program pro jízdu robota Odpověď: 10.
Prezentuj výsledky svého posledního programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 64
Pracovní list č. 5 Téma: Jízda podle obrazce II
1. PROGRAMOVÁNÍ ROBOTA – individuální práce K) Vytvoř program pro jízdu dopředu podle čáry pravidelného obrazce na archu papíru nebo podlaze přidělené lektorem. Vlož sem obrázek čáry (od lektora nebo vlastní foto). Rychlost a čas jízdy dopředu si zvol, pro opakování použij potřebný počet cyklů.
Vlož sem obrázek vytvořeného programu.
L) Vymysli algoritmus vlastního programu pro jízdu robota. Rychlost, čas a směr jízdy robota, případné opakování s použitím cyklu nebo tlačítek robota si zvol podle vlastního uvážení. • doplň: • doplň: • doplň: M) Vlož sem obrázek vytvořeného programu:
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011
Ing. Lenka Kretschmerová, Ph.D., Ing.-Pead. IGIP: Programování robotických stavebnic II.strana 65
11.
Popiš několika větami, co dělá robot v posledním programu.
12. Prezentuj výsledky svého posledního programu.
Vzdělávání pro efektivní transfer technologií a znalostí v přírodovědných a technických oborech, reg. číslo CZ.1.07/2.3.00/45.0011