Hodiny
Zadání
Vytvořte program pro DT-Box, který bude představovat hodiny. Čas nastaví na začátku uživatel pomocí dvou tlačítek. Hodiny by měly zobrazovat hodiny a minuty, avšak musí si pamatovat i vteřiny.
Rozšíření
- Klasické hodiny mají mezi minutami a hodinami tečku, která bliká v intervalu jedné vteřiny. Přidejte tuto funkci.
Evokace
Hodiny jsou každodenní přístroj používaný téměř každým.
- Jaké další přístroje využívají hodiny? (Budík, stopky, časovač)
- Jak vypadá ovládání takového zařízení? (tlačítka)
Uvědomění
- Jaké periferie knihovny dtbox budeme potřebovat?
- Button, Display
- Jaké datové reprezentace budeme potřebovat?
-
stav, ve kterém se hodiny nacházejí :
-
čas
Jak zjistím čas?
time.time_ns()
Jaká bude hlavní struktura kódu?
- proměnná určující stav hodin (spuštěno, nastavování hodin/minut, čekání na start)
- proměnné uchovávající čas (
hours
,minutes
,seconds
) - obsluha tlačítek (set přepínající stavy a change měnící hodnoty proměnných hours a minutes)
- nekonečná smyčka, která každou vteřinu provede přičtení do proměnné seconds a případně překreslí displej
Jaké jsou rizikové stavy?
- přetečení sekund, minut a hodin, je potřeba dodržet šedesátkovou soustavu
Reflexe
Co se vám na řešení líbí/nelíbí?
Kde si dokážete představit použití vašeho řešení? (kontrola s odpověďmi u evokace)
Jak byste pozměnili projekt, aby byl lépe použitelný v praxi?
Které části implementace byly nejnáročnější?
Co byste poradili někomu, kdo se chystá vytvořit podobný projekt?