Ří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 řídící 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 Váš model robotického vozítka a opatrně od něj odpojte řídící jednotku. Zbytek modelu odložte. Nebudete ho dnes potřebovat.

4.1 Řídicí jednotka LEGO Mindstorms EV3

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

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

4.2 Řídicí jednotka obsahuje ...

Pojďme jednotku prozkoumat a zkontrolovat si Vaše odpovědi. Obrázky jsou v pořadí, jak byla jednotka rozebírána.

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

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

V případě našeho LEGA jsou to buďto nabíjecí Li-ION baterie či AA baterie (klasické či nabíjecí NiMH). 

Nabíjecí Li-Ion baterie

Řídicí jednotka z nich napájí i další vnitřní i 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 - 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 rychlou pamětí, 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 tedy jen dočasnou pamětí

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 robot, např. Váš robotický vysavač, měl 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 - rozhodovat se.
 
🙋🏻 Jedná se o procesor ARM 9 o taktu 300 MHz. Zjednodušeně tak dokáže udělat 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í asi říkat nemusíme, zajímavé však bude, jak se ovládá.

 Stáhni 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š, 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 si mysleli.

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.

❓ Otázka: Jaký atribut určuje dobu znění tonů? Po jakou dobu byl na displeji původně text zobrazen?


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

Blok čekání (Wait)

Pro ovlivnění délky běhu programu můžeš využít i blok s čekáním („Wait“). Ten najdeš 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ř. stisknutí tlačítka.

4.4 Upravujeme program

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

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

Dokážete zobrazovat text postupně po písmenkách (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 např. nejdřív text zarovnat na střed a např. až poté řešit jeho pozici, zarovnání či mizení textu.

🙋🏻 Pro rychlé žáky: Vymyslete Vašemu 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áhni 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ť soubor. Přehrát by se ti měla stupnice, která je však pokažená.

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

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

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

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


🏷️ Co, když zobrazení nefunguje?
Zobrazení funguje jen, pokud je 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?



Jaké vlastnosti měním 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? Otevřete si program v záložce vyzva

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


2. Vyhledejte a opravte chyby.

3. Písničku dokončete.