V minulém díle jsme si představili minipočítač Myco a jak ho programovat. V sérii pokračování si ukážeme pár jednoduchých prográmků a něco si společně nakódíme. Pro naše programování využijeme asi nejdostupnější a nejvděčnější desku – micro:bit. Z této destičky vytvoříme malé Myco a vznikne nám Mycobit. Výhodou Myco provozovaném na microbitu je velmi přehledné zobrazení kódu.
Mycobit na micro:bitu V2 umí navíc využít interní vstupy a výstupy, tedy akcelerometr, kompas, mikrofon, měření intenzity světla či buzzer. Začneme zlehka, zobrazením a přičítáním proměnné.
Co budeme pro Mycobit potřebovat
Základem je deska micro:bit (postačí jakákoliv verze) a pak se hodí nějaký šikovný zdroj. Microbit se dá napájet i přes USB kabel, ale daleko větší volnost při programování zajistí bateriový modul. Například držák baterií od HWKITCHEN dobře poslouží, protože má i vypínač. A teď si můžete příklad jednoduše vyzkoušet. Stačí stáhnout hex soubor ze zdrojových stránek pro příslušnou verzi a nahrát ho do micro:bitu. Zdrojové stránky mají velmi dobrou dokumentaci, k ruce se určitě hodí tabulku příkazů.
Trocha teorie pro Mycobit – proměnné
Práce s proměnnými je pro Myco specifická. Má k dispozici 4 proměnné označené jako A, B, C a D. Hodnota A – akumulátor je součástí všech početních operací, a zároveň přijímá výsledek výpočtu. Proměnná B je zapotřebí pro výpočet operace, C a D slouží jako dočasná paměť pro operace smyček.
Nejvíc se pracuje s proměnnou A, většina změn ostatních proměnných funguje jejich definováním pomocí této proměnné. Proměnná A si umí jako jediná sahat na vstupy a výstupy mikropočítače.
Rozcvička – přičítání (counter)
Pokud se nahrání hex souboru podařilo, měl by na mycobitu blikat ukázkový příklad – běžící matrice. První krok je vstup do režimu editace. To se provede souběžným zmáčknutím tlačítka reset a pravého tlačítka (tlačítko B), pustit tlačítko reset a počkat do objevení zdrojového kódu (u starších verzí micro:bit to chvíli trvá).
Zobrazovací pole mycobitu je 4 x 4, spodní řádek zůstává prázdný, levý sloupec zobrazuje číslo řádku. Při otevření módu editace jsme na řádku 0. Zmáčknutím levého tlačítka A se vynuluje příkaz a začínáme zadávat vlastní program. Levým tlačítkem zadáváme hodnotu, pravým skočíme na další řádek.
Program se bude skládat z cyklu definování proměnné A, její zobrazení na matrici, nějaké prodlevě a skoku zpět. Z tabulky příkazů je patrné, že proměnná A se definuje příkazem 4. Řekněme, že nastavíme hodnotu 1. Zápis je tedy včetně označení nultého řádku následující – 0 4 1. Technicky stačí namačkat levé tlačítko A do hodnoty 4, a pravým tlačítkem B potvrdit.
Druhý krok je zobrazení proměnné A na matrici. Příslušný příkaz je 5 4. Jsme na řádku 1, tedy na třetím řádku mycobitu, v levém sloupci by se mělo objevit číslo řádku, zbývá přepsat původní kód. Technicky to znamená zmáčknout 6x levé tlačítko (první zmáčknutí nuluje řádek), potvrdit pravým tlačítkem a znovu 5x levé tlačítko.
První stránka, respektive první dva řádky programu by měly vypadat takto:
Dalším potvrzením pravým tlačítkem skočíme na druhou stránku, řádek 2. Abychom mohli později sledovat nějakou změnu, nastavíme prodlevu – příkaz wait – 2. Hodnoty příkazu wait jsou odstupňované tak, aby pokryly co největší časový rozsah – od milisekundy po minutu. Půl vteřiny nám bude stačit, hodnota tedy bude 8.
Následuje přičtení hodnoty 1. Příslušný příkaz A=A+1 je 7 1
Zbývá program dokončit a příkazem jump vrátit na první řádek programu. Řádek 0 definuje první zobrazenou hodnotu, provede se jenom jednou, na začátku programu. Jsme na straně 3, řádek 4, příkaz a jeho hodnota je 3 3.
Za řádkem 4 zůstanou nejspíš další řádky ukázkového programu, což vůbec nevadí, protože příkaz jump program dál nepustí. Nicméně je možné jakýkoliv řádek vyčistit jedním zmáčknutím levého tlačítka.
Spuštění a oprava programu v Mycobit
Pro potvrzení programu stačí už jen dlouze zmáčknout a podržet pravé tlačítko, a k tomu krátce levé tlačítko. Po tom by se měl rovnou program spustit. Program začíná hodnotou 1, po půl vteřině přičítá hodnotu 1 až do hodnoty 15 (F), potom se vrátí na hodnotu 0 a pokračuje stále dokola.
Pokud program nefunguje jak má, nebo je na něm potřeba něco změnit, stačí se vrátit do režimu editace, a příslušný příkaz nebo hodnotu přepsat. Například 2 2 8 na 2 2 9 natáhne intervaly počítání na 1 vteřinu.
Máte to? Co dál?
V další části program upravíme a rozšíříme o interní výstup microbitu V2 – mycobit odečte zadaný časový úsek a zahraje tón. Univerzální kuchyňská minutka je s mycobitem záležitost na pár minut, stačí kód jenom upravit a přidat podmínku.
Na závěr článku chci upozornit, že to co je Myco zažijete jen a pouze, pokud tomu dáte šanci a vyzkoušíte na vlastních prstech. :) Samotná zkušenost z kódění Myco se do článku nedá moc přenést. Teorie programování se možná zdá na první pohled trochu komplikovaná, ale to je tím, že je to zcela jiný způsob programování (tak zvané kódění).
Až začnete mačkat tlačítka, tak najednou uvidíte, jak do sebe všechno zapadá!