Skip to main content

Programování dvou tlačítek

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele - Účel této aktivity

Na předchozí stránce student naprogramoval rameno tak, aby se otočilo pomocí tlačítka Brain Up. Tato stránka bude navazovat na předchozí projekt a také naprogramuje rameno tak, aby se otáčelo pomocí tlačítka Brain Down.

VEXcode IQ Pokud pak jinak blokuje z panelu nástrojů

Tato aktivita seznámí studenty s programováním pomocí bloků [If then else] a také s použitím snímacích a ovládacích bloků, aby robot zkontroloval, zda jsou stisknuta tlačítka Brain Up nebo Down. Pokud stisknete tlačítko Brain Up, zvedne se paže Clawbota. Pokud stisknete tlačítko Brain Down, paže Clawbota se spustí. Tím se navazuje na předchozí aktivitu a také se nastaví základy pro výzvu uživatelského rozhraní v sekci Přehodnocení.

Pro výzvu uživatelského rozhraní budou studenti muset naprogramovat svého Clawbota, aby zvedl ruku, spustil ruku, otevřel dráp a zavřel dráp pomocí tlačítek na IQ Robot Brain.

Další informace o stisknutém tlačítku [If then], [If then else]>, <Brain nebo blocích [Spin] naleznete v nápovědě v rámci VEXcode IQ. Další informace o tomto vestavěném nástroji nápovědy získáte kliknutím sem.

Níže je uveden přehled toho, co budou vaši studenti v této aktivitě dělat:

  • Pomocí stávajícího nástroje ArmUp2 vytvořte dodaný  projekt ArmUpDown a předvídejte, co projekt udělá.
  • Prohlédněte si vývojový diagram, který vám pomůže vysvětlit tok bloků v projektu.
  • Upřesněte jejich vysvětlení toho, co  projekt ArmUpDown dělá.
  • Podívejte se na výukové video If Then Else Blocks.
  • Upravte jejich projekt pomocí bloků [If then else].
  • Stop and Discuss: Studenti budou přemýšlet o svých předpovědích o tom, co bude projekt dělat Clawbot ve srovnání s jejich skutečnými pozorováními.
  • Naprogramujte dráp pomocí stejného obrysu projektu z programování ramene.
Požadované materiály:
Množství Potřebný materiál
1

VEX IQ Super Kit

1

VEXcode IQ

1

Technický poznámkový blok

1

Šablona Clawbot (hnací ústrojí)

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele

Návrhy na výukové strategie pro tuto část naleznete ve sloupci Dodání v příručce Co dělat nebo nedělat (Google / .docx / .pdf).

Rameno Clawbota je připraveno k pohybu nahoru a dolů!

Tato aktivita vám poskytne nástroje pro naprogramování vašeho robota s podmíněným chováním.
 Blok [If then else] je hlavním zaměřením v rámci aktivity, ale používají se také další bloky snímání, řízení a obsluhy.

Vzorové bloky z VEXcode IQ Toolbox - Stisknuto tlačítko Brain, nikoli operátor, počkejte do, pokud ano, a pokud ano, pak bloky else.

Informace o blocích můžete získat pomocí nápovědy uvnitř VEXcode IQ. Pokyny k používání funkce Nápověda naleznete v nápovědě k použití nápovědy.

VEXcode IQ Toolbar s ikonou Tutorials vyvolanou v červeném rámečku vpravo od nabídky File (Soubor).

Ikona Tipy pro učitele Tipy pro učitele

Pokud je to student poprvé, co používá VEXcode IQ, může se také podívat na Tutoriály v panelu nástrojů a naučit se další základní dovednosti.

VEXcode IQ Toolbar s ikonou Tutorials vyvolanou v červeném rámečku vpravo od nabídky File (Soubor).

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele

Projekt, který studenti výše postaví, bude fungovat. Po stisknutí tlačítka Brain Up se rameno otočí nahoru a po stisknutí tlačítka Brain Down se rameno otočí dolů. I když projekt funguje tak, jak je, není optimálně napsán. Může nastat situace, kdy mohou platit obě podmínky současně. Všimněte si také, že od okamžiku, kdy je stisknuto tlačítko Brain Up, je nejprve stisknuto tlačítko Brain Up, pokud je tlačítko Brain Up podrženo a poté je také stisknuto tlačítko Brain Down, rameno se bude i nadále otáčet nahoru. Tato akce se nezastaví, dokud nebude uvolněno tlačítko Brain Up. Projekt bude tedy v dalším kroku přepsán tak, aby zahrnoval blok [Pokud jinak], aby se předešlo těmto potenciálním problémům.

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele - Zastavit a diskutovat

