Aplikace B3 Blikáme Diodou

V této lekci navážeme na lekci A3, jak blikat diodou LED v programu microPython.

název: B3 Blikáme diodou
kategorie: B mírně pokročilí
ref.číslo: B3
projekt: 10+10 dní s microbitem pro mírně pokročilé, lekce B3
verze: 01, 2017-03-29
autor: Ivo Obr, Lanškroun


V této lekci navážeme na lekci A3, takže už nemusíme vysvětlovat “adresy” LED diod a jenom si zopakujeme slovní popis postupu, jak blikat diodou  (návod z lekce A3) :

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

V tomto postupu musíme provést malinkou změnu, neboť jas diod se nastavuje v jazyce MicroPython jednotlivě pro každou LED diodu. Nastavením jasu z nuly na nějakou hodnotu vlastně zapínáme LED diodu aby svítila. Příkaz je :

display.set_pixel(x, y, jas)         , kde

x – souřadnice vodorovná (sloupce) s hodnotami od 0 do 4
y – souřadnice svislá (řádky) s hodnotami od 0 do 4
jas – hodnota jasu od 0 do 9 (0 – nesvítí,  9 – svítí maximálně)

Není třeba tedy v bodě 1) nastavovat jas (blokem “set brightness”), ten zajistíme až při vlastním “zapnutím” nebo “vypnutím” LED diody.

blok “plot 2, 2” nahradíme příkazem     display.set_pixel(2, 2, 9)   a
blok “unplot 2, 2” pak příkazem             display.set_pixel(2, 2, 0)

(devítka na konci znamená maximální jas, nula na konci že je LED dioda zhasnutá).

Na následujícím obrázku je ukázka celého programu v provedení blokové tvorby  a v programu MicroPython:

           

Správnost napsání programu odzkoušíme ikonou Check a ikonou Flash nahrajeme program do mikropočítače. Po načtení bude prostřední dioda blikat.  Jestli se Vám na displeji začne vypisovat text “error” a číslo řádku, pak jste v programu udělali gramatickou chybu. V takovém případě si pečlivě překontrolujte napsaný program, mikropočítač vám chyby neodpustí. Pokud je vše dobře, program si uložte do složky MICROLA se jménem B3.py.

Samozřejmě že můžeme program upravit – napsat malinko jiným způsobem. Možná, že už někteří na to přišli sami, ostatním napovím, že zhasnout prostřední diodu můžeme jiným způsobem a to pomocí příkazu display.clear() (zhasneme celý displej). Takže příkaz display.set_pixel(2, 2, 0) nahradíme příkazem display.clear() . Zatím nemusíme uvažovat, který příkaz je rychlejší a dá mikropočítači méně práce, on je tak rychlý, že žádnou změnu neuvidíme. Vyzkoušejte si to. Výsledek je stejný.

Také příkaz display.set_pixel(2, 2, 9) bychom nemuseli použít. Umíme na displeji zobrazit obrázek, jak jsme to dělali v minulé lekci a to pomocí display.show(image), kde bychom si vytvořili obrázek jedné rozsvícené LED diody :

Druhá varianta programu napsaná v MicroPython :

Slovo “tecka” je název obrázku.

 

Úkoly pro lekci B3 :

  • vyzkoušejte si jas diody od 1 do 9
  • zkuste změnit čas u příkazů sleep() – doporučeně mezi 100 až 1500.
  • zkoušejte zkracovat časy tak, aby LED dioda blikala stále rychleji. Při kterých časech už blikání neuvidíte? (čas musí být celé číslo, nejmenší je 1, což je 1ms). Až bude blikat LED dioda tak rychle, že blikání neuvidíte, pak si odpojte Micro:bit od USB kabelu a zapojte si destičku na napájení z baterie. Pak dělejte destičkou rychlý pohyb zprava doleva a naopak a uvidíte opět, jak LED dioda bliká.
  • dokázali byste program napsat ještě dalším způsobem? (nápověda – pomocí dvou obrázků)
Posted in kat B - mírně pokročilí.