Přeskočit obsah

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í

  1. 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í :

state = 3
0 = running, 1 = setting hours, 

čas

hours = 0, minutes = 0, seconds = 0

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?