Nyní, když studenti projekt otestovali, zeptejte se jich, jak se jejich předpovědi srovnávají s jejich pozorováními. Usnadněte diskusi položením následujících otázek:

  • Byla vaše předpověď stejná jako vaše pozorování?

  • Co se zdá být v projektu šťastné?

  • Jsou podmínky tlačítek Nahoru a Dolů zaškrtnuty pouze jednou?

  • Myslíte si, že by projekt mohl být reorganizován tak, aby fungoval efektivněji?

Krok 2: Pochopení průběhu projektu.

V předchozím kroku projekt zvedl a spustil rameno. Vzhledem k tomu, že je však nejprve stisknuto tlačítko Brain Up, pokud je tlačítko Brain Up podrženo a poté je také stisknuto tlačítko Brain Down, rameno se bude nadále otáčet, protože tato akce se nezastaví, dokud nebude tlačítko Brain Up uvolněno. Zobrazit následující vývojový diagram, který vysvětluje tok projektu.

Obrázek toku projektu znázorňující, jak je projekt prováděn, aby bylo učiněno rozhodnutí. Pokud je stisknuté tlačítko brain up označeno jako podmínka, pokud je stisknuto/True, pak budou bloky pod ním běžet v pořádku až do další podmínky. Pokud není stisknuto/false, červená čára označuje, že bloky jsou přeskočeny a projekt se přesune, aby zkontroloval druhou podmínku. Stejné větvení nastává pro druhou podmínku - pokud je stisknuto tlačítko mozku dolů.

Projekt tak může nahradit bloky [If then] bloky [If then else] , takže vždy může být pravdivá pouze jedna instance.

Podívejte se na následující výukové video o blocích [If then else]:

Začněte sledováním videa If-Then-Else Tutorial ve VEXcode IQ.

Ikona návodu zní If then else blocks at the bottom and shows the outline of blocks at the top.

Pomocí bloků [If then else] se také zbavíte potřeby bloků [Wait until], protože rameno se bude nadále otáčet, dokud nebude uvolněno tlačítko Brain Up. K tomu dochází, protože část „else“ [Pokud jinak] není nikdy dosažena, dokud není podmínka tlačítka Brain Up nepravdivá (uvolněna).

 Blok [Forever] umožňuje průběžnou kontrolu první podmínky.

Projekt VEXcode IQ s věčnou smyčkou připojenou k bloku Kdy začalo. Uvnitř smyčky Forever je blok if then else. Stiskněte tlačítko If Brain Up (Pokud větev čte) a poté spusťte motor ramene. Větev else obsahuje jiný blok, pokud je blokován jinak, čtení, pokud je stisknuto tlačítko Brain Down, pak spusťte motor ramene dolů, jinak zastavte motor ramene.

Pojďme prozkoumat změnu projektu přidáním bloků [If then else]. Motor ramene se bude nadále otáčet, dokud nebude tlačítko Brain Up již stisknuto (uvolněno). Vzhledem k bloku [Forever] bude tato podmínka nadále kontrolována, dokud nebude nepravdivá.

Jakmile je stav tlačítka Brain Up falešný, projekt bude pokračovat do dalšího bloku, což je kontrola stavu, pokud je stisknuto tlačítko Brain Down. Pokud je stav stisknutého tlačítka Brain Down pravdivý, rameno se otočí nahoru. Opět platí, že kvůli bloku [Forever] bude tato podmínka nadále kontrolována, dokud nebude nepravdivá.

Jakmile je stav tlačítka Brain Up nepravdivý, projekt bude pokračovat do dalšího bloku, kterým je blok [Stop motor]. Motor ramene se tedy zastaví pouze tehdy, když jsou obě podmínky falešné (není stisknuto žádné tlačítko).

