4. Řídicí jednotka, zvuk a displej

V dnešní hodině si trochu odpočineme od ježdění, „rozebereme“ řídicí jednotku a budeme „kouzlit“ s grafikou a zvukem.  

Jistě jste si všimli, že jsme jak motory, tak i počítač připojovali k řídicí jednotce. Je to velmi důležitá „krabička“, která vše propojuje a stará se o vykonávání programů. Je v ní umístěn mikroprocesor ARM, velmi podobný tomu, který možná máte ve svém chytrém telefonu. Ten nejdříve tzv. dekóduje a poté vykonává vaše příkazy zadané do programovacího prostředí a uložené do programu.

Vezměte si svůj model robotického vozítka a opatrně od něj odpojte řídicí jednotku. Zbytek modelu odložte. Nebudete ho dnes potřebovat.

4.1 Řídicí jednotka LEGO Mindstorms EV3

Které prvky jsou (či mohou být) v řídicí jednotce?  

1. 
2. 
3. 
4. 
5. 
6. 
atd.

4.2 Co řídicí jednotka obsahuje

Pojďme jednotku prozkoumat a zkontrolovat si své odpovědi. Obrázky jsou v pořadí, ve kterém byla jednotka rozebírána.

Napájení − bez energie by řídicí jednotka nemohla fungovat.

Řídicí jednotka je elektrické zařízení napájené z baterií.

Používá buďto speciální nabíjecí Li-Ion baterii nebo univerzální AA baterie (klasické či nabíjecí NiMH).

Nabíjecí Li-Ion baterie

Řídicí jednotka z nich napájí i další vnitřní a vnější prvky, jako jsou např. motory, senzory, reproduktor, Bluetooth či displej.

Otevřená jednotka

Takto vypadá otevřená jednotka po povolení šroubů v prostoru baterie.

Všimněte si propojení displeje se základní deskou pomocí pásku vodičů.

Displej

Černobílý displej umožňuje zobrazit textové i grafické informace pomocí 178 x 128 pixelů.

🙋🏻 V textovém režimu je rozdělen na 22 sloupců (0 až 21) a 12 řádek (0 až 11).


Tlačítka jednotky EV3

Součástí řídicí jednotky jsou i tlačítka sloužící k ovládání jednotky či programů. Můžete je tedy využít.

Na desce tlačítek jsou i dvě řiditelné barevné diody, které podstvětlují tlačítka.   

Rozšíření − vstupní a výstupní porty

Možnosti jednotky lze rozšířit pomocí externích modulů (tlačítek, senzorů, motorů, aj.). Ty se připojují k portům.

Vstupní porty 1 až 4
Slouží ke čtení dat ze senzoru (např. hodnoty vzdálenosti či teploty).
Senzor také napájí (dodávají el. energii).

Výstupní porty A až D
Slouží k ovládání výstupních modulů (např. motorů).

🙋🏻 Senzory obvykle nevrací přímo měřenou hodnotu (např. 25 °C), ale číslo, které hodnotě odpovídá (např. 93 či 127). Čísla se pro různé typy senzorů liší. Je nutno je převést. Proto je tak důležité vědět, jaký typ senzoru je připojen, a volit při programování správné bloky.

🙋🏻 Výstupní porty LEGA ve skutečnosti umožňují i čtení dat z některých senzorů, např. čtení stavu otáček motoru. Obráceně to však neplatí.

Reproduktor

Integrovaný reproduktor je připojen ke zvukové kartě, která ho ovládá.

Pomocí programu můžete přehrát jak tóny, tak i zvukové soubory.

Paměť na základní desce

Jednotka je vybavena dvěma typy paměti − dočasnou, tzv. operační pamětí, a trvalou pamětí typu flash. 

Operační paměť RAM je velmi rychlá paměť, do které se ukládají data a ze které se spouští programy. Má však jednu velkou nevýhodu. Po odpojení napájení ztrácí svůj obsah. Je to tedy jen dočasná paměť

Paměť typu flash je pomalejší než RAM. Svůj obsah po odpojení však neztratí. Slouží pro uchování programů a tzv. firmwaru, hlavního řídicího programu.

✋ Důsledek: Pokud by měl robot, např. váš robotický vysavač, jen operační paměť RAM, po vybití baterie by již nefungoval. Opakovaně byste tak do něj museli program znovu nahrávat.

