Aplikace A3 Blikáme diodou

V tomto aplikačním příkladu se naučíme zhasínat a rozsvěcet diody tak, že docílíme efektu blikání a měnit jas diody.

název: Blikáme diodou
kategorie: A začátečníci
ref.číslo: A3
projekt: prvních 10 dní s microbitem, lekce 3
verze: 01, 2017-03-14
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.

Jako v každé předchozí lekci, než začneme tvořit program si řekneme něco z teorie. Na destičce Micro:bit najdeme matici LED diod a to v rozměru 5×5. Vodorovná osa má označení “x”, svislá osa pak “y”.  Číslování v obou osách začíná nulou a končí čtyřkou. Abychom mohli nastavovat každou diodu samostatně, musíme znát její adresu. Ta se skládá z čísla v ose “x” a z čísla v ose “y”, budeme psát (x,y). Příklad: LED dioda v levém horním rohu má adresu (0,0), LED dioda v dolním levém rohu pak adresu (0,4).

Každou LED diodu můžeme rozsvítit nebo zhasnou. Také stupeň jasu LED diody můžeme předem nastavit a to 256 způsoby. Hodnota 0 znamená nejmenší jas (vlastně nesvítí vůbec), hodnota 255 je maximální jas (svítí naplno – víc už nejde).

V dnešní lekci začneme programem, který bude opakovaně rozsvěcovat a zhasínat LED diodu, která je uprostřed matice diod, má tedy adresu (2,2). Jas této diody nastavíme na maximum, tady na hodnotu 255. Rychlost blikání si nastavíme na 1 vteřinu, takže půl vteřiny bude LED dioda svítit, půl vteřiny bude zhasnutá. Jedno bliknutí LED diody je pro nás činnost, kterou stačí stále dokola opakovat.

Popíšeme si slovně, jaké příkazy má náš mikropočítač vykonat :

  1. všechny diody na displeji zhasneme a nastavíme jas svícení na maximální hodnotu 255
  2. opakujeme stále dokola následující povely (bloky):
  • rozsvítíme LED diodu s adresou (2,2)
  • čekáme 500ms (LED dioda svítí půl vteřiny)
  • zhasneme LED diodu s adresou (2,2)
  • čekáme 500ms (LED dioda je půl vteřiny zhasnutá)

Tak a jdeme na to : V nabídce Basic vybereme blok “clear screen” a klikneme na něj. Další blok  k nastavení jasu svícení LED diod se jmenuje “set brightness” a najdeme ho v nabídce LED. Klikneme na něj. Měl by už mít přednastavenou hodnotu 255. Pokud bychom chtěli jas LED diody snížit například na polovinu, klikneme na tuto hodnotu 255 a změníme ji na 127. Nyní jas měnit nebudeme. Blok připojíme za blok “clear screen”. Tím máme hotový popis v bodu 1) .

V textovém popisu bodu 2) máme opakovat bloky. K opakování už víme, že si máme vybrat blok “while”. Tak si ho myší připojíme za blok “set brightness”. Do jeho kleští pak budeme postupně připojovat bloky, které se mají opakovat. První blok bude na to, abychom rozsvítili LED diodu s adresou (2,2). Je to blok “plot x y”, který “zapne” LED diodu. Hodnoty uvedené za “x” a “y” jsou adresou LED diody. Pokud nejsou hodnoty “x” a “y” nastaveny na (2,2), změníme. Dalším blokem který připojíme do kleští je “pause 500”, najdeme ho v nabídce Basic. Když skončí činnost bloku “pause”, je třeba LED diodu zhasnout. Tentokrát na to použijeme blok “unplot x y”. Blok zhasíná LED diodu s adresou (x,y). Blok najdeme opět v nabídce LED. Nastavená adresa musí být stejná (2,2) jako u bloku “plot x y”. A poslední je opět blok “pause 500” který vykoná to, že LED dioda bude zhasnutá 500ms. Mikropočítač pak bude vykonávat další blok, a to je ten, který je prvý v kleštích bloku “while”.

Na následujícím obrázku je ukázka celého programu :

Program si vyzkoušíme tím, že klikneme na ikonu run a na pravé straně okna bychom na obrázku Micro:bit měli sledovat blikání středové diody. Program si také můžete nahrát do vašeho Micro:bit připojeného k PC a to pomocí ikony compile. Úplný návod viz lekce A1.

Program blikání diody lze vytvořit více způsoby. V druhé části si ukážeme jiný způsob. Existuje blok “show leds”, který nám umožní ovládat celou matici LED diod tak, že si zatrhneme ty LED diody, které chceme, aby nám svítily. Je to zvláště výhodné tehdy, pokud je počet  LED diod, které chceme ovládat více a nemusíme tak používat více bloků “plot x y” k zapínání.

Takže ve stávajícím programu vytáhneme z kleští bloku “while” všechny bloky ven. Rozpojíme je tak, že vždy chytíme za dolní blok a tahem dolů rozpojíme. Bloky “plot x y” a “unplot x y” odstraníme. (Pravím tlačítkem myši klikneme na požadovaný blok a a vybereme Delete Block. Někdy tam najdete další číslo, ale to je jen upozornění na celkový počet rušených bloků)

Do prázdných kleští vložíme blok “show leds”, který najdeme v nabídce Basic. V tomto bloku jsou zobrazeny LED diody, my si zatrhneme jen tu středovou. Toto zatržení říká, že LED diodu s adresou (2,2) rozsvítíme. Za tento blok zapojíme blok “pause 500”, který nám zbyl na ploše. Připojíme další bl

ok “show leds”, u kterého nebude zatržena žádná LED dioda (ta středová zhasne) a opět zapojíme poslední blok “pause 500” z plochy. Program je hotov, viz přiložený obrázek.

 

Z programu je patrné, že druhý blok “show leds”, u kterého není zatržena žádná LED dioda vlastně zhasíná všechny diody. Tak tento blok můžeme vyměnit za blok “clear screen”, funkce programu zůstane stejná.

Jistě byste vymysleli další způsob blikání. Může to být například použití nastavování jasu 0 a 255 místo zapínání a vypínání LED diody.

V poslední části lekce si ukážeme, že si můžeme s programem používajícím bloky “show leds” pohrát. Nastavíme si obrázek smajlíků, např. dle posledního obrázku.

Samozřejmě si můžete vymyslet jiné obrázky smajlíků, vyzkoušejte.

 

Úkoly pro lekci A3 :

  • zkuste změnit čas u bloků “pause” – doporučeně mezi 100 až 1500, při kratších časech zkoušejte jen na destičce.
  • zkuste na úplném začátku rozsvítit LED diodu (2,2) a pak místo “plot” a “unplot” měnit jas na 255 a na 0.  (pozor – u HW Micro:bit dejte 255 a 1)
  • zkuste přidat další blok “show leds” včetně “pause” pro animaci smajlíka
Posted in kat A - začátečníci.