Hodnocení soutěžních úloh

Kategorie programování mikrořadičů

19. až 21. dubna 2018

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

Krajské kolo 2017/2018

Přechod pro chodce řízený semaforem.
Blikání řízené napětím
Blikání řízené tlačítky
Ledky reagující na polohu ruky

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.


Barevné hrátky

LED diody, někdo říká svítivé diody, pokrývají dnes širokou škálu barev. K dispozici je červená, zelená, žlutá, modrá, ale také bílá a IR. A samozřejmě také vykazují nejrůznější elektrické a mechanické parametry. Kdysi začínaly velice skromně. Za spoustu peněz jste si mohli koupit jakoukoliv ledku, tedy pokud jste si přáli malou, červenou. To už dnes není pravda a tak si levně můžete pohrát s led diodami různých barev i velikostí. Proto jsou tolik oblíbené v nejrůznějších hrátkách. Většinou se jedná o nejrůznější blikátka. Ale napadlo vás někdy spočítat, kolik existuje možností jak toto blikání řídit? V následujících úloh si vyzkoušíme čtyři možnosti.

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

Máte dva spínače, které vám poskytují čtyři varianty jejich vzájemného sepnutí. Tím získáváte čtyři možnosti, jak se váš program bude chovat a jakou z následujících úloh tak řeší. Váš program musí reagovat na přepnutí i během svého běhu.

Můžete řešit jakékoliv z následujících úloh v libovolném pořadí. Pokud budete řešit více než jednu, musíte zároveň implementovat funkci jejich přepínání.


Přechod pro chodce řízený semaforem.

Maximální počet bodů 16,5

Vytvořte program, který bude řídit semafor pro auta a chodce podle následujících pravidel:

Hodnocení

Body Za co
0 účastník nedodal nic, dodal zařízení nefunkční
0,5 Program přechází do chování Přechod pro chodce řízený semaforem (body se udělí pouze v případě, že účastník řešil více jak jednu úlohu)
2 Je splněn počáteční stav periody po přechodu do programu.
2 Rozsvícení žluté pro auta ve správný okamžik.
2 Rozsvícení červené pro auta ve správný okamžik.
2 Rozsvícení zelené pro chodce ve správný okamžik.
2 Rozsvícení červené pro chodce ve správný okamžik.
2 Rozsvícení žluté (spolu s červenou)) pro auta ve správný okamžik.
2 Rozsvícení zelené pro auta ve správný okamžik.
2 Při opakovaném stisku tlačítka je vyloučeno blokování aut.

Blikání řízené napětím

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

Vytvořte program, který dovolí ovládání blikajících LED pomocí potenciometru podle následujících pravidel:

Hodnocení

Body Za co
0,5 Program přechází do chování Blikání řízené napětím (body se udělí pouze v případě, že účastník řešil více jak jednu úlohu).
3 Program načítá hodnotu napětí z potenciometru (ledky reagují na otáčení potenciometru).
2 Bliká jedna červená ledka při napětí nižším než přibližně 0,2 maximálního.
1 Perioda blikání přibližně 2 sekundy při napětí nižším než přibližně 0,2 maximálního.
2 Blikají dvě červené ledky při napětí vyšším než přibližně 0,2 maximálního a nižším než přibližně 0,4 maximálního.
1 Perioda blikání přibližně 1,5 sekundy při napětí vyšším než přibližně 0,2 maximálního a nižším než přibližně 0,4 maximálního.
2 Blikají dvě červené a jedna zelená ledka při napětí vyšším než přibližně 0,4 maximálního a nižším než přibližně 0,6 maximálního.
1 Perioda blikání přibližně 2 sekundy při napětí vyšším než přibližně 0,4 maximálního a nižším než přibližně 0,6 maximálního.
2 Blikají dvě červené a dvě zelené ledky při napětí vyšším než přibližně 0,6 maximálního a nižším než přibližně 0,8 maximálního.
1 Perioda blikání přibližně 1,5 sekundy při napětí vyšším než přibližně 0,6 maximálního a nižším než přibližně 0,8 maximálního.
2 Blikají dvě červené, dvě zelené a jedna žlutá ledka při napětí vyšším než přibližně 0,8 maximálního.
1 Perioda blikání přibližně 2 sekundy při napětí vyšším než přibližně 0,8 maximálního.

Blikání řízené tlačítky

Maximální počet bodů 8,5

Vytvořte program, který dovolí ovládat rychlost blikání ledek pomocí dvou tlačítek podle následujících pravidel:

Hodnocení

Body Za co
0 účastník nedodal nic, dodal zařízení nefunkční
0,5 Program přechází do chování Blikání řízené tlačítky (body se udělí pouze v případě, že účastník řešil více jak jednu úlohu)
2 Je splněn počáteční stav periody po přechodu do programu.
2 Je splněna hranice maximální periody.
1 Po deseti stiscích tlačítka "plus" je dosaženo přechodu z nejkratší na nejdelší periodu blikání.
1 Po deseti stiscích tlačítka "minus" je dosaženo přechodu z nejdelší na nejkratší periodu blikání.
2 Jsou ošetřeny zákmity tlačítek.

Ledky reagující na polohu ruky

Maximální počet bodů 24,5

Vytvořte program, který dovolí ovládání blikajících LED pomocí akcelerometru podle následujících pravidel:

Hodnocení

Body Za co
0 účastník nedodal nic, dodal zařízení nefunkční
0,5 Program přechází do chování Ledky reagující na polohu ruky (body se udělí pouze v případě, že účastník řešil více jak jednu úlohu)
4 Program reaguje na změnu polohy akcelerometru.
2 Bliká žlutá ledka při sklonu max 30° od horizontální polohy.
2 Frekvence blikání při sklonu max 30° od horizontální polohy je přibližně 0,5 Hz.
2 Bliká zelená ledka při sklonu 30° až 45° od horizontální polohy.
2 Frekvence blikání při sklonu 30° až 45° od horizontální polohy je přibližně 1 Hz.
2 Bliká zelená ledka při sklonu 45° až 60° od horizontální polohy.
2 Frekvence blikání při sklonu 45° až 60° od horizontální polohy je přibližně 2 Hz.
2 Bliká zelená a červená ledka při sklonu 60° až 90° od horizontální polohy.
2 Frekvence blikání při sklonu 60° až 90° od horizontální polohy je přibližně 2 Hz.
2 Bliká zelená a červená ledka při sklonu větším než 90° od horizontální polohy.
2 Frekvence blikání při sklonu větším než 90° od horizontální polohy je přibližně 3 Hz.