Obrázek toku projektu znázorňující, jak je projekt prováděn, aby bylo učiněno rozhodnutí. Nejprve je zaškrtnuta podmínka Pokud je stisknuto tlačítko Brain up, pokud je to pravda, projekt se posune tak, aby otočil motor ramene nahoru a vrátil se na začátek. Pokud je podmínka nepravdivá, je zaškrtnuta druhá podmínka stisknutého tlačítka Brain down. Pokud je stisknuto tlačítko mozku dolů/true, motor točivého ramene běží dolů a pak se vrátí na začátek. Pokud není stisknuto false, motorický blok zastavovacího ramene běží.

Ikona Motivovat diskusi Motivovat diskusi

Otázka: Jaký je průběh toku projektu, pokud je stav stisknutého tlačítka Brain Up NEPRAVDIVÝ (uvolněný)?
A: Pokud je podmínka nepravdivá, tok projektu bude i nadále kontrolovat stav stisknutého tlačítka Brain Down.

Otázka: Jaký je účel bloků [If then else] ve výše uvedeném projektu?
Odpověď: Použití bloků [If then else] umožňuje, aby byla současně pravdivá pouze jedna instance. Tlačítko Brain Up a tlačítka Brain Down tedy nemohou být současně pravdivá pomocí bloků [If then else], protože druhá podmínka stisknutí tlačítka Brain Down by nebyla ani volbou, pokud by první podmínka stisknutí tlačítka Brain Up nebyla nepravdivá. Druhým účelem je zlepšit efektivitu programování.

Otázka: Jaký je průběh toku projektu, pokud jsou obě podmínky stisknutých tlačítek Nahoru a Dolů nepravdivé?
A: Pokud jsou obě podmínky falešné, tok projektu bude pokračovat do bloku [Stop motor] před návratem do horní části zásobníku, který se bude donekonečna opakovat.

Krok 3: Programování s bloky [If then else].

Použijme bloky [If then else]:

  • Přidejte bloky [If then else] do svého projektu ArmUpDown, aby váš projekt vypadal následovně:

    Projekt VEXcode IQ s blokem Forever připojeným k bloku When started. Uvnitř bloku Forever je blok If then else. Pokud větev if čte, pokud je stisknuto tlačítko mozku nahoru, otočte motor ramene nahoru. Větev else obsahuje další blok if then else, který čte, pokud je stisknuto tlačítko Brain down, pak spusťte motor ramene dolů, jinak zastavte motor ramene.

  • Uložte projekt jako ArmUpDown2. Pokud studenti potřebují pomoc s uložením projektu, podívejte se na kurz Pojmenování a ukládání.

    Dialogové okno Název projektu na panelu nástrojů VEXcode IQ. Slot 4 je vybrán a název projektu zní Arm Up Down 2.

  • Stáhněte projekt do slotu 4 na Clawbotu a spusťte jej.
  • Nápovědu ke stažení a spuštění projektu naleznete v tutoriálu VEXcode IQ, který vysvětluje, jak stáhnout a spustit projekt.
    Ikona výuky: Stáhněte a spusťte projekt v dolní části s ikonou stahování a šipkou nahoře.
  • Otestujte, zda se po stisknutí tlačítka Brain Up rameno otočí nahoru, a po stisknutí tlačítka Brain Down otočte dolů.
  • Ověřte, že když nejsou stisknuta (uvolněna) tlačítka Brain Up a Down, motor ramene se zastaví.
  • Do technického poznámkového bloku napište své postřehy o tom, jak se Clawbot choval před a po přidání bloků if then else do vašeho projektu.

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele - Zastavit a diskutovat

Poté, co studenti otestují projekt před a po přidání bloku [If then else], prodiskutujte se studenty, jak to umožní paži pokračovat v otáčení, dokud se neuvolní tlačítko Brain Up. Požádejte studenty, aby se podělili o své postřehy ze svých technických notebooků. Usnadněte diskusi položením následujících otázek:

  • Vidíte, že se Clawbot chová jinak mezi použitím bloků [If then else] ve srovnání s  bloky [If then]?

  • Proč si myslíte, že je efektivita programu důležitá?

  • Je stav tlačítka Brain Up v projektu zkontrolován pouze jednou?

