Aplikace A6 Zapínáme a vypínáme světlo

V této lekci si zkusíme práci s tlačítky na micro:bit. Matice 5×5 LED diod bude pro nás LED svítilna a my si ukážeme, jak stiskem tlačítek budeme světlo zapínat a vypínat.

název: Zapínáme a vypínáme světlo
kategorie: A začátečníci
ref.číslo: A6
projekt: prvních 10 dní s microbitem, lekce 6
verze: 01, 2017-03-17
autor: Ivo Obr, Lanškroun


Tato lekce byla napsána pro Microsoft Block Editor. Ten už byl bohužel stažen ze stránek microbit.org. Proto si můžete spustit tento editor na následující adrese :
https://www.microbit.co.uk/app/#create:xczaux
Zatím tam původní editor stále ještě funguje. Lze také lekce zpracovávat na JavaScrip Block Editoru, jsou tam malé odchylky, které ale nemusí být na závadu.

V této lekci si zkusíme práci s tlačítky na micro:bit. Matice 5×5 LED diod bude pro nás LED svítilna a my si ukážeme, jak stiskem tlačítek budeme světlo zapínat a vypínat. Tlačítko “A” na micro:bit bude pro nás zapínací tlačítko, tlačítko “B” bude vypínací. LED diody na displeji rozsvítíme pomocí známého bloku “show leds”, kde zaškrtneme všechny LEDky, zhasínání můžeme provést pomocí bloku “clear screen”.

Nejdříve si popíšeme slovně, co má mikropočítač vykonat a pak si sestavíme program.

  1. Na začátku zhasneme displej a nastavíme si jas LED diod po jejich rozsvícení.
  2. Budeme opakovaně zjišťovat, zda-li jsou tlačítka stisknutá a to následovně :
  • když stiskneme tlačítko “A”, tak necháme provést blok “show leds”.
  • když stiskneme tlačítko “B”, tak necháme provést blok “clear screen”.
  • k opakování těchto dotazů použijeme již známý blok “while”, a do jeho kleští dáme oba dotazy.

Začátek tedy bude vypadat takto :

Pro dotaz na na stisknuté tlačítko použijeme blok “if”, v překladu znamená “když”, “jestliže”. Blok najdeme v nabídce Logic a vypadá takto :

Za slovem “if” je západka, do které můžeme dát nějaké naše prohlášení, programátorsky se říká výraz. Je to například : “Tlačítko A je stisknuté”. Můžeme si na to odpovědět programátorsky a máme dvě možnosti : “Ano” nebo “Ne”. To že bychom si odpověděli “Nevím” nebo “Asi” je zcela neurčité a mikropočítač to může zjistit určitě. Programátoři používají spíše slov “true” (pravda) nebo “false” (nepravda,  neříká se lež).

Pokud si mikropočítač odpoví “je to pravda” (true), pak vykoná blok nebo bloky uzavřené do kleští bloku “if”. Pokud si odpoví “Ne” (false), tak dalšího nic neudělá a provádí se další blok za blokem “if”. Slůvko “do” v druhém řádku bloku “if” můžeme přeložit jako “udělej”. Takže si to můžeme celé přeložit do našeho jazyka jako :

JESTLIŽE “Tlačítko A je stisknuté” PAK udělej co mám v kleštích

Nyní si najdeme blok s reakcí na tlačítko “A”. Je v nabídce Input a je to blok “button A is pressed”. Ve slovním popisu jsme si řekli, že pokud tlačítko “A” bude stisknuté, rozsvítíme LED diody na displeji. Bude blok “if vypadat takto :

Protože se budeme ptát i na tlačítko “B”, kterým naopak zhasneme displej, vytvoříme si další blok “if” na ploše ale tentokrát místo “button A” dáme “button B” a to pomocí malé šipky za “A”, na kterou klikneme. Do kleští bloku “if” dáme blok “clear screen”.

A zbývá nám poslední část, oba bloky “if” zasuneme do kleští bloku “while”, na pořadí nezáleží. Zbývá nám už jen program vyzkoušet. V levém obrázku vidíte první variantu, je to ta, kterou jsme popisovali. Prostřední a pravý obrázek jsou další vyrianty, které by Vám měli dát stejný výsledek.

Vzory programů si můžete odzkoušet, ten vpravo není postaven na zapínání a vypínání LED diod, ale na změně jejich jasu.

Úkoly pro tuto lekci :

  • zkuste vymyslet další způsoby, jak sestavit programem
  • zkuste funkce zaměnit tlačítek “A” a “B”
Posted in kat A - začátečníci.