Projekt: Chytrý hlídač učebny
Postavíte zařízení z micro:bitu, které hlídá prostředí v učebně a pomáhá rozhodnout, kdy větrat. V projektu použijete všechno z posledních šesti hodin: zadání úlohy, větvení a cykly, vlastní bloky, seznamy, ladění a zobecnění.
Příběh
Po čtyřech hodinách v zavřené učebně je těžký vzduch a nikdo neví, kdy větrat. Zařízení každých pár vteřin změří teplotu a světlo, vyhodnotí stav a dá vědět. Stejnou stavbu mají skutečná chytrá zařízení: senzor → zpracování → výstup.
Zadání
ZákladBez toho to není projekt
- Každých 5 sekund změří teplotu a hladinu světla. Perioda je proměnná na začátku programu, ne číslo rozeseté po blocích.
- Vyhodnotí stav: zima (pod 18 °C), v pořádku (18 až 24 °C), větrat (nad 24 °C). Hranice jsou uložené v proměnných.
- Stav ukáže ikonou na displeji. Při stavu „větrat“ navíc zahraje signál, ale jen když je světlo (hladina světla nad 40) — ve tmě se nikdo neučí.
- Tlačítko A ukáže teplotu číslem, tlačítko B hladinu světla.
- Program je rozdělený na vlastní bloky: aspoň tři (například
změř,vyhodnoť,zobraz) a aspoň jeden má parametr. - Posledních 10 měření teploty se ukládá do seznamu. Tlačítka A+B ukážou jejich průměr.
PlusPro lepší známku
- Ze seznamu najde cyklem i minimum a maximum.
- Pozná trend: když teplota třikrát po sobě vzroste, ukáže šipku nahoru ↑ místo ikony stavu.
HvězdaKdyž ti zbyde čas
- Zobecnění: jeden vlastní blok vyhodnotí libovolnou veličinu (parametry: hodnota, dolní mez, horní mez) a použiješ ho pro teplotu i pro světlo.
- Senzor z IoT sady místo světla, nebo druhý micro:bit, který stav ukáže na dálku.
Etapy a termíny
| Etapa | Téma bloku | Co ukážeš | D2 (po) | D1 (st) |
|---|---|---|---|---|
| 1 · Návrh a kostra | Zadání úlohy, rozdělení na části | Zadání na A4 (vstupy, výstupy, podmínky), vývojový diagram hlavní smyčky, v MakeCode kostra s prázdnými vlastními bloky. | 5. 10. | 7. 10. |
| 2 · Základ funguje | Větvení a cykly, seznamy a vzory | Body 1 až 6 běží na desce. Plus a Hvězda jako bonus. | 12. 10. | do začátku hodiny 14. 10. |
| 3 · Ladění a testování | Ladění a testování | Testovací tabulka (aspoň 6 případů včetně hraničních), deník tří chyb. Výměna s kolegou: najdi mu jednu chybu. | 19. 10. | 14. 10. |
| 4 · Zobecnění a odevzdání | Optimalizace a zobecnění | Nový požadavek přímo v hodině (15 minut), psaná část (20 minut), technický list do Učebny. | 26. 10. | 21. 10. |
Skupina D1 má témata 1 až 4 už za sebou, proto má o hodinu méně na stavbu. Termín můžeš dohodnout dřív; později jen po domluvě.
Co odevzdat (technický list)
Dokument (Google Dokument nebo Word) pojmenovaný hlidac-prijmeni, nahraný do Učebny nejpozději v poslední hodině bloku. Rozsah 1 až 2 strany.
- Zadání a vývojový diagram hlavní smyčky (může být foto papíru).
- Seznam vlastních bloků: název, co dělá, jaký má parametr.
- Testovací tabulka — aspoň šest případů:
| Vstup (teplota, světlo) | Očekávaný výstup | Skutečný výstup | V pořádku? |
|---|---|---|---|
| 17 °C, světlo | ikona zima, bez zvuku | ||
| 24 °C, světlo | ikona v pořádku, bez zvuku | ||
| 25 °C, světlo | ikona větrat, zvuk | ||
| 25 °C, tma | ikona větrat, bez zvuku |
- Deník chyb — tři záznamy: co se dělo, jak jsi chybu našel(a), jak jsi ji opravil(a).
- Co jsem zobecnil(a) nebo zjednodušil(a) — tři věty: co jsem předtím měl(a), co mám teď a proč je to lepší.
- Program: odkaz na sdílený projekt v MakeCode nebo soubor
.hex— podle domluvy v hodině.
Hodnocení
| Část | Téma bloku | Co se posuzuje | Body |
|---|---|---|---|
| Praktická část — 70 bodů | |||
| Návrh a zadání | Algoritmizace: zadání úlohy | vstupy, výstupy, podmínky; srozumitelný vývojový diagram | 10 |
| Měření a vyhodnocení | Větvení a cykly | tři stavy, složená podmínka, cyklus měření, zařízení běží na desce | 15 |
| Vlastní bloky | Rozdělení problému na části | aspoň tři bloky, jeden s parametrem, hlavní smyčka je krátká a čitelná | 10 |
| Seznam a statistiky | Seznamy a opakující se vzory | posledních 10 měření, průměr; u Plus minimum, maximum a trend | 10 |
| Testování | Ladění a testování | testovací tabulka s hraničními případy, deník tří chyb | 10 |
| Zobecnění a nový požadavek | Optimalizace a zobecnění | konstanty místo opsaných čísel, kalibrace čidla, zapracování nového požadavku v hodině, u Hvězdy obecný blok | 15 |
| Teoretická část — 30 bodů | |||
| Psaná část | všech šest témat | 20 minut na papíře, šest otázek po pěti bodech, po jedné ke každému tématu bloku | 30 |
Známka: 90 a víc bodů → 1 · 75 až 89 → 2 · 60 až 74 → 3 · 45 až 59 → 4 · méně → 5.
Psaná část: můžeš mít ručně psaný list A4 s vlastním shrnutím bloku (psaním se to naučíš nejlíp). Počítač ani technický list nejsou povolené.
Shrnutí bloku na jedné stránce
K tomu se vrať před psanou částí. Názvy bloků v tvém editoru se mohou mírně lišit podle jazyka.
Zadání úlohy
Pojmy: vstup, výstup, podmínka řešení, vývojový diagram.
Postup: nejdřív zjisti, co zařízení dostane, co má udělat a kdy. Teprve potom stav bloky.
Nezapomeň na hranici: co se stane přesně při 24 °C?
Větvení a cykly
Pojmy: podmínka, složená podmínka (a, nebo, ne), opakuj N× (for), opakuj dokud (while), opakuj stále, proměnná jako počítadlo.
Bloky: když … tak … jinak, nastav / změň proměnnou, pauza.
Inicializace („nastav na 0“) patří do bloku po spuštění, ne do smyčky.
Rozdělení problému na části
Pojmy: vlastní blok (funkce), parametr, dekompozice.
Proč: program je čitelnější, části se dají použít opakovaně a testovat zvlášť, změna se dělá na jednom místě.
Hlavní smyčka má být krátká: změř → vyhodnoť → zobraz.
Seznamy a opakující se vzory
Pojmy: seznam (pole), index (od 0), délka seznamu, průchod seznamem, součet, minimum, maximum, průměr.
Vzor: trend roste, když pro tři sousední hodnoty platí a < b a b < c.
Seznam se nesmí v každém průchodu smyčky znovu vytvářet prázdný.
Ladění a testování
Pojmy: testovací případ, hraniční hodnota, trasování, ladicí výpis.
Postup: chybu zopakuj → zúži, kde vzniká → oprav jednu věc → ověř testem znovu.
Typické chyby: špatné pořadí podmínek, < místo ≤, chybějící pauza, nulování ve smyčce, simulátor se chová jinak než deska.
Optimalizace a zobecnění
Pojmy: konstanta, kalibrace, zobecnění, čitelnost.
Postup: opsaná čísla nahraď proměnnou nebo konstantou. Pro víc veličin udělej jeden blok s parametry hodnota, dolní a horní mez.
Dobře zobecněný program zvládne nový požadavek změnou jednoho čísla.
Vydáno 5. 10. 2026 · Mgr. Martin Gebhart · SG Kladno · prezentace k tématu: Shrnutí bloku Programování