Studentské technické notebooky mohou být udržovány a hodnoceny jednotlivě (Google / .docx / .pdf) nebo jako tým (Google / .docx / .pdf). Předchozí odkazy poskytují pro každý přístup jinou rubriku. Kdykoli je rubrika zahrnuta do plánování vzdělávání, je dobrou praxí vysvětlit tuto rubriku nebo alespoň dát kopie studentům před zahájením činnosti.

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele

Studenti nemusí vidět velký rozdíl v tom, jak se jejich Clawbot chová mezi používáním bloků [If then else] ve srovnání s bloky [If then ]. Pokud studenti nemohou fyzicky vidět velký rozdíl, usnadněte diskusi o efektivitě programování a o tom, jak může zjednodušení projektu vést k použití méně bloků. Použití menšího počtu bloků v projektu může snížit množství potenciálních chyb.

Krok 4: Programování drápu.

V předchozím kroku byl projekt optimalizován tak, aby fungoval efektivněji pomocí bloků [If then else]. V předchozím příkladu bylo s ramenem manipulováno pomocí tlačítek Brain Up a Down.

Pomocí přesně stejného obrysu projektu lze také manipulovat s drápem.

  • Zkontrolujte projekt ArmUpDown2 a změňte bloky [Spin] na ClawMotor namísto ArmMotor pomocí rozbalovací nabídky.

    Ujistěte se, že tlačítko Brain Up roztočí dráp „open“ a že tlačítko Brain Down roztočí dráp „close“ pomocí rozevíracích nabídek.

    Odjistěte projekt Up Down 2 s bloky spin motoru nastavenými na motor Claw. Blok zastavovacího motoru má otevřený výběr parametrů s vybraným motorem ramene.

  • Uložte projekt jako ClawUpDown. Pokud studenti potřebují pomoc s uložením projektu, podívejte se na kurz Pojmenování a ukládání.

    Dialogové okno Název projektu na panelu nástrojů VEXcode IQ. Slot 1 je vybrán a název projektu zní Claw Up Down.

  • Stáhněte projekt do slotu 1 na Clawbotu a spusťte jej.
  • Nápovědu ke stažení a spuštění projektu naleznete v tutoriálu VEXcode IQ, který vysvětluje, jak stáhnout a spustit projekt.
    Ikona výuky zní Stáhnout a spustit projekt ve spodní části.
  • Otestujte, zda se dráp při stisknutí tlačítka Brain Up otevře a při stisknutí tlačítka Brain Down zavře.
  • Ověřte, že když nejsou stisknuta (uvolněna) tlačítka Brain Up a Down, motor drápku se zastaví.
  • Do technického poznámkového bloku napište své postřehy o tom, jak se Clawbot choval před a po přidání bloků if then else do vašeho projektu.

Ikona panelu nástrojů pro učitele Sada nástrojů pro učitele

Nyní, když mají studenti dovednosti manipulovat s rukou a drápem pomocí tlačítek, požádejte studenty, aby přemýšleli o tom, jak mohou provést všechny čtyři akce ve stejném projektu (ruku nahoru, ruku dolů, dráp otevřený a dráp zavřený).
Studenti využijí další blok [pokud jinak] v sekci přehodnocení, aby umožnili svému robotu provést všechny čtyři akce.

Ikona Rozšířit učení Rozšiřte své učení - nastavte blok zastavení motoru

Pokud studenti naprogramují svého robota, aby zvedl a spustil rameno, hmotnost drápu by mohla způsobit, že se rameno posune dolů.
V tomto případě lze použít blok [Set motor stopping] tak, aby rameno nespadlo kvůli gravitaci a hmotnosti drápu. Tento blok lze použít na začátku projektu a bude aplikován na všechny budoucí motorové bloky pro zbytek projektu.

Spuštění informací nápovědy pro blok zastavení nastaveného motoru. Blok je zobrazen s parametry nastavenými na motor Claw a zastavení nastavené na brzdu. Text čte Nastaví chování inteligentního motoru VEX IQ, jakmile se přestane pohybovat.

Nastavený blok zastavení motoru má tři nastavení:

  • Brzda způsobí okamžité zastavení motoru.
  • Pobřeží nechává motor postupně se otáčet, aby se zastavil.
  • Přidržení způsobí okamžité zastavení motoru a při pohybu jej vrátí do zastavené polohy.