Řešené úlohy k 4.-5. lekci programovacího jazyka Arduina
Předchozí lekce, Podmínky v Arduinu, nás naučila pracovat s podmínkami a záludnostmi větvení programu.
Následující tři cvičení vám pomohou procvičit základní znalosti programování v Arduinu z minulých lekcí. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte.
Pokud si opravdu nebudete vědět rady, podívejte se raději znovu do minulých tutoriálů a pokuste se na to přijít.
Jednoduchý příklad
Napište program, který který provede základní početní operace
+
, -
, *
a /
a výsledek
potom vypíše na sériový monitor. Početní operace proveďte nejprve s
čísly 5
a 2
. Následně změňte hodnotu druhého
čísla na 0
a ověřte, že máte ošetřen případ dělení
nulou.
Pro početní operace důsledně zvažte výběr správného datového typu. To je důležité opět zejména při dělení.
Ukázka obrazovky programu:
Konzolová aplikace
Pocetni operace pro cisla 5.00 a 2.00
Scitani: 7.00
Odcitani: 3.00
Nasobeni: 10.00
Deleni: 2.50
Pocetni operace pro cisla 5.00 a 0.00
Scitani: 5.00
Odcitani: 5.00
Nasobeni: 0.00
Deleni: NULOU NELZE DELIT!
Středně pokročilý příklad
Napište program, který vygeneruje dvě náhodná čísla v rozmezí
1
až 6
. Bude tak simulovat hod dvěma kostkami. Pokud
bude první vygenerované číslo větší než druhé, program vypíše v
sériovém monitoru hlášku: Prvni cislo je vetsi
. V případě,
že první číslo bude menší než druhé, program zobrazí na sériovém
monitoru hlášku: Druhe cislo je vetsi
. V případě vylosování
stejných hodnot, vypište na sériový monitor:
Cisla jsou stejna
.
Pro generování náhodného čísla využijte funkce
randomSeed(analogRead(0))
a random(min, max)
. U
parametru pro maximální hodnotu zadané číslo už není losováno.
Ukázka obrazovky programu:
Konzolová aplikace
Padla cisla: 5 a 5
Cisla jsou stejna
Padla cisla: 4 a 2
Prvni cislo je vetsi
Padla cisla: 4 a 6
Druhe cislo je vetsi
Program nechte losovat, dokud nepadnou na obou kostkách šestky. Poté vypište gratulaci a losování neopakujte:
Konzolová aplikace
Padla cisla: 6 a 6
Cisla jsou stejna
BRAVO, vyhral jsi!
Pokročilý příklad
Napište program, který vygeneruje náhodné číslo v rozmezí
10
až 35
. Vygenerované číslo bude reprezentovat
teplotu ve stupních Celsia. Toto číslo pak program převede na stupně
Fahrenheita a na stupně Kelvina. Na sériový monitor vypíše:
Program pro prevod teplot a ovladani klimatizace v dome:
a poté
teplotu ve všech třech stupnicích jako na ukázce obrazovky programu.
Následně vyhodnotí teplotu v domě a vypíše konkrétní zprávu.
Jestliže bude teplota v domě 25 stupňů Celsia a více, program na sériovém
monitoru zobrazí: System: Zapinam klimatizaci.
. Při nižší
teplotě program vypíše: System: Klimatizace i topeni vypnuto
.
Pokud ovšem bude teplota 20 stupňů nebo méně, program vypíše:
System: Zapinam topeni.
Aktualizované údaje vypisujte na sériový monitor každé dvě sekundy a odřádkujte. Jakmile program prověří všechny tři teplotní rozsahy, zastaví generování dalších čísel.
Ukázka obrazovky programu:
Konzolová aplikace
Program pro prevod teplot a ovladani klimatizace v dome:
Teplota v dome (C): 24.00
Teplota v dome (F): 75.20
Teplota v dome (K): 297.15
System: Klimatizace i topeni vypnuto
Program pro prevod teplot a ovladani klimatizace v dome:
Teplota v dome (C): 29.00
Teplota v dome (F): 84.20
Teplota v dome (K): 302.15
System: Zapinam klimatizaci.
Program pro prevod teplot a ovladani klimatizace v dome:
Teplota v dome (C): 18.00
Teplota v dome (F): 64.40
Teplota v dome (K): 291.15
System: Zapinam topeni.
V následující lekci, Cykly, jejich syntaxe a použití, se seznámíme s cykly a předvedeme si jejich praktické užití.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 226x (3.28 kB)
Aplikace je včetně zdrojových kódů
K absolvování tohoto cvičení prosím splň všechny příklady tím, že je úspěšně odevzdáš k otestování.