Zadání soutěžních úloh

Kategorie programování mikrořadičů

25. až 27. dubna 2019

Soutěž v programování – 33. ročník

Krajské kolo 2018/2019

Příprava
Horizontální animace textu
Počítání stisků tlačítka
Videostop

Na řešení úloh máte 4 hodiny čistého času.

Před zahájením soutěže vám pořadatel oznámí, kam máte ukládat řešení úloh. Zároveň připravte pro hodnotícího návod, jak uvést vaše zařízení do provozu a napište, které úlohy jste řešili, a jak mezi nimi přepínat. Hodnotící nebude do zařízení nic nahrávat. Jen ho zapne a vyhodnotí úlohy, na kterých jste pracovali. Pokud bude hodnotící požadovat vaši součinnost, jistě ochotně vyhovíte.

Pro řešení můžete použít vývojovou platformu s mikrokontrolérem dle své preference (např. Arduino, Raspberry, ESP8266, FRDM, STM32, micro:bit, PicAxe, BASIC Stamp, AVR, PIC …). Pro řešení úlohy budete dále potřebovat:

Můžete řešit jakékoliv z následujících úloh, ovšem úloha Příprava je povinná a s tou tedy musíte začít. Ostatní můžete řešit v libovolném pořadí. Pokud budete řešit více než jednu úlohu, musíte zároveň implementovat funkci jejich přepínání.

Součástí vaší práce, a tedy i hodnocení, je vytvoření schématu zapojení vašeho mikrořadiče s periferiemi (LCD displej, 4× LED, 4× tlačítko, dvoupólový spínač). Schéma stačí volnou rukou na papír. Realizujte fyzické zapojení tak, že bude zapojeno po jedné LED od každé barvy.

Pro řešení každé úlohy vytvořte vývojový diagram, který zadání řeší na úrovni větvení programu. I vývojový diagram bude součástí hodnocení, ale i ten stačí volnou rukou na papír.

U každé úlohy bude jedním bodem hodnocena přehlednost zdrojového kódu (vhodné členění zdrojového kódu, vhodně zvolené názvy identifikátorů, komentáře na místech kde je to potřeba, atd.).


Příprava

Maximální počet bodů 15

Tato úloha je povinná.

Vytvote program s následující funkcí.


Horizontální animace textu

Maximální počet bodů je 17,5

Vytvořte program, který bude na LCD displeji zobrazovat posouvajcí se text podle následujících pravidel:


Počítání stisků tlačítka

Maximální počet bodů je 21,5

Vytvořte program, který bude realizovat následující funkci:


Videostop

Maximální počet bodů je 15,5

Vytvořte program, který bude umožňovat hraní hry Videostop.