Programování dvou tlačítek
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.

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.
| Množství | Potřebný materiál |
|---|---|
| 1 |
VEX IQ Super Kit |
| 1 |
VEXcode IQ |
| 1 |
Technický poznámkový blok |
| 1 |
Šablona Clawbot (hnací ústrojí) |
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.

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.

Krok 1: Programování pro posunutí ramene dolů.
Na předchozí stránce jste naprogramovali Clawbotovu paži, aby se otočila, když bylo stisknuto tlačítko Brain Up. Ale co takhle také spustit ruku? Nejprve se podívejme na předchozí projekt ArmUp2.

Bylo by možné použít stejný blok [If then] pro otočení ramene nahoru, aby se také otočilo rameno dolů? Zkusme to! Sestavte níže uvedený projekt úpravou svého již existujícího projektu ArmUp2.

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

- Zkontrolujte, zda je název projektu ArmUpDown nyní v okně uprostřed panelu nástrojů.
- Předvídejte, co bude Clawbot dělat ve vašem technickém notebooku. Vysvětlete chování uživatele i klawbota.
- Otestujte, zda je vaše predikce toho, co má projekt Clawbot udělat, správná.
- Stáhněte projekt do slotu 3 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.

- Zkontrolujte vysvětlení projektu a přidejte poznámky, které je podle potřeby opraví.
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.

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.
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.

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.

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.

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).

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ě:

-
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í.

- 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.

- 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.
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.
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.
-
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í.

- 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.

- 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.
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.
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.

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.