Animácie

Displej

Pracujeme…

Táto kapitola je ešte rozpracovaná, zatiaľ tu nájdeš iba základné informácie. V najbližšom čase ju budeme ešte dopĺňať.

Čo sa týka grafického umenia, MicroPython ja asi rovnako dobrý ako človek, ktorý má k dispozícii iba 5x5 červených LED diód. Napriek tomu má MicroPython pomerne veľa možností, ako ovládať displej, a vytvoriť si tým rôyne efekty a animácie.

Predprogramované obrázky

Ako prvé si vyskúšame zobraziť na displeji už predprogramované obrázky. Opäť budeme používať displej, a preto z knižnice microbit importujeme modul displej, no tento raz z tej istej knižnice importujeme aj triedu s predprogramovanými obrázkami Image.

from microbit import display, Image

display.show(Image.HAPPY)

Keď chceme obrázok zobraziť na displeji, namiesto metódy scroll zavoláme metódu show (píšeme display.show()). Aby micro:bit vedel, čo má zobraziť, posielame v zátvorkách ako parameter obrázok z triedy Image - napríklad happy (Image.HAPPY). Predprogramovaných obrázkov je veľké množstvo, nájdete ich v dokumentácii.

Prvý obrázok sme zobrazili, teraz sa pokúsme zobraziť dva, ktoré sa budú donekonečna striedať. Asi už tušíte, že opäť využijeme nekonečný cyklus while True:, a príkaz display show pod ním odsadíme o štyri medzerníky, alebo jeden tabulátor.

from microbit import display, Image, sleep

while True:
    display.show(Image.HAPPY)
    sleep(1000)
    display.show(Image.HAPPY)
    sleep(1000)

Tento program zobrazuje najprv jeden a potom druhý obrázok, ale keby sme tam nedali žiadne pauzy, robil by to tak rýchlo, že by sme ich tam ani nevideli a obrázky by splinuli. Preto vždy, keď vykreslíme obrázok musíme na chvíľu pozastaviť, aby naše oko stihlo obrázok vidieť. Na to použijeme príkaz sleep z knižnice microbit. Prvý krok je importovať sleep, a následne ho použiť za oboma obrázkami. Ako parameter udávame, koľko milisekúnd má program čakať - číslo nedávame do úvodzoviek, pretože sa jedná o číslo a nie o text. Aby sa nám menili každú sekundu, ako parameter vpíšeme číslo 1000.

Vlastný obrázok

from microbit import display, Image, sleep

boat = Image("05050:"
             "05050:"
             "05050:"
             "99999:"
             "09990")
while True:
    display.show(Image.HAPPY)
    sleep(1000)
    display.show(Image.HAPPY)
    sleep(1000)
    display.show(boat)
    sleep(1000)

Obrázkov môžeme pridať aj viac, no môžeme skúsiť pridať aj vlastné. Vytvorme si napríklad vlastnú loďku. Ešte pred nekonečným cyklom si zadefinujeme, ako má vyzerať. Opäť pomocou triedy Image, ale tentokrát ako parameter vkladáme 5 riadkov, v každom 5 čísel, jedno pre každú LED diódu. 0 znamená, že LEDka nesvieti, 9 naopak, svieti naplno. Teraz sme vytvorili loďku s dvoma sťažňami. Dvojbodky na konci riadkov označujú koniec riadku na LED displeji. Náš nový obrázok sme si pomenovali boat, a ak ho chceme zobraziť, stačí ho vložiť do display.show(boat)

Tento kód je možné skrátiť aj na:

from microbit import display, Image, sleep

boat = Image("05050:05050:05050:99999:09990")

while True:
    display.show(Image.HAPPY)
    sleep(1000)
    display.show(Image.HAPPY)
    sleep(1000)
    display.show(boat)
    sleep(1000)

Takéto skrátenie je ale veľmi neprehľadné, a preto odporúčame radšej prvý spôsob.

Návod na tvorbu vlastných obrázkov je v dokumentácii

Posledná zmena: 28.2.2020