Tento aplikační příklad navazuje na lekci z A1, kdy se nám podařilo rozsvítit jednou text na micro:bitu. Nyní se naučíme, jak vytvořit program, aby nám nápis svítil stále.
V minulé lekci jsme se naučily vytvářet programy v blokovém editoru Microsoft Block Editor. Text “Ahoj světe” se nám vypsal jen jednou a činnost programu skončila. Aby se výpis textu zopakoval, museli jsme použít ikonu opakování pod obrázkem Micro:bit.
Pokud chceme, aby se vypisování textu opakovalo stále, musíme říci mikropočítači, že po ukončení programu (našeho bloku – našeho příkazu) má začít opět od začátku. To je, že po ukončení posledního bloku má začít zase blokem prvním. Pak se text “Ahoj světe bude vypisovat na displeji stále dokola. Počítač se tak nezastaví a stále dokola bude vykonávat náš program, dokud ho nevypneme.
Jak na to : Blok, který nám vypisuje text už máme na ploše (“show string”). Když si slovo forever najdete ve slovníku, je jeho význam “věčně” nebo “navždy”. My si ho přeložíme jako “stále”, respektive “stále dokola”. Znamená to, že pokud do kleští tohoto bloku něco dáme, bude se to opakovat stále dokola. Myší uchopíme blok “show string” a vložíme ho do kleští bloku “forever”, jak je znázorněno do následujícím obrázku:
Při vkládání bloku “show string” do bloku “forever” nám musí bloky do sebe zapadnout. K tomu slouží výčnělek na horní straně kleští bloku “forever” a zářez na horní straně bloku “show string”. Pokud do sebe bloky zapadnou, PC nám to dá najevo zvukovým znamením. (Musíme mít na PC zapnut zvuk :-). Budeme tomu říkat západka.
Všimněte si, že blok “forever” ani blok “on start” nemá západky na horní straně a ani na spodní. Znamená to, že před vykonáním příkazu “forever” už nemůžeme dát žádný příkaz, to samé platí, že nemůžeme dát nic za něj. Příkaz “forever” uzavírá ve svých kleštích celý program – všechny příkazy. Co kdybychom ale potřebovali něco vykonat hned na začátku programu a to jen jedenkrát a pak už to neopakovali. Například to může být test, zdali nám svítí všechny LED diody na displeji. Takový test LED diod by se vykonal jen jednou, a pak se už opakoval jen výpis textu “Ahoj svete!” stále dokola.
Zkusíme si napsat, jaké příkazy dáme mikropočítači, aby nám takovou činnost vykonal.
1. zhasni všechny LED diody
2. rozsviť všechny LED diody (protože mikropočítač je hrozně rychlý a takový příkaz vykoná řádově v mikrosekundách a pak by pokračoval dalším příkazem, který by už zase LED diody vypnul. My bychom ani neviděly, že se nám všechny LED diody rozsvítily. Abychom si to mohli zkontrolovat, že všechny svítí, necháme je svítit dvě vteřiny. Dáme příkaz mikropočítači, aby dva tisíce milisekund nic nedělal – čekal.)
3. čekej 2000 milisekund
4. nyní opakuj výpis textu “Ahoj světe”
Tak si takový program vytvoříme.
“zhasni všechny LED diody” je blok který najdeme v levém sloupci nabídky Basic (more) a jmenuje se “clear screen”. Jednou klikneme.
Blok “rozsviť všechny LED diody” najdeme rovněž v nabídce Basic a tento blok se jmenuje “show leds”. Jednou na něj klikneme. Protože chceme, aby všechny diody byly rozsvíceny, musíme do každého okénka diod kliknout myší, aby bylo okénko diody světlé – dioda bude svítit. (Pokud tam bude okénko tmavé, dioda bude zhasnutá.)
Blok “čekej 2000 milisekund” najdeme opět v nabídce Basic, a jeho jméno je “pause (ms)”. Jednou klikneme. V okénku tohoto bloku je standardně nastavená hodnota 100, to znamená 100 milisekund. Protože chceme, aby mikropočítač čekal 2000 milisekund, klikneme na tuto hodnotu a přepíšeme ji na 2000. Ukončíme stiskem klávesy ENTER.
Tyto tři výše uvedené bloky dáme do kleští bloku “on start“ – vykoná se jen jednou na začátku programu.
Jak jsou bloky spojeny je ukázáno na následujícím obrázku:
Blok “forever” opakuje činnosti, které jsou uchopeny do jeho kleští.
Pokud chceme bloky od sebe roztrhnout, uchopíme požadovaný blok a táhneme směrem dolů a do strany. Zobrazení bloků můžeme zvětšovat nebo zmenšovat pomocí kolečka na myši.
Úkoly pro lekci A2 :
- zkuste do kleští bloku “forever” chytit všechny bloky
- zkuste v bloku “show leds” zatrhnout jen ty diody, aby se vytvořil smajlík