Procesor na základní desce

Procesor je řízen programem.
Na základě instrukcí může ukládat či přesouvat data, počítat nebo podle těchto dat řídit činnost – tedy rozhodovat se.
 
🙋🏻 Jedná se o procesor ARM 9 o taktu 300 MHz. Zjednodušeně tak dokáže vykonat až 300 miliónů operací za vteřinu.

4.3 „Hrátky“ s displejem

Nyní se podíváme na displej. Kde se nachází, to asi říkat nemusíme, zajímavé však je, jak se ovládá.

 Stáhněte si

Program displej

Začneme jednoduše. Připravili jsme pro vás úvodní program, který si můžete stáhnout pomocí ikony pro stažení v levé části obrazovky.

Zjišťujeme, co program dělá

📝 1. Napište, co program dělá.

📝 2. Napište, co očekáváte, že se stane, pokud odstraníte blok zvuku. Nevadí, když se zmýlíte. Důležité je se zamyslet. 

3. Otestujte, zda se stalo to, co jste předpokládali.

❓ Proč se na displeji nic nezobrazuje?

❓ Proč se na displeji nic nezobrazuje?

🏷️ Vysvětlení: Zobrazení textu na displeji sice proběhlo, protože však v programu nebyl další příkaz, program skončil. Text byl zobrazen jen na velmi malou chvíli do doby, než se řízení ujal operační systém (firmware jednotky), který obrazovku přepsal.

❓ Který atribut určuje dobu znění tonů? Po jakou dobu byl text na displeji původně zobrazen?


Další možnost, jak vyřešit zobrazení na displeji, najdete v následující záložce.

Blok čekání (Wait)

Pro ovlivnění délky běhu programu můžete využít i blok s čekáním Wait. Ten najdete v dolní oranžové sekci Flow Control. Blok oddálí vykonání dalšího příkazu po zadanou dobu (ve vteřinách). 


🏷️ Zajímavost: Blok dokáže čekat i na jiné události, např. na stisknutí tlačítka.

4.4 Upravujeme program

✋ Upozornění: Záložky nepřepínejte, dokud úkol nevyřešíte. 

Upravte program tak, aby text zůstal na displeji zobrazený po dobu 3 vteřin.

Dokážete zobrazovat text postupně po písmenech (L, LE, LEG, LEGO)?

Program vytvořte a vyzkoušejte.

Poradíte si i se složitějším, dvouřádkovým výpisem na obrázku? Zkuste to! 🙂


❗💡 TIP: Složitější úlohy je vhodné řešit po menších částech. Zkuste nejdřív např. zarovnat text na střed a až poté řešit jeho pozici, zarovnání či mizení textu.

🙋🏻 Vymyslete svému robotovi jméno a zajímavým způsobem ho vypište na displeji.

4.5 Hrátky se zvukem

Nyní našeho robota naučíme noty.

 Stáhněte si

Program stupnice

Stáhněte si program a přejděte k řešení následujících úkolů.

4.6 Program stupnice a zvuky

Spusťte soubor. Měla by se vám přehrát stupnice, která je však pokažená.

📝 Sepište, jaké chyby jakého druhu obsahuje.

Pokuste se chyby v programu vyhledat a opravit. Běh programu můžete přerušit tlačítkem stop.

Jak ladit chyby?
Je důležité vědět nejen to, jak se chyba projevuje, ale také kde se nachází (např. na začátku programu, na konci, uprostřed, po dlouhém tónu apod.). Je vhodné sledovat i parametry programových bloků.

💡 TIP: Všimněte si, že po spuštění se mění záhlaví bloku, který se právě vykonává. Tím můžete chybu taktéž dobře lokalizovat.


🏷️ Co když zobrazení nefunguje?
Zobrazení funguje, jen pokud je jednotka připojena k počítači (kabelem či přes Bluetooth) a program je spuštěn z programu EV3 Programming (např. tlačítkem spuštění). 

K čemu slouží jednotlivé parametry bloku?



Které vlastnosti měníme pomocí:
1. 
2. 
3. 
4. 

Které z nich jste pro opravu využili? 

🙋🏻 Poradili jste si se zvukem a lákají vás výzvy? Ve staženém programu si otevřete záložku vyzva

1. O kterou písničku se jedná? 


2. Vyhledejte a opravte chyby.

3. Písničku dokončete.