Programování Lego robotů

Rozměr: px
Začít zobrazení ze stránky:

Download "Programování Lego robotů"

Transkript

1 Programování Lego robotů pomocí NQC (verze 3.03 z 2.října 1999) (česká verze 0.99 z 18. dubna 2003) Mark Overmars Department of Computer Science Utrecht University P.O.Box , 3508 TB Utrecht the Netherlands

2 Tento překlad vznikl částečně jako součást diplomové práce, částečně díky potřebě takovéto publikace dané rozšířením stavebnic Mindstorms v ČR. Nejsem profesionální typograf, překladatel ani programátor. V textu se proto mohou vyskytovat chyby nebo nepřesnosti. Naleznete-li nějaké, můžete mi je zaslat na mou adresu. Robert Seifert KF PF UJEP České mládeže Ústí nad Labem seifrob@hotmail.com

3 Předmluva Stavebnice Lego MindStorms a CyberMaster jsou novými nádhernými hračkami, ze kterých se dá postavit široká škála robotů, a ty pak mohou být programovány k vykonávání různých úloh všech obtížností. Naneštěstí software dodávaný se stavebnicí, ač vizuálně velmi atraktivní, má omezenou funkčnost. Proto může být použit k řešení pouze jednoduchých úloh. K využití celého potenciálu robotu potřebujete jiné programovací prostředí. NQC je programovací jazyk napsaný Davem Baumem a je speciálně určen pro roboty z Lega. Pokud jste nikdy předtím nenapsali program, nemusíte mít strach. NQC je snadné a tento tutoriál Vám poví vše potřebné. Ve skutečnosti je programování Lego robotů mnohem snazší než programování skutečných počítačů, a tak máte šanci stát se snadno programátorem. Aby bylo psaní programů snazší, je zde RCX Command Center. Tento nástroj Vám pomáhá psát programy, posílat je robotu, spouštět je a ukončovat. RCX Command Center funguje podobně jako každý textový editor, ale nabízí i něco navíc. Tento tutoriál používá jako programovací prostředí RCX Command Center (verze 3.0 nebo vyšší) 1. Můžete si jej zdarma stáhnout z adresy RCX Command Center běží na počítačích PC s operačním systémem Windows (95, 98, NT). Ujistěte se, že jste alespoň jednou spustili software, který přišel se stavebnicí! Tento software obsahuje komponenty, které RCX Command Center využívá. Samotný jazyk NQC však může být využíván i na jiných systémech (Sun, Apple, UNIX a další). Můžete jej stáhnout z www adresy Většina z tohoto tutoriálu je použitelná i pro práci na jiných platformách (za předpokladu, že používáte NQC 2.0 nebo vyšší 2 ), pouze přijdete o některé nástroje a barevné zvýraznění syntaxe. V tomto tutoriálu předpokládám, že máte robot ze stavebnice MindStorms. Valná část obsahu se také vztahuje na roboty CyberMaster, ale některé funkce nebudou u těchto robotů dostupné. Také některá jména, např. motorů, jsou odlišná a tak si budete muset příklady trochu upravit, aby pracovaly bezchybně i na CyberMaster robotech. Poděkování Rád bych na tomto místě poděkoval Davu Baumovi za vývoj NQC. Také velice děkuji Kevinu Saddi za napsání první verze první části tohoto tutoriálu. 1 Vývoj RCX Command Center byl ukončen, Nová verze pod názvem Bricx Command Center je dosažitelná na adrese 2 V současnosti je dostupná vyšší verze, která má některé vlastnosti rozšířené oproti popisu v tomto textu. 3

4 4

5 Obsah 1 Váš první program Stavba robotu Začínáme s RCX Command Center Psaní programu Spuštění programu Chyby v programu Nastavení rychlosti Shrnutí Zajímavější program Zatáčení Opakování příkazů Přidávání komentářů Shrnutí Použití proměnných Pohyb po spirále Náhodná čísla Shrnutí Řídící struktury Příkaz if Příkaz do Shrnutí Senzory Čekání na senzor Práce s dotykovým senzorem Světelné senzory Shrnutí Úlohy a podprogramy Úlohy Podprogramy Inline funkce Definování maker Shrnutí Hraní hudby Vestavěné zvuky Hraní hudby Shrnutí

6 8 Více o motorech Brzdíme něžně Rozšířené příkazy Změna rychlosti motoru Shrnutí Více o senzorech Typy senzorů a režimy práce Rotační senzor Připojení více senzorů na jeden vstup Děláme si detektor překážek Shrnutí Paralelní úlohy Špatný program Ukončování a restartování úloh Používáme semafory Shrnutí Komunikace mezi roboty Dávání příkazů Volba vůdce Varování Shrnutí Další příkazy Časovače Displej Použití datalogu Shrnutí Stručná referenční příručka NQC Příkazy Podmínky Výrazy Funkce RCX Konstanty RCX Klíčová slova Závěrečné poznámky 68 6

7 1 Váš první program V této kapitole si ukážeme, jak napsat první jednoduchý program. Naprogramujeme robota, aby se pohyboval 4 sekundy vpřed, poté 4 sekundy vzad a nakonec aby zastavil. Není to nic světoborného, ale ukážeme si tím základní myšlenku programování a jak je to jednoduché. Předtím ale, než můžeme začít psát program, potřebujeme robota. 1.1 Stavba robotu Robot, který nás bude provázet tímto tutoriálem, je zjednodušenou verzí přísně tajného robotu popsaného na stránkách vaší Constructopedie. Použijeme pouze základní šasi. Odstraňte celý předek se dvěma rameny a dotykovými čidly. Také připojte vodiče odlišně tak, aby přicházely k RCX zvenčí. To je důležité, aby Váš robot jel správným směrem. Po všech úpravách by měl Váš robot vypadat tak, jako na obrázku 1. Obrázek 1: Dozer Ujistěte se také, že je infraport správně připojen k počítači a nastaven na dlouhou vzdálenost. (Možná budete chtít přezkoušet robota pomocí RIS software, abyste se ujistili o jeho správné funkci.) 7

8 1.2 Začínáme s RCX Command Center Naše programy budeme psát v RCX Command Center. Spusťte jej dvojklikem na ikonu RcxCC. (Předpokládám, že máte RCX Command Center správně nainstalován. Pokud ne, stáhněte si jej z www stránky (adresu najdete v předmluvě), rozbalte ho a umístěte do adresáře který se Vám hodí.) Program se Vás zeptá, který robot se má vyhledat. Zapněte robota a stiskněte OK. Program jej (většinou) najde automaticky. Poté se na obrazovce objeví uživatelské prostředí jako zde na obrázku 2. Obrázek 2: Obrazovka RCX Command center Rozhraní se bodobá běžnému textovému editoru, s obvyklými menu, panely a tlačítky pro otevírání a ukládání souborů, tisk, editaci atp. Také je zde ale zvláštní menu pro kompilování a nahrávání programů do robotů a pro získávání informací z robotů. Pro teď jej můžeme ignorovat. Jdeme psát nový program. Tedy stiskněme New File tlačítko pro vytvoření nového, prázdného okna. 1.3 Psaní programu Nyní do okna napište program uvedený v příkladu POZOR! Jazyk NQC patří mezi tzv. case sensitive, a tak záleží na použití velkých a malých písmen. 8

9 task main() OnFwd(OUT_A); OnFwd(OUT_C); Wait(400); OnRev(OUT_A+OUT_C); Wait(400); Off(OUT_A+OUT_C); Příklad jízda vpřed a vzad Na první pohled to vypadá velmi složitě, a tak se na něj podíváme zblízka. Program v NQC sestává z úloh (anglicky task). Náš program má jen jednu úlohu, nazvanou main. Každý program musí mít úlohu nazvanou main (anglicky hlavní), a tato úloha je zpracovávána při stisknutí tlačítka RUN na RCX. O úlohách se více dočtete v kapitole 6. Úloha se skládá z množství příkazů, také nazývaných programové kroky (anglicky statement). Všechny programové kroky jsou pomocí složených závorek (tedy znaků f a g ) uzavřeny do skupiny, aby bylo jasné, že všechny patří k této úloze. Každý programový krok je ukončen středníkem. Díky tomu je jasné, kde jeden programový krok končí a začíná druhý. Takže v podstatě každá úloha má strukturu jako v příkladu 1.2. task main() příkaz1; příkaz2; - Příklad struktura programu v NQC Program 1.1 má šest programových řádků (kroků). Nyní je probereme jeden po druhém. OnFwd(OUT A); Tento řádek říká robotu, aby zapnul výstup A (On Forward Output A), tedy motor připojený na výstup označený A na RCX pro pohyb vpřed. Bude se pohybovat maximální rychlostí, pokud ji předtím nenastavíte. Později si ukážeme jak toho dosáhnout. OnFwd(OUT C); Stejný příkaz, pouze pro motor C. Po zpracování těchto dvou řádků běží oba dva motory a robot se pohybuje vpřed. 9

10 Wait(400); Nyní je čas chvíli počkat (Wait). řádek říká, aby se počkalo 4 sekundy. Argument 4, tedy číslo mezi závorkami, udává počet tiků. Každý tik trvá 1/100 sekundy, takže můžete velice přesně určovat dobu čekání. Teď tedy po 4 sekundy program nic nedělá (tzv. spí ) a robot proto pokračuje v pohybu vpřed. OnRev(OUT A+OUT C); Robot už ujel dost daleko a tak je čas říci mu, aby jel v opačném směru (On Reverse), tedy zpět. Všimněte si, že můžeme nastavit oba motory najednou s použitím OUT A+OUT C jako argumentu. Podobným způsobem jsme mohli zkombinovat i první dva programové řádky. Wait(400); Opět se 4 sekundy čeká Off(OUT A+OUT C); A konečně vypneme (Off ) oba motory. A to je celý program. Točí oběma motory 4 sekundy dopředu, pak 4 sekundy dozadu a nakonec je vypne. Pravděpodobně jste si všimli barevného značení při psaní programu. Barvy se objevují automaticky. Vše. co je v modré barvě, jsou příkazy pro robota, názvy motorů nebo jiných věcí které robot zná. Slovo task je vypsáno tučně, protože je důležitým (rezervovaným) slovem NQC. Další důležitá slova se také objevují tučně, jak později uvidíme. Barvy jsou užitečné, protože už při psaní uvidíme, že jsme neudělali chybu. 1.4 Spuštění programu Když napíšete program, musíte ho zkompilovat (to znamená přeložit ho do kódu, kterému robot rozumí a který může vykonávat) a zaslat robotovi pomocí infračerveného spojení (proces je nazýván downloading programu ). RCX Command Center má tlačítko, které vše udělá na jedno stisknutí (viz obr. 2). Stiskněte toto tlačítko a, pokud jste neudělali žádnou chybu při přepisování, Váš program bude zkompilován a nahrán do robotu. (Pokud se při překladu (kompilaci) programu vyskytnou chyby, budete na to upozorněni. Bližší informace viz odstavec 1.5. Nyní můžete spustit Váš program. Buď stiskněte zelené tlačítko na RCX, nebo stiskněte tlačítko pro spuštění programu na panelu RCX Command Center (viz obr. 2). Dělá robot to, co jste očekávali? Pokud ne, přívodní kabely jsou pravděpodobně špatně připojeny (podívejte se na obrázek 1). 1.5 Chyby v programu Při psaní programu přirozeně může dojít k chybám. Překladač chyby rozpozná a ohlásí je na spodní části okna 5 podobně jako na obrázku 3. Překladač automaticky označí první chybu (špatně zapsané jméno motoru). Pokud je v hlášeno více chyb, můžeme je rychle zobrazit kliknutím na chybové 4 Někdy též budeme používat termín parametr 5 Autor hovoří o tzv. typo chybách přepsání se, tedy psaní tsak místo task atp. Proti logickým chybám špatnému návrhu programu Vám sebelepší překladač nepomůže 10

11 Obrázek 3: Příklad chybového hlášení zprávy. Mějte na paměti, že často jsou chyby uvnitř programu způsobeny chybami na jeho začátku. Takže raději opravte několik prvních chyb a zkompilujte program znovu. Také si všímejte barevného zvýraznění, pomáhá proti překlepům. Například v posledním řádku jsme chybně napsali Of namísto Off. Slovo není zbarveno modře, protože se nejedná o známý příkaz. V programu se také mohou vyskytnout chyby, které překladač nenalezne. Pokud bychom napsali OUT B namísto OUT D v našem příkladu na obr. 3, kompilace by proběhla bez hlášení o chybě, neboť výstup B existuje (přestože není v našem robotu využíván). Takže pokud robot vykazuje neočekávané chování, je většinou něco špatně s Vaším programem. 1.6 Nastavení rychlosti Jak jste si jistě všimli, robot jezdí dost rychle. V základním nastavení se robot pohybuje tak rychle, jak jen může. Pro změnu rychlosti můžete použít příkaz SetPower(výstup,síla), kde výstup je označení výstupního portu a síla je číslo mezi nulou a sedmi. Číslo 7 je pro nejvyšší, nula pro nejnižší rychlost (ale robot se stále bude hýbat). Příklad 1.3 ukazuje novou verzi programu, ve které se robot bude pohybovat pomalu. 1.7 Shrnutí V této kapitole jste napsali svůj první program v NQC s použitím programu RCX Command Center. Nyní byste měli vědět, jak zapisovat programy, jak je nahrávat do robotů a jak programy spouštět. RCX Command Center má ale mnohem více funkcí. Pro bližší popis si přečtěte dokumentaci k programu. Tento tutoriál se primárně zabývá jazykem NQC a zmiňuje se o funkcích RCX Command Center pouze tehdy, je-li to nezbytně nutné. Dozvěděli jste se některé důležité aspekty jazyka NQC, zejména fakt, že 11

12 task main() SetPower(OUT_A+OUT_C,2); OnFwd(OUT_A+OUT_C); Wait(400); OnRev(OUT_A+OUT_C); Wait(400); Off(OUT_A+OUT_C); Příklad změna rychlosti každý program musí mít jednu úlohu nazvanou main, která je vždy spouštěna robotem. Také jste se naučili čtyři nejdůležitější příkazy pro motory: OnFwd(), OnRev(), SetPower() a Off(). Posledním z probraných příkazů je příkaz Wait(). 12

13 2 Zajímavější program Náš první program nebyl příliš velkolepý. Proto vyzkoušíme něco zajímavějšího. Uděláme to v několika krocích a ukážeme si přitom některé důležité vlastnosti programovacího jazyka NQC. 2.1 Zatáčení Robota můžete přinutit zatáčet zastavením nebo obrácením směru chodu jednoho z jeho dvou motorů. Příklad 2.1 ukazuje, jak na to. Opište ho, nahrajte do robotu a spusťte. Robot by měl chvíli jet a pak udělat devadesátistupňový obrat vpravo. task main() OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); Off(OUT_A+OUT_C); Příklad obrat vpravo Možná budete muset vyzkoušet trochu jiné číslo než 85 ve druhém příkazu Wait() abyste dosáhli obratu o přesně 90. To záleží na povrchu, po kterém robot jede. Spíše než změnou jednotlivých hodnot přímo v programu je vhodnější použít pro číslo jméno. V NQC můžeme definovat konstanty způsobem naznačeným v příkladu 2.2. První dva řádky definují dvě konstanty. Ty teď mohou být použity kdekoli v programu. Definování konstant je dobré ze dvou důvodů: Program je čitelnější a je snazší měnit hodnoty konstant. Všimněte si také, že RCX Command Center má pro příkaz #define zvláštní barvu. Jak uvidíme v kapitole 6, můžeme definovat i jiné věci, než jen konstanty. 2.2 Opakování příkazů Nyní se pokusíme napsat program, který přikáže robotu jezdit po čtverci. Jet po čtverci znamená: jet vpřed, zatočit o 90 stupňů, znovu jet vpřed, opět zatočit o 90 stupňů atd. Mohli bychom čtyřikrát zkopírovat kód programu 2.2, ale výsledku může být dosaženo snáze pomocí příkazu repeat(), jak ukazuje příklad 2.3. Číslo mezi závorkami (v argumentu) příkazu repeat() určuje, kolikrát musí být něco zopakováno. Programové řádky určené k opakování jsou vloženy mezi dvě složené závorky, přesně jako příkazy v úloze. Také si všimněte, jak jsou 13

14 #define MOVE_TIME 100 #define TURN_TIME 85 task main() OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); Off(OUT_A+OUT_C); Příklad využití konstant jednotlivé programové řádky odsazeny. Není to nutné, ale zvyšuje to přehlednost programu. Jako poslední příklad necháme robot jet desetkrát po čtverci. V příkladu 2.4 je program, který tento úkol řeší. V programu je jeden příkaz repeat() uvnitř druhého. Tuto konstrukci nazýváme vnořený cyklus. Můžete do sebe vkládat repeat cykly, jak se Vám zlíbí. Pouze dávejte pozor na správné uzávorkování a odsazení použité v programu. Úloha začíná s první a končí s poslední složenou závorkou. První repeat cyklus začíná u druhé a končí u páté. Druhý, vnořený repeat cyklus začíná na třetí a končí se čtvrtou závorkou. Jak vidíte, všechny závorky jsou spárované a kód mezi nimi je odsazen. 2.3 Přidávání komentářů Aby Váš program byl ještě srozumitelnější, je vhodné k němu přidat komentáře. Vložíte-li kdekoliv na řádek dvojznak // (dvě lomítka), bude vše za tímto označením překladačem ignorováno a může sloužit jako poznámka či komentář. Víceřádkový komentář může být vložen mezi dvojznaky /* a */. Komentáře jsou v RCX Command Center zbarveny zeleně. Hotový program může vypadat třeba jako v příkladu Shrnutí V této kapitole jsme se naučili použití příkazu repeat() a použití komentářů. Také jste se seznámili s funkcí složených závorek a s použitím odsazení. S těmito znalostmi již můžete naprogramovat robota k pohybu po libovolné dráze. Je dobrým cvičením vyzkoušet si to a napsat několik variací programů z této části před pokračováním v další kapitole. 14

15 #define MOVE_TIME 100 #define TURN_TIME 85 task main() repeat(4) OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); Off(OUT_A+OUT_C); Příklad příklad repeat cyklu #define MOVE_TIME 100 #define TURN_TIME 85 task main() repeat(10) repeat(4) OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); Off(OUT_A+OUT_C); Příklad vnořený cyklus 15

16 /* 10 SQUARES Mark Overmars Tento program nechá robot opsat deset čtverců */ #define MOVE_TIME 100 // čas pro přímý pohyb #define TURN_TIME 85 // čas pro otočení o 90 stupňů task main() repeat(10) repeat(4) OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnRev(OUT_C); Wait(TURN_TIME); Off(OUT_A+OUT_C); // Udělej 10 čtverců // Každý čteverec má 4 strany // jeď vpřed // čekej // pravý pás jede vzad // čekej // Teď vypni motory Příklad použití komentářů 16

17 3 Použití proměnných Proměnné jsou jednou z nejdůležitějších částí každého programovacího jazyka. Proměnné jsou místa v paměti, do kterých můžeme ukládat hodnoty. Můžeme tuto hodnotu použít na různých místech a také ji měnit 6. Nechte mne popsat použití proměnných s pomocí jednoduchého programu. 3.1 Pohyb po spirále Předpokládejme, že chceme modifikovat program 2.5 tak, aby se robot pohyboval po spirále. Toho můžeme dosáhnout tak, že pokaždé o něco zvětšíme dobu, po kterou pojede robot rovně vpřed. Tedy potřebujeme pokaždé o něco zvýšit hodnotu konstanty MOVE TIME. Ale jak to udělat? MOVE TIME je konstanta a konstanty nemohou být měněny. místo konstanty potřebujeme proměnnou. Proměnné mohou být v NQC snadno definovány, může jich být až 32 7 a mohou mít vlastní jména. Příklad 3.1 ukazuje právě program pro jízdu po spirále. #define TURN_TIME 85 int move_time; // definujeme proměnnou task main() move_time = 20; repeat(50) OnFwd(OUT_A+OUT_C); Wait(move_time); OnRev(OUT_C); Wait(TURN_TIME); move_time += 5; Off(OUT_A+OUT_C); // nastavíme počáteční hodnotu // zde je proměnná použita pro čekání // zvýšíme hodnotu proměnné Příklad jízda po spirále Zajímavé části kódu jsou okomentovány. Nejprve definujeme proměnnou pomocí klíčového slova int následovaného jménem, které jsme si vybrali. (Obvykle jsou používána malá písmena pro proměnné a velká pro konstanty, ale tato dohoda není závazná a záleží jen na štábní kultuře toho kterého programátora. Dodržování těchto konvencí ale činí program srozumitelnějším.) Jméno musí 6 myšleno za běhu programu. To je hlavní rozdíl proti konstantám pevně definovaných příkazem #define. Jejich hodnotu za běhu programu měnit nelze. 7 Tento počet je dán omezeními firmware RCX 17

18 začínat písmenem, ale může obsahovat číslice a znak podtržítko. Žádné jiné symboly nejsou povoleny. (Totéž platí pro konstanty, jména úloh atp.) Podivné slovo int je zkratka za anglické integer, celé číslo. Do této proměnné mohou být uschována pouze celá čísla. Ve druhém okomentovaném řádku přiřazujeme proměnné hodnotu 20. Použijete-li kdekoliv od této chvíle jméno proměnné, znamená to 20. Nyní následuje repeat cyklus, ve kterém používáme proměnnou k určení doby čekání a vždy na konci cyklu zvyšujeme hodnotu této proměnné o 5. Tedy poprvé robot čeká 20 tiků, podruhé 25, potřetí 30 atd. Vedle zvyšování hodnoty proměnné můžeme také násobit proměnnou číslem použitím operátoru *=, odčítat použitím -= a dělit s pomocí /=. (Poznamenejme jen, že výsledek dělení je zaokrouhlen na nejbližší celé číslo.) Také můžete sčítat jednu proměnnou s druhou a vytvářet mnohem komplikovanější výrazy. Několik příkladů je v programu 3.2. int aaa; int bbb,ccc; task main() aaa = 10; bbb = 20 * 5; ccc = bbb; ccc /= aaa; ccc -= 5; aaa = 10 * (ccc + 3); // aaa je nyní rovno 80 Příklad jednoduché matematické výrazy Povšimněte si, jak je ve druhém řádku definováno více proměnných najednou. Také jsme je mohli zkombinovat všechny tři na jeden řádek. 3.2 Náhodná čísla Ve všech předchozích příkladech jsme přesně určili, co má robot dělat. Vše je ale mnohem zajímavější, když nevíme, co bude robot dělat. Požadujeme určitou nahodilost v jeho pohybech. V NQC můžeme generovat náhodná čísla. Následující program (příklad 3.3) je používá k jízdě robotu náhodným směrem. Robot jede vpřed po náhodnou dobu a pak provede otočení do náhodného směru. Program definuje dvě proměnné a pak jim přiřadí náhodná čísla. Random(60) znamená náhodné číslo mezi 0 a 60 (může to být i 0 i 60). Pokaždé bude hodnota jiná. (Poznamenejme, že při psaní programu jsme se mohli zbavit proměnných použitím konstrukce Wait(Random(60)).) Také zde můžete vidět nový typ cyklu. Místo použití příkazu repeat() jsme napsali while(true). Příkaz while() opakuje příkazy uvedené pod ním do té 18

19 int move_time, turn_time; task main() while(true) move_time = Random(60); turn_time = Random(40); OnFwd(OUT_A+OUT_C); Wait(move_time); OnRev(OUT_A); Wait(turn_time); Příklad náhodný pohyb doby, dokud je podmínka v závorkách splněna (pravdivá). Speciální slovo true je vždy pravda, takže řádky ve složených závorkách budou opakovány neustále, přesně jak jsme chtěli. Více se o tomto příkazu dočtete v kapitole Shrnutí V této kapitole jste se naučili, jak použít proměnné. Proměnné jsou velice užitečné, ale kvůli omezením daným RCX je jejich využití limitováno. Můžete definovat pouze 32 proměnných a ty mohou obsahovat pouze celá čísla. Ale i to postačuje k řešení mnoha úloh robotiky. Také jsme se naučili vytvářet náhodná čísla, takže můžeme robotovi dát nepředvídatelné chování. Nakonec jsme viděli použití while cyklu k vytvoření nekonečného, stále se opakujícího cyklu. 19

20 4 Řídící struktury V předchozích kapitolách jsme viděli příkazy repeat() a while(). Tyto příkazy kontrolují způsob, jakým jsou vykonávány ostatní příkazy v programu. Jsou proto nazývány Řídícími (kontrolními) strukturami. V této kapitole si ukážeme některé další řídící struktury. 4.1 Příkaz if Někdy potřebujeme, aby určitá část programu byla vykonána pouze v v jisté situaci. V tomto případě použijeme příkaz if() 8. Nechte mě uvést příklad. Opět změníme program se kterým jsme až dosud pracovali, ale nyní to bude novým způsobem. Chceme, aby robot jel nejprve rovně a pak zatočil buď vlevo, nebo vpravo. K tomu opět potřebujeme náhodná čísla. Vezmeme náhodné číslo mezi nulou a jedničkou, tedy to bude buď nula, a nebo jednička. Jestliže bude číslo 0, otočíme se vpravo, jinak se otočíme vlevo. Výsledný kód je v příkladu 4.1. #define MOVE_TIME 100 #define TURN_TIME 85 task main() while(true) OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); if (Random(1) == 0) OnRev(OUT_C); else OnRev(OUT_A); Wait(TURN_TIME); Příklad použití podmínky if Příkaz if() má podobnou strukturu jako while(). Pokud podmínka uvedená v závorkách je pravdivá, provede se část ve složených závorkách. V opačném případě se provede část za klíčovým slovem else 9. Nyní se trochu lépe 8 anglicky if znamená jestliže 9 anglicky jinak 20

21 podíváme na podmínku, kterou jsme použili. Říká Random(1) == 0. To znamená, že Random(1) musí být roven nule, aby byla podmínka splněna (pravdivá). Možná se divíte, proč se používá == místo =. Důvodem je potřeba rozlišit mezi vkládáním hodnoty do proměnné a testováním rovnosti. Můžeme porovnávat hodnoty několika způsoby. Tady jsou ty nejdůležitější: == je rovno s < je menší než <= je menší nebo rovno než > je větší než >= je větší nebo rovno než!= není rovno s Můžete kombinovat jednotlivé podmínky pomocí &&, což znamená a zároveň, nebo, což znamená nebo. Zde jsou některé příklady takových kombinací: true false ttt!= 3 (ttt >= 5) && (ttt <= 10) (aaa == 10) (bbb == 10) vždy pravda vždy nepravda pravda pokud proměnná ttt není rovna třem pravda pokud hodnota proměnné leží mezi 5 a 10 pravda pokud buď aaa, nebo bbb (nebo oba) jsou rovny 10 Všimněte si, že příkaz if() má dvě části. Část okamžitě za podmínkou, která je vykonána pokud je podmínka pravdivá, a část za klíčovým slovem else, která je vykonána, pokud je podmínka nepravdivá. Klíčové slovo else a následná část nejsou povinné, takže je můžete vynechat, pokud program nemá co dělat v případě nesplnění podmínky. 4.2 Příkaz do Máme zde další řídící strukturu, cyklus do. Jeho stavba je uvedena v příkladu 4.2. do příkazy; while (podmínka); Příklad struktura cyklu do 21

22 Příkazy mezi složenými závorkami jsou vykonávány tak dlouho, dokud je podmínka pravdivá (splněna). Podmínka má ten samý tvar, jaký již byl popsán. Příklad 4.3 uvádí takový program. Robot se bude náhodně pohybovat cca 20 sekund a poté se zastaví. int move_time, turn_time, total_time; task main() total_time = 0; do move_time = Random(100); turn_time = Random(100); OnFwd(OUT_A+OUT_C); Wait(move_time); OnRev(OUT_C); Wait(turn_time); total_time += move_time; total_time += turn_time; while (total_time < 2000); Off(OUT_A+OUT_C); Příklad využití cyklu do Všimněte si, že jsme umístili dva příkazy do jednoho řádku. To je povoleno. Můžete umístit tolik příkazů na řádek, kolik chcete, pokud je oddělíte středníky. Takovéto umístění sice zmenšuje soubor, ale nepřidává mu na čitelnosti. Také si uvědomte, že do cyklus má téměř stejné chování jako while cyklus, pouze s tím rozdílem, že while cyklus testuje podmínku před spuštěním příkazů, zatímco v do cyklu jsou příkazy provedeny alespoň jednou Shrnutí V této kapitole jsme se podívali na dvě nové kontrolní struktury: rozhodovací příkaz if() a příkaz cyklu do. Dohromady s příkazy repeat() a while() tvoří skupinu příkazů, které kontrolují běh programu. Je velmi důležité vědět, co přesně dělají. Proto bude lépe, když si sami vyzkoušíte více příkladů předtím, než se pustíte do pokračování. Také jste zjistili, jak vložit více příkazů na jeden řádek. 10 Podmínka je testována až po proběhnutí příkazů. 22

23 5 Senzory Jednou z vymožeností Lego robotů je možnost připojit k nim senzory (čidla) a pak na ně nechat roboty reagovat. Předtím, než Vám to budu moci ukázat, musíme k robotu přidat senzor. Postavte tedy čidlo podle vyobrazení na straně 28 ve vaší Constructopedii. Možná budete chtít udělat senzor trochu širší, takže bude vypadat jako tady na obrázku: Obrázek 4: přední nárazník Senzor připojte na vstup číslo 1 RCX. 5.1 Čekání na senzor Začneme s velmi jednoduchým programem, ve kterém robot jede vpřed, dokud do něčeho nenarazí. Příklad 5.1 je oním programem. V programu jsou dva důležité řádky. První řádek programu říká, který typ senzoru používáme. SENSOR 1 je číslo vstupu, ke kterému je senzor připojen. Další dva vstupy se jmenují SENSOR 2 a SENSOR 3. Údaj SENSOR TOUCH říká, že se jedná o dotykový senzor 11. Pro světelné čidlo bychom použili označení SENSOR LIGHT. Poté, co jsme specifikovali typ senzoru, program zapne oba motory a robot se začne pohybovat vpřed. Dalším programovým krokem je velmi užitečná konstrukce. Program v daném místě čeká, dokud podmínka v závorkách nebude splněna. Tato podmínka říká, že hodnota senzoru SENSOR 1 musí 11 Z anglického touch - dotýkat se 23

24 task main() SetSensor(SENSOR_1,SENSOR_TOUCH); OnFwd(OUT_A+OUT_C); until (SENSOR_1 == 1); Off(OUT_A+OUT_C); Příklad čekání na událost od senzoru být rovna 1, což znamená, že bylo čidlo stlačeno. Dokud se senzor ničeho nedotýká, je hodnota 0. Takže tento příkaz čeká, dokud se čidlo něčeho nedotkne. Potom vypneme motory a program se ukončí. 5.2 Práce s dotykovým senzorem Nyní zkusíme naprogramovat robot k vyhýbání se překážkám. Kdykoli robot do něčeho narazí, necháme ho pohnout se maličko zpět, trochu se otočit a pak pokračovat. Program je uveden v příkladu 5.2. task main() SetSensor(SENSOR_1,SENSOR_TOUCH); OnFwd(OUT_A+OUT_C); while (true) if (SENSOR_1 == 1) OnRev(OUT_A+OUT_C); Wait(30); OnFwd(OUT_A); Wait(30); OnFwd(OUT_A+OUT_C); Příklad vyhýbání se překážkám Podobně jako v předchozím příkladě, nastavíme nejprve typ senzoru. Poté se robot začne pohybovat vpřed. V nekonečném cyklu neustále testujeme, jestli je senzor stlačen, a pokud ano, pohybujeme se 1/3 sekundy zpět, 1/3 sekundy se otáčíme vpravo a pak opět pokračujeme vpřed. 24

25 5.3 Světelné senzory Vedle dotykových senzorů také se stavebnicí MindStorms dostanete světelný senzor. Tento senzor měří množství světla přicházející z určitého směru. Světelný senzor také světlo vysílá. Díky tomu je možno namířit jej na nějaký objekt a změřit jeho odrazivost množství světla, které se odrazí zpět k senzoru. To je velmi užitečné, když satvíme robota na sledování čáry na podlaze. To je přesně to, o co se pokusíme v následujícím příkladu. Nejprve ale potřebujeme připojit světelný senzor k robotu tak, aby byl uprostřed robotu, vpředu a mířil k zemi. Připojte jej ke vstupu 2. Můžete udělat konstrukci podobnou té na obrázku 5: Obrázek 5: detail uchycení světelného čidla Také budeme potřebovat závodní dráhu dodávanou s RIS stavebnicí (Velký list papíru s černým oválem.) Princip programu je následující: Robot se neustále ujišťuje, že je nad dráhou (černou čárou). Kdykoli intenzita odraženého světla vzroste, světelný senzor svítí na bílý papír a je tedy mimo dráhu. Musíme proto upravit směr. Program pro sledování čáry demonstruje příklad 5.3. Je sice velmi jednoduchý, funguje ale pouze při jízdě ve směru hodinových ručiček. Program nejprve nastaví vstup číslo 2 pro světelný senzor. Potom zapne pohyb vpřed a spustí nekonečný cyklus. Kdykoli je hodnota čtená ze světelného senzoru větší než 40 12, zapneme pohyb zpět na jednom motoru a čekáme, dokud nejsme zpět na dráze. 12 Použili jsme konstantu, takže můžeme hodnotu snadno změnit, jelikož velmi závisí na okolním světle. 25

26 #define THRESHOLD 40 // prahová hodnota světla task main() SetSensor(SENSOR_2,SENSOR_LIGHT); OnFwd(OUT_A+OUT_C); while (true) if (SENSOR_2 > THRESHOLD) OnRev(OUT_C); Wait(10); until (SENSOR_2 <= THRESHOLD); OnFwd(OUT_A+OUT_C); Příklad sledování čáry Jak uvidíte při zkoušení programu, pohyb robota není příliš plynulý. Zkuste přidat příkaz Wait(10) před příkaz until() pro plynulejší pohyb robotu. Ještě zbývá poznamenat, že program nefunguje pro pohyb proti směru hodinových ručiček. Pro následování libovolné křivky je zapotřebí mnohem komplikovanějšího programu. 5.4 Shrnutí V této kapitole jste viděli, jak pracovat s dotykovými a světelnými čidly. Také jsme se seznámili s příkazem until(), který je užitečný při práci se senzory. V této chvíli Vám doporučuji si samostatně napsat několik programů. Máte nyní všechny potřebné znalosti, abyste své roboty vybavili komplikovaným chováním. Například zkuste nasadit na předek robota dva dotykové senzory, jeden vlevo a jeden vpravo, a naprogramujte ho na pohyb od překážky, do které narazil. Také zkuste naprogramovat robota, aby zůstal uvnitř černě orámované oblasti na podlaze. 26

27 6 Úlohy a podprogramy Až doposud všechny naše programy sestávaly z jedné úlohy. NQC programy ale mohou mít několik úloh. Také je možné vložit části kódu do takzvaných podprogramů, které pak můžete opakovaně použít na různých místech programu. Používání úloh a podprogramů činí Váš program srozumitelnějším a kompaktnějším. V této kapitole se podíváme na různé možnosti tohoto použití. 6.1 Úlohy Program v NQC může sestávat až z deseti úloh. Každá úloha musí mít své (jedinečné) jméno, přičemž jedna se musí jmenovat main. Tato úloha je spouštěna při stisknutí zeleného run tlačítka na RCX. Ostatní úlohy budou spuštěny, pouze pokud je spustí již probíhající úloha pomocí příkazu start. Od tohoto okamžiku poběží obě úlohy současně (první úloha tedy pokračuje v běhu). Probíhající úloha také může ukončit jinou probíhající úlohu pomocí příkazu stop. Později může být tato úloha znovu spuštěna, ale pak začne probíhat znovu od začátku a nikoli z bodu, kde byla ukončena. Nyní budu demonstrovat použití úloh. Znovu nasaďte na robota dotykový senzor. Chceme napsat program, ve kterém se robot bude pohybovat ve čtvercích podobně jako v příkladu 2.4. Když ale robot narazí do překážky, měl by na ni reagovat. To se obtížně řeší v jedné úloze, protože robot musí dělat dvě věci najednou: jezdit dokola (tedy zapínat a vypínat motory ve správný čas) a hlídat senzory. Proto je lépe použít dvě úlohy. Jednu pro pohyb po čtverci a druhou pro reagování na senzory. Program najdete v příkladu 6.1. Hlavní úloha pouze nastaví typ senzoru a pak spustí obě další úlohy. Poté je běh hlavní úlohy ukončen. Úloha move square řídí robot při jízdě po čtvercích. Úloha check sensors hlídá, zda došlo ke stlačení dotykového čidla. Pokud ano, provede následující akce: Nejprve zastaví běh úlohy move square. To je velmi důležité, protože jinak by se snažily robot řídit obě úlohy. Nyní úloha check sensors přebírá kontrolu nad pohyby robota. Následně robotem trochu zacouvá a maličko pootočí. Nyní můžeme znovu spustit úlohu move square a nechat robot znovu jezdit po čtvercích. Je velmi důležité mít stále na paměti, že úlohy, které spustíte, běží současně. To může vést k neočekávaným výsledkům. Kapitola 10 detailně vysvětluje tyto problémy a ukazuje možná řešení. 6.2 Podprogramy Někdy používáte jednu část kódu na mnoha místech v programu. V tomto případě můžete tento kousek vložit do podprogramu a pojmenovat ho. Nyní jej můžete spustit zavoláním jeho jména z libovolného místa úlohy. NQC (přesněji řečeno RCX) dovoluje použít maximálně 8 podprogramů. Podívejme se na příklad 6.2. V tomto programu jsme definovali podprogram, který robotem otáčí kolem osy. Hlavní úloha volá tento podprogram třikrát. Všimněte si, jak voláme podprogram napsáním jeho jména se závorkami za jménem, takže to vypadá 27

28 podobně jako volání příkazů. Jediným rozdílem je, že podprogram nemá žádné parametry a tak mezi závorkami nic není. Nyní je na místě uvést několik varování. Podprogramy se chovají trochu podivně. Například, podprogramy nemohou být volány z jiných podprogramů. Podprogramy mohou být volány z různých úloh, ale nedoporučuje se to. Velmi snadno to může vést k problémům, protože jeden podprogram by mohl být spuštěn ve stejný okamžik dvěma odlišnými úlohami. Tento stav vytváří nežádoucí efekty. Také, voláme-li podprogram z různých úloh, nemůžeme kvůli omezením firmware RCX používat komplikované výrazy. Tedy, pokud velice dobře nevíte co děláte, nikdy nevolejte podprogram z různých úloh! 6.3 Inline funkce Jak jsem se již zmínil, použití podprogramů ssebou nese některá úskalí. Jejich přínosem je fakt, že jsou uloženy v paměti pouze jednou. To šetří paměť což je velmi užitečné, protože RCX nemá příliš mnoho volné paměti. Pokud jsou ale podprogramy velice krátké 13, je lepší použít inline (vložené) funkce. Ty nejsou ukládány samostatně, ale při překladu jsou vkopírovány na všechna místa, kde mají být použity. To sice stojí více paměti, ale odpadají potíže s vyhodnocováním komplikovaných výrazů atp. Inline funkcí může být neomezený počet 14. Práce s inline funkcemi je naprosto stejná jako s podprogramy. Pouze se při deklaraci použije slovo void namísto sub. (Slovo void je použito, protože totéž slovo používá i jazyk C.) Předchozí příklad zapsaný s použitím inline funkcí tedy bude vypadat podobně jako v příkladu 6.3. Inline funkce mají oproti podprogramům ještě jednu přednost. Mohou mít argumenty (parametry). Argument může být použit k tomu, aby funkci předal hodnotu určité proměnné. Například předpokládejme, že čas otáčení bude v předchozím příkladě předáván jako argument funkce. Příklad 6.4 ukazuje, jak je toho dosaženo. Povšimněte si, jak se v závorkách za jménem funkce definuje argument (argumenty) funkce. V tomto případě je zadáno, že je parametrem celé číslo (máme ještě další volby) a že toto číslo je doba otáčení. Pokud používáme více argumentů, musíme je oddělit čárkou. 6.4 Definování maker Je tu ještě jeden způsob, jak pojmenovat malé části kódu. V NQC můžete definovat makra (nepleťte si je s makry v RCX Command Center). Způsob, jakým se s pomocí #define definují konstanty, jsme již viděli dříve (viz kapitola 2). Ve skutečnosti takto můžeme nadefinovat libovolnou část kódu. V příkladu 6.5 je ještě jednou tentýž program, nyní zapsaný s použitím maker. Slovo turn around uvedené za příkazem #define zastupuje text uvedený za ním. Nyní, kdekoli vepíšete turn around, bude toto slovo nahrazeno zastupovaným textem. Poznamenejme jen, že text by měl být na jednom řádku. (Ve 13 typicky se doporučuje do několika příkazů 14 jsme ale stále limitováni velikostí paměti RCX 28

29 skutečnosti existují způsoby, jak psát víceřádkové #define příkazy, ale nedoporučuje se to.) Definiční příkaz je ve skutečnosti ještě mocnější. Může totiž pracovat i s argumenty. Například můžeme uvést dobu otáčení jako argument příkazu. Příklad 6.6 ukazuje program, ve kterém definujeme čtyři makra: jedno pro jízdu vpřed, druhé pro couvání, třetí pro otáčení vlevo a poslední pro otáčení robotu vpravo. Každé makro má dva argumenty: rychlost a čas. Pozor! Všechny definice maker uvedené v příkladu 6.6 je nutno zapsat do jednoho řádku! V textu musely být rozděleny, neboť přesáhly délku tisknutelného řádku. Je velice užitečné definovat si takováto makra. Výsledkem je kompaktní a čitelný kód. Také můžete velmi snadno změnit Váš kód, když se například změní připojení k motorům. 6.5 Shrnutí V této kapitole jsme viděli použití úloh, podprogramů, inline funkcí a maker. Mají různé použití. Úlohy obvykle běží současně a starají se o různé věci, které mají být udělány ve stejnou dobu. Podprogramy jsou užitečné, když je potřeba použít velkou část kódu na několika různých místech jedné úlohy. Inline funkce jsou užitečné, když používáme části kódu na mnoha různých místech v různých úlohách, ale zabírají více paměti. A konečně makra jsou užitečná pro malé části kódu používané na různých místech programu. Makra mohou mít parametry, což ještě zvyšuje jejich užitečnost. Nyní, když jste se propracovali všemi kapitolami až sem, máte všechny znalosti potřebné k programování komplikovaných úloh pro vaše roboty. Následující kapitoly tohoto tutoriálu Vás naučí techniky důležité pouze pro určité aplikace. 29

30 task main() SetSensor(SENSOR_1,SENSOR_TOUCH); start check_sensors; start move_square; task move_square() while (true) OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_C); Wait(85); task check_sensors() while (true) if (SENSOR_1 == 1) stop move_square; OnRev(OUT_A+OUT_C); Wait(50); OnFwd(OUT_A); Wait(85); start move_square; Příklad víceúlohový program 30

31 sub turn_around() OnRev(OUT_C); Wait(340); OnFwd(OUT_A+OUT_C); task main() OnFwd(OUT_A+OUT_C); Wait(100); turn_around(); Wait(200); turn_around(); Wait(100); turn_around(); Off(OUT_A+OUT_C); Příklad použití podprogramu void turn_around() OnRev(OUT_C); Wait(340); OnFwd(OUT_A+OUT_C); task main() OnFwd(OUT_A+OUT_C); Wait(100); turn_around(); Wait(200); turn_around(); Wait(100); turn_around(); Off(OUT_A+OUT_C); Příklad inline funkce 31

32 void turn_around(int turntime) OnRev(OUT_C); Wait(turntime); OnFwd(OUT_A+OUT_C); task main() OnFwd(OUT_A+OUT_C); Wait(100); turn_around(200); Wait(200); turn_around(50); Wait(100); turn_around(300); Off(OUT_A+OUT_C); Příklad inline funkce s parametrem #define turn_around OnRev(OUT_C); Wait(340);OnFwd(OUT_A+OUT_C); task main() OnFwd(OUT_A+OUT_C); Wait(100); turn_around; Wait(200); turn_around; Wait(100); turn_around; Off(OUT_A+OUT_C); Příklad využití makra 32

33 #define turn_right(s,t) SetPower(OUT_A+OUT_C,s);OnFwd(OUT_A); OnRev(OUT_C);Wait(t); #define turn_left(s,t) SetPower(OUT_A+OUT_C,s);OnRev(OUT_A); OnFwd(OUT_C);Wait(t); #define forwards(s,t) SetPower(OUT_A+OUT_C,s); OnFwd(OUT_A+OUT_C);Wait(t); #define backwards(s,t) SetPower(OUT_A+OUT_C,s); OnRev(OUT_A+OUT_C);Wait(t); task main() forwards(3,200); turn_left(7,85); forwards(7,100); backwards(7,200); forwards(7,100); turn_right(7,85); forwards(3,200); Off(OUT_A+OUT_C); Příklad makra s parametry 33

34 7 Hraní hudby RCX má vestavěný reproduktor schopný vydávat zvuky a dokonce hrát jednoduchou hudbu. To je užitečné zejména když chcete, aby Vám RCX řeklo, že se něco děje. Také ale může být zábavné mít robota hrajícího hudbu, zatímco jezdí kolem. 7.1 Vestavěné zvuky RCX má šest vestavěných zvuků, očíslovaných od 0 do 5. Znějí následovně: 0 kliknutí klávesy 1 dvojí pípnutí 2 Zvuk se snižující se frekvencí 3 Zvuk se zvyšující se frekvencí 4 Chybový zvuk 5 Rychlý zvyšující se zvuk Tyto zvuky můžete zahrát pomocí příkazu PlaySound(). Příklad 7.1 ukazuje krátký program, který je postupně zahraje všechny: task main() PlaySound(0); Wait(100); PlaySound(1); Wait(100); PlaySound(2); Wait(100); PlaySound(3); Wait(100); PlaySound(4); Wait(100); PlaySound(5); Wait(100); Příklad hraní zvuků vestavěných v RCX Možná se divíte, proč zde jsou všechny ty příkazy pro čekání (příkazy wait()). Důvod je ten, že RCX při provádění příkazu, který hraje zvuk, nečeká na dokončení (doznění zvuku). Okamžitě vykoná další příkaz. RCX má malou zásobní paměť (tzv. buffer) ve které uschovává zvuky čekající na přehrání, ale po chvíli se tento buffer naplní a zvuky se ztratí. V případě zvuků to není tak kritické. Mnohem důležitější je to při hraní hudby, jak uvidíme za chvíli. Ještě zbývá doplnit, že argumentem příkazu PlaySound() musí být konstanta. Nelze tam vložit proměnnou V nové verzi RCX označované 2.0 již to možné je.!) 34

35 Oktáva Tón G# G F# F E D# D C# C B A# A Tabulka 1: frekvence různých tónů 7.2 Hraní hudby Pro tvorbu zajímavější hudby má NQC příkaz PlayTone(). Ten má dva argumenty. První udává frekvenci, druhý délku tónu (v ticích dlouhých 1/100 sekundy podobně, jako v příkazu wait). Tabulka 1 zobrazuje užitečné frekvence. Jak jsme již uvedli v odstavci o zvucích, ani zde RCX nečeká, až nota skončí. Takže pokud hrajete hodně not za sebou, přidejte (raději o něco delší) příkaz wait() mezi nimi. Program je v příkladu 7.2. task main() PlayTone(262,40); Wait(50); PlayTone(294,40); Wait(50); PlayTone(330,40); Wait(50); PlayTone(294,40); Wait(50); PlayTone(262,160); Wait(200); Příklad hraní jednoduché melodie Velmi snadno se dají vytvářet různé melodie pomocí nástroje RCX Command Center nazvaného RCX Piano. Pokud chcete, aby RCX hrálo hudbu při jízdě, raději pro to použijte zvláštní úlohu. Příklad 7.3 je ukázkou poměrně hloupého programu, ve kterém RCX jezdí vpřed a vzad a stále hraje hudbu. 35

36 task music() while (true) PlayTone(262,40); PlayTone(294,40); PlayTone(330,40); PlayTone(294,40); Wait(50); Wait(50); Wait(50); Wait(50); task main() start music; while(true) OnFwd(OUT_A+OUT_C); Wait(300); OnRev(OUT_A+OUT_C); Wait(300); Příklad jízda za doprovodu hudby 7.3 Shrnutí V této kapitole jste se naučili, jak přinutit RCX hrát zvuky a hudbu. Také jste viděli, jak použít samostatnou úlohu pro hudbu. 36

37 8 Více o motorech Existuje více příkazů pro preciznější kontrolu činnosti motorů. V této kapitole je probereme. 8.1 Brzdíme něžně Použijete-li příkaz Off(), motor se zastaví okamžitě za pomoci brzdy. V NQC je také možno zastavit motor jemnějším způsobem, bez použití brzdy. K tomu slouží příkaz Float(). Občas to pro Vaše záměry může být výhodnější. Program najdete v příkladu 8.1. Nejprve robot zastaví pomocí brzd, podruhé bez nich. Pořádně si všimněte rozdílu. (Ve skutečnosti je u tohoto robota rozdíl minimální, ale u jiných může být velký 16 ) task main() OnFwd(OUT_A+OUT_C); Wait(200); Off(OUT_A+OUT_C); Wait(100); OnFwd(OUT_A+OUT_C); Wait(200); Float(OUT_A+OUT_C); Příklad porovnání rozdílu při brzdění 8.2 Rozšířené příkazy Příkaz OnFwd() ve skutečnosti dělá dvě věci: zapne motor a nastaví směr otáčení dopředu. Příkaz OnRew() také dělá dvě věci: zapne motor a nastaví směr otáčení dozadu. NQC také obsahuje příkazy pro provedení těchto úkolů samostatně. Pokud si přejete změnit pouze jedno z těchto nastavení (směr otáčení nebo zapnuto/vypnuto), je efektivnější použít tyto zvláštní příkazy. Zabírají méně paměti v RCX, jsou vykonány rychleji a výsledkem jsou plynulejší pohyby. Jedním ze samostatných příkazů je SetDirection() s možnými nastaveními OUT FWD pro pohyb vpřed, OUT REV pro pohyb vzad a OUT TOGGLE, který změní současný směr na opačný. Druhým pak SetOutput() s módy OUT ON pro zapnutí napájení, OUT OFF pro vypnutí napájení a zabrzdění motorku a OUT FLOAT pro vypnutí napájení s pomalým doběhem. V příkladu 8.2 najdete jednoduchý program, který pohybuje robotem vpřed a vzad. 16 vyzkoušejte tentýž program pro Acrobot z Constructopedie. Obecně jakýkoli robot s velkými koly poskytuje dobrý výsledek při porovnávání rozdílů mezi Off() a Float() 37

38 task main() SetPower(OUT_A+OUT_C,7); SetDirection(OUT_A+OUT_C,OUT_FWD); SetOutput(OUT_A+OUT_C,OUT_ON); Wait(200); SetDirection(OUT_A+OUT_C,OUT_REV); Wait(200); SetDirection(OUT_A+OUT_C,OUT_TOGGLE); Wait(200); SetOutput(OUT_A+OUT_C,OUT_FLOAT); Příklad příkazy pro ovládání motorů Poznamenejme, že při startu všech programů jsou všechny motory nastaveny pro pohyb vpřed rychlostí 7, takže první dva příkazy v tomto programu nejsou nutné. Existují ještě další příkazy ovládající motory. Jejich názvy jsou zkratkami výše uvedených příkazů. Tabulka 2 podává jejich úplný přehled. On(motory) Off(motory) Float(motory Fwd(motory) Rev(motory) Toggle(motory) OnFwd(motory) OnRev(motory) OnFor(motory,doba) SetOutput(motory, režim) zapne napájení motorů uvedených v motory vypne napájení motorů a zapne brzdu vypne napájení motorů s pomalým doběhem nastaví motory pro otáčení vpřed (nezapne napájení) nastaví motory pro pohyb vzad (nezapne napájení) přepne směr otáčení pro motory (zepředu dozadu a naopak) nastaví motory pro otáčení vpřed, zapne napájení nastaví motory pro otáčení vzad, zapne napájení zapne napájení pro motory po doba tiků nastaví pro motory jeden z režimů OUT ON, OUT OFF, OUT FLOAT Tabulka 2: seznam příkazů pro ovládání motorů 8.3 Změna rychlosti motoru Jak jste si již pravděpodobně všimli, změna rychlosti otáčení motoru příkazem SetPower() nemá velký efekt. Důvodem je skutečnost, že ve skutečnosti měníme krouticí moment, nikoliv rychlost. Rozdíl poznáte, pouze když bude 38

39 motor velmi zatížen. Ale i tehdy bude rozdíl mezi druhým a sedmým stupněm minimální. Pokud chcete dosáhnout lepších výsledků, klíčem je zapínat a vypínat motor ve velmi krátkých po sobě jdoucích časových intervalech. Krátký program, který to dělá, je uveden v příkladu 8.3. Má jednu úlohu nazvanou run motor která řídí motory. Ta neustále kontroluje proměnnou speed aby určila, jaká je aktuální rychlost. Kladné číslo znamená vpřed, záporné vzad. Pak nastaví motory pro otáčení do správného směru a čeká určitou dobu v závislosti na rychlosti předtím, než motory znovu vypne. Hlavní úloha prostě nastaví rychlost a čeká. int speed, speed; task run_motor() while (true) speed = speed; if ( speed > 0) OnFwd(OUT_A+OUT_C); if ( speed < 0) OnRev(OUT_A+OUT_C); speed = - speed; Wait( speed); Off(OUT_A+OUT_C); task main() speed = 0; start run_motor; speed = 1; Wait(200); speed = -10; Wait(200); speed = 5; Wait(200); speed = -2; Wait(200); stop run_motor; Off(OUT_A+OUT_C); Příklad změna rychlosti otáčení motorů Program může být napsán ještě mnohem lépe, s podporou otáčení atp. Přidáním čekání za příkazem Off() také docílíte lepších výsledků. Vyzkoušejte si to sami. 39

40 8.4 Shrnutí V této kapitole jste se dozvěděli o dalších příkazech, sloužících k ovládání motorů: Float(), který motory zastaví jemně, SetDirection() pro nastavení směru otáčení (možnosti jsou OUT FWD, OUT REV a OUT TOGGLE, což je obrácení chodu) a nakonec SetOutput(), který nastavuje režimy výstupu (OUT ON, OUT OFF nebo OUT FLOAT). Viděli jste seznam všech dostupných příkazů ovládajících motory. Také jste se naučili trik, kterým můžete lépe ovládat rychlost motorů. 40

41 9 Více o senzorech V kapitole 5 jsme diskutovali základní aspekty použití senzorů. To ale nebylo vše. Se senzory můžete dělat mnohem více. V této kapitole probereme rozdíl mezi typem senzoru a režimem práce senzoru, uvidíme, jak použít rotační senzor (senzor, který není součástí RIS, ale může být zakoupen samostatně a je velmi užitečný), ukážeme si způsob, jak použít více než tři senzory a jak si vyrobit detektor překážek. 9.1 Typy senzorů a režimy práce Příkaz SetSensor(), se kterým jsme se již seznámili, ve skutečnosti dělá dvě věci: Nastaví typ senzoru a a nastaví režim, ve kterém senzor pracuje. Samostatným nastavením režimu a typu můžete precizněji kontrolovat práci senzoru a to je pro některé aplikace užitečné. Typ senzoru se nastavuje pomocí příkazu SetSensorType(). Celkem máme čtyři různé typy: SENSOR TYPE TOUCH pro dotykový (tlakový) senzor, dále pak SENSOR TYPE LIGHT pro světelný senzor, SENSOR TYPE TEMPERATURE, což je teplotní senzor (tento senzor není součástí RIS, ale je možno jej dokoupit) a SENSOR TYPE ROTATION pro rotační senzor (Také není součásti RIS a také je možno jej dokoupit). Nastavení typu senzoru je obzvlášť důležité kvůli indikaci, zda senzor potřebuje být napájen (např. pro světélko u světelného senzoru). Nastavení jiného typu senzoru, než je ve skutečnosti připojen, pravděpodobně nemá využití a může být spíše nebezpečné (poškození senzoru nebo RCX). Režim práce senzoru může být nastaven příkazem SetSensorMode(). existuje osm různých režimů práce. Nejdůležitější z nich je tzv. přímý režim - SENSOR MODE RAW. Při získávání údajů ze senzoru v tomto režimu dostaneme čísla mezi 0 a Jsou to nezpracované (hrubé) hodnoty vyprodukované přímo senzorem. Co to znamená, záleží na typu senzoru. Například máme-li tlakový senzor, dostáváme hodnoty blízko číslu 1023 pokud není stlačen. Při stlačeném senzoru je hodnota kolem 50, pro částečně stlačený senzor se pak hodnoty pohybují mezi 50 a Pokud tedy nastavíte tlakový senzor na přímý režim, můžete zjistit, zda je stlačen pouze částečně. Získáváte-li data ze světelného senzoru, dostáváte něco mezi 300 (velmi světlé) do 800 (velmi tmavé). To Vám dává mnohem přesnější hodnoty než použití příkazu SetSensor(). Druhý režim je SENSOR MODE BOOL (booleovský, binární). V tomto režimu jsou výstupní hodnoty buď 0 nebo 1. Pokud hrubá hodnota přesáhne přibližně číslo 550, je výstupem nula, v opačném případě jednička. SENSOR MODE BOOL je výchozím nastavením pro dotykový senzor. Režimy SENSOR MODE CELSIUS a SENSOR MODE FAHRENHEIT jsou užitečné pouze ve spojení s teplotními čidly a poskytují údaje o teplotě v požadovaných jednotkách (stupních Celsia nebo Fahrenheita). SENSOR MODE PERCENT přemění hrubou hodnotu na číslo mezi 0 a 100. Každá hrubá hodnota pod 400 je přiřazena k hodnotě 100 %. Jak se hrubá hodnota zvyšuje, hodnota v procentech postupně klesá k nule. SENSOR MODE PERCENT je výchozí režim pro světelný senzor. Režim senzoru SENSOR MODE ROTATION se zdá být užitečným pouze pro rotační senzor (viz odstavec 9.2 dále v této kapitole). 41

Programování LEGO robotů pomocí NXC

Programování LEGO robotů pomocí NXC Programování LEGO robotů pomocí NXC Textový jazyk odvozený od jazyka C běží v prostředí BricxCC na standardním firmwaru LEGO Mindstorms. Tato skutečnost je velmi příjemná pro ty, kteří chtějí programovat

Více

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA TECHNICKÉ VÝCHOVY

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA TECHNICKÉ VÝCHOVY ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA TECHNICKÉ VÝCHOVY Beetle line Seminární práce z předmětu Principy a systémy techniky Zpracovaly: Bc. Petra Konjatová 12/2010 Bc. Michaela Němcová

Více

DUM č. 20 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms

DUM č. 20 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms projekt GML Brno Docens DUM č. 20 v sadě 29. Inf-5 RoboLab a Lego Mindstorms Autor: Hana Křetínská Datum: 25.06.2014 Ročník: 1AV, 2AV, 3AV, 4AV, 5AV Anotace DUMu: Výuka robotiky a programování pomocí stavebnice

Více

Název projektu: Život s počítačem. Číslo projektu: OPVK.CZ.1.07/1.2.32/01.0041

Název projektu: Život s počítačem. Číslo projektu: OPVK.CZ.1.07/1.2.32/01.0041 Název projektu: Život s počítačem Číslo projektu: OPVK.CZ.1.07/1.2.32/01.0041 Metodické pokyny k pracovnímu listu Projektový den Robotika I Žáci se seznámí s robotem Lego Mindstorms, s jeho stavěním a

Více

Programování LEGO robotů pomocí NXC

Programování LEGO robotů pomocí NXC Programování LEGO robotů pomocí NXC Textový jazyk odvozený od jazyka C běží v prostředí BricxCC na standardním firmwaru LEGO Mindstorms. Tato skutečnost je velmi příjemná pro ty, kteří chtějí programovat

Více

10. Editor databází dotazy a relace

10. Editor databází dotazy a relace 10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast

Více

MLE2 a MLE8. Datalogery událostí

MLE2 a MLE8. Datalogery událostí MLE2 a MLE8 Datalogery událostí Zapisovač počtu pulsů a událostí Návod k obsluze modelů MLE2 MLE8 Doporučujeme vytisknout tento soubor, abyste jej mohli používat, když se budete učit zacházet se zapisovačem.

Více

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit

Více

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

METODICKÝ LIST K TECHNICKÉMU KROUŽKU: METODICKÝ LIST K TECHNICKÉMU KROUŽKU: Název kroužku: Naprogramuj si svého robota Jméno autora kroužku: Ing. Roman Stark, CSc. Anotace: Ze stavebnice LEGO Mindstorms NXT si postav svého robota nebo nějaké

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Úloha: Nikobus software ruční režim Obor: Elektrikář silnoproud Ročník: 3. Zpracoval: Ing. Jaromír Budín, Ing. Jiří Šima Střední odborná škola Otrokovice, 2010

Více

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

METODICKÝ LIST K TECHNICKÉMU KROUŽKU: METODICKÝ LIST K TECHNICKÉMU KROUŽKU: Název kroužku: Naprogramuj si svého robota Jméno autora kroužku: Ing. Roman Stark, CSc. Anotace: Ze stavebnice LEGO Mindstorms NXT si postav svého robota nebo nějaké

Více

Metodické pokyny k materiálu č. 38 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (STAVBA)

Metodické pokyny k materiálu č. 38 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (STAVBA) Metodické pokyny k materiálu č. 38 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (STAVBA) Třída: 8. Učivo: Praktická stavba robota se stavebnicí LEGO Mindstorms NXT 2.0 Obsah inovativní výuky:

Více

Stav: červen 2008. TRACK-Guide

Stav: červen 2008. TRACK-Guide Stav: červen 2008 TRACK-Guide Obsah TRACK-Guide... 1 1 Úvod... 3 1.1 Rozsah funkcí...3 1.2 Zadávání číslic a písmen...3 1.3 Úvodní maska...4 2 Navigace... 5 2.1 Spuštění navigace...5 2.2 Maska navigace...6

Více

CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC

CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC EN 55022 : 1998 + A1 : 2000 + A2 : 2003 EN 55024 : 1998 + A1 : 2001

Více

NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003

NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003 NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003 EDERA Group a. s. tel.: 775 212 034 e-mail: porucha@edera.cz web: www.edera.cz Vážení klienti, jsme rádi, že jste si za svého poskytovatele televizních služeb

Více

Míchačka karet Shuffle King. Obsah balení:

Míchačka karet Shuffle King. Obsah balení: Míchačka karet Shuffle King Obsah balení: 1x Míchačka karet 1x Napájecí adaptér 230/24 V 1x Úchytný plech (pro tenké nebo silné čalounění stolu) 1x Krycí panel (pro tenké nebo silné čalounění stolu) 1x

Více

NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113

NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113 NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113 EDERA Group a. s. tel.: 775 212 034 e-mail: porucha@edera.cz web: www.edera.cz Vážení klienti, jsme rádi, že jste si za svého poskytovatele televizních služeb

Více

Obsah. Obsah balení. Hlavní funkce. Prvky a funkce. Základní ovládání. Uživatelské prostředí Obrazovka přehrávání Moje hudba Nastavení

Obsah. Obsah balení. Hlavní funkce. Prvky a funkce. Základní ovládání. Uživatelské prostředí Obrazovka přehrávání Moje hudba Nastavení Návod k obsluze Obsah Obsah balení Hlavní funkce Specifikace Prvky a funkce Základní ovládání Zapnutí / vypnutí Zapnutí / vypnutí displeje Nabíjení Připojení k PC a použití jako externí DAC Uživatelské

Více

ISO 400 1/250 sekundy f/2,8 ohnisko 70 mm. 82 CANON EOS 550D: Od momentek k nádherným snímkům

ISO 400 1/250 sekundy f/2,8 ohnisko 70 mm. 82 CANON EOS 550D: Od momentek k nádherným snímkům 4 ISO 400 1/250 sekundy f/2,8 ohnisko 70 mm 82 CANON EOS 550D: Od momentek k nádherným snímkům Kreativní zóna DOSTAŇTE SE NA VYŠŠÍ ÚROVEŇ Kreativní zóna je název, který Canon vybral pro pokročilejší fotografické

Více

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48 LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám

Více

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4 JEDNODUCHÉ PŘIHLÁŠENÍ 4 ADMINISTRAČNÍ PROSTŘEDÍ 5 PŘEPÍNÁNÍ JAZYKOVÉ VERZE 5 POLOŽKY HORNÍHO MENU 5 DOPLŇKOVÉ POLOŽKY MENU: 6 STROM SE STRÁNKAMI, RUBRIKAMI A ČLÁNKY 7 TITULNÍ

Více

Návod na použití prezentační techniky

Návod na použití prezentační techniky Laboratorní centrum Fakulty technologické Návod na použití prezentační techniky Střední posluchárna č. 113 Před použitím prezentační techniky pročtěte tento návod ApS Brno s.r.o., divize projekční techniky

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

Více

Název: Elektromagnetismus 3. část (Elektromagnetická indukce)

Název: Elektromagnetismus 3. část (Elektromagnetická indukce) Výukové materiály Název: Elektromagnetismus 3. část (Elektromagnetická indukce) Téma: Vznik indukovaného napětí, využití tohoto jevu v praxi Úroveň: 2. stupeň ZŠ, případně SŠ Tematický celek: Vidět a poznat

Více

WinTV-HVR-930C-HD WinTV-HVR-930C WinTV-HVR-900-HD WinTV-HVR-900

WinTV-HVR-930C-HD WinTV-HVR-930C WinTV-HVR-900-HD WinTV-HVR-900 WinTV-HVR-930C-HD WinTV-HVR-930C WinTV-HVR-900-HD WinTV-HVR-900 Stručný průvodce instalací Hauppauge Computer Works, Ltd Bank Chambers 6-10 Borough High Street London SE1 9QQ tel: (+44) 0207 378 1997 fax:

Více

Zabezpečení Uživatelská příručka

Zabezpečení Uživatelská příručka Zabezpečení Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Microsoft a Windows jsou registrované ochranné známky společnosti Microsoft Corporation v USA. Informace uvedené

Více

CADKON/TZB verze 2007.1

CADKON/TZB verze 2007.1 Stránka č. 1 z 12 Pospis propojení programů CADKON/TZB a PROTECH (TZ, DIMOSW) CADKON/TZB verze 2007.1 Výpočet tepelných ztrát Rozmístění otopných těles Vkládání těles z databáze PROTECHu Vykreslení půdorysných

Více

Øízení spotøeby. Uživatelská příručka

Øízení spotøeby. Uživatelská příručka Øízení spotøeby Uživatelská příručka Copyright 2007 Hewlett-Packard Development Company, L.P. Windows a Windows Vista jsou ochranné známky nebo registrované ochranné známky spoleènosti Microsoft Corporation

Více

KONVEKTOMATY KONVEKTOMATY ŘADY DRIVE

KONVEKTOMATY KONVEKTOMATY ŘADY DRIVE ŘADY DRIVE Návod k použití TECHNICKÝ MANUÁL 1 z 48 FV0xxx400xXD/DL OBSAH I. Jak používat ovládací panel...4 Představení panelu...4 Přístup k nastavení...5 Řežim zařízení...6 Nastavení zařízení...7 Vypínání

Více

SMARTÍK. GLOSYCO s.r.o., Jabloňová 3000/15, 106 00 Praha 10 Zahradní město, Tel: + 420 222 353 230, www.goldentoys.cz. Návod

SMARTÍK. GLOSYCO s.r.o., Jabloňová 3000/15, 106 00 Praha 10 Zahradní město, Tel: + 420 222 353 230, www.goldentoys.cz. Návod SMARTÍK TM GLOSYCO s.r.o., Jabloňová 3000/15, 106 00 Praha 10 Zahradní město, Tel: + 420 222 353 230, www.goldentoys.cz Návod TM 12 ÚVOD SMARTÍK chytrým a důmyslným způsobem podporuje rozvoj Vašeho dítěte.

Více

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu Kapitola 7: Nástroje 47 7. Nástroje Kontrola pravopisu 7.1 Pravopis V prezentaci Encian přichystejme dvě záměrné pravopisné chyby na prvním snímku. Slovo Váš nahradíme slovem Vaš a slovo přehledným nahradíme

Více

DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky

DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky ze sady: 02 tematický okruh sady: Tabulkový editor ze šablony: 07 KANCELÁŘSKÝ SOFTWARE určeno pro: 1-4. ročník

Více

X-Sign Basic Uživatelská příručka

X-Sign Basic Uživatelská příručka X-Sign Basic Uživatelská příručka Copyright Copyright 2015, BenQ Corporation. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována, přenášena, přepisována, ukládána do systému pro

Více

Mobilní dálkové ovládání HP ScrollSmart (pouze u vybraných modelů) Uživatelská příručka

Mobilní dálkové ovládání HP ScrollSmart (pouze u vybraných modelů) Uživatelská příručka Mobilní dálkové ovládání HP ScrollSmart (pouze u vybraných modelů) Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows a Windows Vista jsou registrované ochranné známky

Více

Voděodolný tloušťkoměr MG-401 Obsah:

Voděodolný tloušťkoměr MG-401 Obsah: Voděodolný tloušťkoměr MG-401 Obsah: Návod k obsluze 1. Charakteristika tloušťkoměru MG-401... 1 2. Použitelnost přístroje... 2 3. Vnější vzhled... 2 4. Technické parametry... 4 5. Zapnutí a vypnutí přístroje...

Více

Uživatelský návod fotorámeček Bluetech 10,2

Uživatelský návod fotorámeček Bluetech 10,2 Uživatelský návod fotorámeček Bluetech 10,2 Pohled zepředu: Pohled seshora: 1. stop tlačítko - stisknutím zastavíte přehrávání souborů, podržením 1sekundy vypnete přístroj 2. přehrávání a pauza - stisknutím

Více

INTERAKTIVNÍ BLUETOOTH HELIKOPTÉRA NÁVOD K POUŽITÍ APLIKACE

INTERAKTIVNÍ BLUETOOTH HELIKOPTÉRA NÁVOD K POUŽITÍ APLIKACE INTERAKTIVNÍ BLUETOOTH HELIKOPTÉRA NÁVOD K POUŽITÍ APLIKACE Děkujeme za váš nákup Bluetooth helikoptéry od BEEWI. Přečtěte si prosím následující instrukce, abyste se naučili využívat všechny funkce našeho

Více

Uživatelská příručka pro program

Uživatelská příručka pro program NEWARE Uživatelský manuál Uživatelská příručka pro program ve spojení se zabezpečovacím systémem strana 1 Uživatelský manuál NEWARE strana 2 NEWARE Uživatelský manuál Vaše zabezpečovací ústředna DIGIPLEX

Více

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows a Windows Vista jsou registrované ochranné známky

Více

DA-9000. Digitální detektor alkoholu. Jsme rádi, že jste si vybrali alkohol tester DA 9000. Věříme, že až se blíže seznámíte s tímto přístrojem,

DA-9000. Digitální detektor alkoholu. Jsme rádi, že jste si vybrali alkohol tester DA 9000. Věříme, že až se blíže seznámíte s tímto přístrojem, Digitální detektor alkoholu DA-9000 Jsme rádi, že jste si vybrali alkohol tester DA 9000. Věříme, že až se blíže seznámíte s tímto přístrojem, budete přesvědčeni o spolehlivosti a přesnosti technologie

Více

JSR 184 - tutorial 2 Transformace v JSR-184

JSR 184 - tutorial 2 Transformace v JSR-184 JSR 184 - tutorial 2 Transformace v JSR-184 Cíl tutorialu: - naučit vás měnit pozici/ rotaci/ velikost objektu Tak jdeme na to: V minulém tutorialu (Úvod do JSR-184) jsme si ukázali, jak námi vytvořenou

Více

4. Optické senzory polohy

4. Optické senzory polohy 4. Optické senzory polohy Úkoly měření: Měření malého proudu 1) Změřte velikost výstupního signálu fotodiody FD 1 v členu IL300 v závislosti na velikosti budicího proudu IRED (infračervené diody), jejíž

Více

AUNA TT 190 STEREO, GRAMOFON, MP3 NAHRÁVÁNÍ, CD, SD, USB, KAZETA. Návod k použití 10007329

AUNA TT 190 STEREO, GRAMOFON, MP3 NAHRÁVÁNÍ, CD, SD, USB, KAZETA. Návod k použití 10007329 AUNA TT 190 STEREO, GRAMOFON, MP3 NAHRÁVÁNÍ, CD, SD, USB, KAZETA Návod k použití 10007329 UMÍSTĚNÍ OVLÁDACÍCH PRVKŮ 1) Ochrana před prachem 2) Ladění / SKIP UP / DOWN tlačítko 3) RECORD tlačítko 4) Otvírání

Více

universální monitorovací program

universální monitorovací program MtUni universální monitorovací program MtUni 8/10 Rev.2 THERMOPROZESS s.r.o. Riegrova 2668/6c 370 01 České Budějovice tel.: +420 387 313 182 fax: +420 385 340 947 e-mail: info@thermoprozess.cz http://www.thermoprozess.cz

Více

Česky. Pen Tablet. Uživatelská příručka. Windows 2000 / XP / Vista

Česky. Pen Tablet. Uživatelská příručka. Windows 2000 / XP / Vista Pen Tablet Uživatelská příručka Windows 2000 / XP / Vista 1 I. Obecné informace 1. Přehled Vítejte ve světě počítačových per! Zjistíte, jak snadné je ovládat váš počítač nikoli myší, ale bezdrátovým perem.

Více

1.1.7 Rovnoměrný pohyb I

1.1.7 Rovnoměrný pohyb I 1.1.7 Rovnoměrný pohyb I Předpoklady: 116 Kolem nás se nepohybují jenom šneci. Existuje mnoho různých druhů pohybu. Začneme od nejjednoduššího druhu pohybu rovnoměrného pohybu. Př. 1: Uveď příklady rovnoměrných

Více

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů. Příkazy cyklu v C# Kapitola vysvětluje použití tří typů cyklů for, while a -while a plňuje jejich použití řau příkladů programů v jazyku C#. V jazyku C by šlo pouze k záměně funkcí pro vstup a výstup.

Více

Programování. Debugging a testování. Martin Urza

Programování. Debugging a testování. Martin Urza Programování Debugging a testování Martin Urza Co je debugging? V počítačích nulté generace byly důvodem některých chyb zkraty, které způsoboval mimo jiné hmyz, jenž do těchto strojů zalézal. Odstraňování

Více

Popis prostředí MOSAIC - 2 - 1. Programové prostředí MOSAIC nastavení prostředí. Po spuštění Mosaiku se objeví okno Výběr skupiny projektů

Popis prostředí MOSAIC - 2 - 1. Programové prostředí MOSAIC nastavení prostředí. Po spuštění Mosaiku se objeví okno Výběr skupiny projektů Popis prostředí MOSAIC Autoři: Ing. Josef Kovář Ing. Zuzana Prokopová Ing. Ladislav Šmejkal, CSc. Partneři projektu: Rostra s.r.o. Trimill, a.s. Výukový materiál byl vytvořen v rámci projektu Implementace

Více

Používání a údržba. Před prvním použitím spotřebiče. Pokyny pro používání dotykových ovladačů

Používání a údržba. Před prvním použitím spotřebiče. Pokyny pro používání dotykových ovladačů Používání a údržba Před prvním použitím spotřebiče Před zapojením spotřebiče do elektrické sítě zkontrolujte, zda napětí a frekvence odpovídá údajům na typovém štítku varné desky, který je umístěn na spodní

Více

DUM č. 13 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms

DUM č. 13 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms projekt GML Brno Docens DUM č. 13 v sadě 29. Inf-5 RoboLab a Lego Mindstorms Autor: Hana Křetínská Datum: 25.06.2014 Ročník: 1AV, 2AV, 3AV, 4AV, 5AV Anotace DUMu: Výuka robotiky a programování pomocí stavebnice

Více

INSTALAČNÍ A UŽIVATELSKÝ NÁVOD. Ver 1.0 (2015-1-19) HD020. Digitální hodiny a skrytá kamera s wifi

INSTALAČNÍ A UŽIVATELSKÝ NÁVOD. Ver 1.0 (2015-1-19) HD020. Digitální hodiny a skrytá kamera s wifi INSTALAČNÍ A UŽIVATELSKÝ NÁVOD Ver 1.0 (2015-1-19) HD020 Digitální hodiny a skrytá kamera s wifi Před instalací a použitím tohoto přístroje si prosím pozorně přečtěte tento návod k obsluze. Bezpečnostní

Více

Okno Editoru nabízí v panelu nástrojů

Okno Editoru nabízí v panelu nástrojů 110 Editor pracovní nástroje Naučte se používat základní nástroje Editoru pro efektivní úpravy obrázků. VYBRANÉ OVLÁDACÍ PRVKY 112 POLYGONOVÉ LASO A LASO 124 VLOŽIT OBRÁZEK DO OBRÁZKU 132 VÝBĚRY 114 REDUKCE

Více

NiceWay. Návod k montáži a důležitá upozornění. Vysílač WM080G, WM240C - 1 -

NiceWay. Návod k montáži a důležitá upozornění. Vysílač WM080G, WM240C - 1 - Litvínovská 609/3, 190 21 Praha 9 Prosek, IČO: 25351851, DIČ: CZ25351851 tel.: 284 810 498, fax: 284 818 196, e-mail: obchod@olymps-door.cz, www.olymps-door.cz NiceWay Návod k montáži a důležitá upozornění

Více

FLYTEC 4010...2 PREHLED...2 KLÁVESNICE... 2 FIREMNÍ STRATEGIE... 2 NASTAVENÍ VÝŠKOMERU 1... 3. Výškomer 2 (ALT2)...4 NASTAVENÍ VÝŠKOMERU 2...

FLYTEC 4010...2 PREHLED...2 KLÁVESNICE... 2 FIREMNÍ STRATEGIE... 2 NASTAVENÍ VÝŠKOMERU 1... 3. Výškomer 2 (ALT2)...4 NASTAVENÍ VÝŠKOMERU 2... OBSAH FLYTEC 4010...2 PREHLED...2 KLÁVESNICE... 2 FIREMNÍ STRATEGIE... 2 NASTAVENÍ VÝŠKOMERU 1... 3 VOLBY VÝŠKOMERU 1... 4 Výškomer 2 (ALT2)...4 NASTAVENÍ VÝŠKOMERU 2... 4 VOLBY VÝŠKOMERU 2... 4 Variometr...4

Více

Obsah. Začínáme Viditelné součásti programu Simulace. WOP Menu CNC řízení. CNC Programy. Exec. Grafické okno. Strojní panel. 3D Model.

Obsah. Začínáme Viditelné součásti programu Simulace. WOP Menu CNC řízení. CNC Programy. Exec. Grafické okno. Strojní panel. 3D Model. F2000 WOP - Page 1 of 51 Začínáme Viditelné součásti programu Simulace Strojní panel 3D Model WOP CNC řízení CNC Programy Přípravné funkce Pomocné funkce Pevný formát CNC programu Volný formát Parametrické

Více

Metodika pro učitele

Metodika pro učitele Metodika pro učitele Tvorba prezentace v aplikaci PowerPoint 2010 PowerPoint je program, který umožňuje navrhnout, kvalitně graficky a esteticky ztvárnit a následně spustit a předvést prezentaci. Celý

Více

Řízení spotřeby Uživatelská příručka

Řízení spotřeby Uživatelská příručka Řízení spotřeby Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows je ochranná známka společnosti Microsoft Corporation registrovaná v USA. Informace uvedené v této příručce

Více

FTC08 instalační manuál k dotykovému panelu systému Foxys

FTC08 instalační manuál k dotykovému panelu systému Foxys FTC08 instalační manuál k dotykovému panelu systému Foxys Foxtron spol. s r.o. Jeseniova 1522/53 130 00 Praha 3 tel/fax: +420 274 772 527 E-mail: info@foxtron.cz www: http://www.foxtron.cz Verze dokumentu

Více

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu Program pro flexibilní tvorbu evidencí VIKLAN - Evidence Uživatelská příručka pro seznámení se základními možnostmi programu Vlastimil Kubínek, Ing. Josef Spilka VIKLAN - Evidence Verse 1.11.8.1 Copyright

Více

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele

M I S Y S - W E B. Intranet řešení systému MISYS. Verze 9.00. Příručka uživatele M I S Y S - W E B Intranet řešení systému MISYS Verze 9.00 Příručka uživatele GEPRO s.r.o. Září 2008 Copyright GEPRO s.r.o. 2008 Ochranné známky GEPRO spol. s r.o. KOKEŠ, MISYS Ochranné známky Microsoft

Více

Programování. Psaní čistého kódu. Martin Urza

Programování. Psaní čistého kódu. Martin Urza Programování Psaní čistého kódu Martin Urza Motivace Pro kompilátor je jedno, jestli je kód oddělen mezerami, odřádkováními či tabulátory. Přeložitelný kód může vypadat třeba i jako ten úchvatně přehledný

Více

Řídící jednotka AirBasic 2

Řídící jednotka AirBasic 2 Návod k obsluze Řídící jednotka AirBasic 2 G G875589_001 2010/04/jbrg-08 Obsah 1. Představení přístroje a bezpečnost... 1 1.1 Uložení návodu k obsluze... 1 1.2 Bezpečnost... 1 2. Provoz... 2 2.1 Ovládací

Více

- příkaz pohybující želvou zpět a o kolik. vlevo 45 vl 45 libovolně zadáme) směrem doleva. Na obrázku jsme pro

- příkaz pohybující želvou zpět a o kolik. vlevo 45 vl 45 libovolně zadáme) směrem doleva. Na obrázku jsme pro Logo Imagine Základní příkazy První informací by mělo být, že nejdůležitějším objektem a tím, od kterého se vše odvíjí dál je želva. Při prvním spuštění programu je to to první, co můžete uprostřed bianco

Více

Po nastudování této kapitoly byste měli být schopni:

Po nastudování této kapitoly byste měli být schopni: 4 Tvorba prezentací Cíl kapitoly Po nastudování této kapitoly byste měli být schopni: vytvořit jednoduchou prezentaci v Microsoft PowerPoint 2010, vkládat nové snímky, měnit návrh, rozvržení a přechody

Více

SIGNÁLNÍ GENERÁTORY DDS2, DDS7 A DDS20 - PROVOZNÍ MANUÁL

SIGNÁLNÍ GENERÁTORY DDS2, DDS7 A DDS20 - PROVOZNÍ MANUÁL SIGNÁLNÍ GENERÁTORY DDS2, DDS7 A DDS20 - PROVOZNÍ MANUÁL Signální generátory DDS slouží k vytváření napěťových signálů s definovaným průběhem (harmonický, trojúhelníkový a obdélníkový), s nastavitelnou

Více

OS 3030. Návod k použití. Elektronické regulátory pro reverzně osmotické zařízení. Software verze 0004 2.00

OS 3030. Návod k použití. Elektronické regulátory pro reverzně osmotické zařízení. Software verze 0004 2.00 OS 3030 Elektronické regulátory pro reverzně osmotické zařízení Návod k použití Software verze 0004 2.00 Obsah Popis funkcí...1 Fáze výroba...1 Fáze standby...1 Fáze výplach po výrobě...2 Fáze výplach

Více

Hudební přehrávač. mivvy record M5 UŽIVATELSKÝ MANUÁL

Hudební přehrávač. mivvy record M5 UŽIVATELSKÝ MANUÁL Obsah Hudební přehrávač mivvy record M5 UŽIVATELSKÝ MANUÁL Upozornění Parametry Popis displeje Základní operace Systémové menu Poslech hudby Záznam zvuku Správce souborů Prohlížeč obrázků FM rádio Elektronické

Více

MK 20 Přenosné klávesy

MK 20 Přenosné klávesy MK 20 Přenosné klávesy Uživatelský manuál 2015 AUDIO PARTNER s.r.o. 1 BEZPEČNOSTNÍ OPATŘENÍ A POKYNY POZOR! RIZIKO ELEKTRICKÉHO ŠOKU! NEOTVÍREJTE! VAROVÁNÍ: NEODSTRAŇUJTE ŠROUBY, ZABRÁNÍTE TAK VZNIKU POŽÁRU

Více

Dodatek k návodu k obsluze a instalaci kotlů BENEKOV. Regulátor RKU 1.5

Dodatek k návodu k obsluze a instalaci kotlů BENEKOV. Regulátor RKU 1.5 Dodatek k návodu k obsluze a instalaci kotlů BENEKOV Regulátor RKU 1.5 Obsah: 1. Popis regulátoru RKU1.5...... 3 str. 2. Popis programu regulátoru RKU1.5........ 4 3. Obsluha kotle uživatelem... 5 1.Popis

Více

WDV5270 HD "Lagoon" Uživatelský manuál

WDV5270 HD Lagoon Uživatelský manuál WDV5270 HD "Lagoon" Uživatelský manuál 1 Části videokamery: 1. LCD obrazovka 2. Voba režimu / posun vlevo 3. Přehrávání / Posun nahoru 4. Samospoušť / posun vpravo 5. MENU/potvrzeni volby (OK) 6. volba

Více

ESTATIX INFORMAČNÍ SYSTÉM REALITNÍCH KANCELÁŘÍ UŽIVATELSKÁ PŘÍRUČKA UŽIVATELSKÁ PŘÍRUČKA STRANA 1 / 23

ESTATIX INFORMAČNÍ SYSTÉM REALITNÍCH KANCELÁŘÍ UŽIVATELSKÁ PŘÍRUČKA UŽIVATELSKÁ PŘÍRUČKA STRANA 1 / 23 ESTATIX INFORMAČNÍ SYSTÉM REALITNÍCH KANCELÁŘÍ UŽIVATELSKÁ PŘÍRUČKA STRANA 1 / 23 OBSAH 1 Zabezpečení systému... 3 1.1 Přístup do systému... 3 1.2 První přihlášení... 3 1.3 Heslo nefunguje nebo jej uživatel

Více

Popis výrobku 1/11. O co se jedná? Jak systém pracuje? Součásti výrobku

Popis výrobku 1/11. O co se jedná? Jak systém pracuje? Součásti výrobku Popis výrobku 1/11 O co se jedná Asistenční systém parkování vzad vybavený ultrazvukovými senzory (4), napojený na kameru s výhledem dozadu poskytuje zvukovou a obrazovou informaci během couvání. Odhaluje

Více

NÁVOD K MONTÁŽI A K OBSLUZE

NÁVOD K MONTÁŽI A K OBSLUZE NÁVOD K MONTÁŽI A K OBSLUZE Obj. č. 61 05 58 Tento návod k obsluze je součástí výrobku. Obsahuje důležité pokyny k uvedení zařízení do provozu a k jeho obsluze. Jestliže výrobek předáte jiným osobám, dbejte

Více

Rámcový manuál pro práci s programem TopoL pro Windows

Rámcový manuál pro práci s programem TopoL pro Windows Rámcový manuál pro práci s programem TopoL pro Windows Příkazy v nabídce Předmět Volba rastru rychlá klávesa F4 Příkaz otevře vybraný rastr; tj. zobrazí ho v předmětu zájmu. Po vyvolání příkazu se objeví

Více

HypEd4 Uživatelská příručka 2004 HYPEL

HypEd4 Uživatelská příručka 2004 HYPEL HypEd4 Uživatelská příručka I HypEd4 - Uživatelská příručka Obsah Kapitola I Vítejte 6 1 Použití nápovědy... 6 2 Co je nového... v programu HypEd 4 6 3 Získání další odborné... pomoci 6 Kapitola II Instalace,

Více

WIFI KAMERA BUGGY NÁVOD K POUŽITÍ APLIKACE

WIFI KAMERA BUGGY NÁVOD K POUŽITÍ APLIKACE WIFI KAMERA BUGGY NÁVOD K POUŽITÍ APLIKACE Děkujeme za váš nákup Wifi Buggy od BEEWI. Přečtěte si prosím následující informace, abyste se naučili využívat všechny funkce vašeho nového výrobku. 1 ÚVOD WiFi

Více

SWITEL WALKIE-TALKIE PMR WTF 800 Česky

SWITEL WALKIE-TALKIE PMR WTF 800 Česky SWITEL WALKIE-TALKIE PMR WTF 800 Česky Uživatelská příručka Přečtěte si prosím tyto informace a uchovejte manuál poblíž pro budoucí doporučení. WTF 800 pracuje na 8 kanálech. Zařízení je vyrobeno dle IPX7

Více

Špionážní tužka s HD kamerou Manual. (typ - propiska)

Špionážní tužka s HD kamerou Manual. (typ - propiska) Špionážní tužka s HD kamerou Manual (typ - propiska) Přečtěte si laskavě tento Návod k použití před prvním použitím přístroje. Obsah návodu PŘEČTĚTE SI LASKAVĚ TENTO NÁVOD K POUŽITÍ PŘED PRVNÍM POUŽITÍM

Více

Řízení spotřeby Uživatelská příručka

Řízení spotřeby Uživatelská příručka Řízení spotřeby Uživatelská příručka Copyright 2009 Hewlett-Packard Development Company, L.P. Windows je registrovaná ochranná známka společnosti Microsoft Corporation v USA. Informace uvedené v této příručce

Více

Řízení spotřeby Uživatelská příručka

Řízení spotřeby Uživatelská příručka Řízení spotřeby Uživatelská příručka Copyright 2009 Hewlett-Packard Development Company, L.P. Windows je registrovaná ochranná známka společnosti Microsoft Corporation v USA. Informace uvedené v této příručce

Více

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka

Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Dálkové ovládání HP Mobile Remote Control (pouze u vybraných modelů) Uživatelská příručka Copyright 2008 Hewlett-Packard Development Company, L.P. Windows a Windows Vista jsou buď ochranné známky nebo

Více

Josef Pecinovský PowerPoint 2007

Josef Pecinovský PowerPoint 2007 Josef Pecinovský PowerPoint 2007 Jak na PowerPoint 2007 v rekordním čase Josef Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3054. publikaci Odpovědný redaktor Karel Samohýl

Více

TE-218 TG-218 TW-218. Electronic Publishers EURO INTERPRETER. Návod k použití

TE-218 TG-218 TW-218. Electronic Publishers EURO INTERPRETER. Návod k použití 24 Electronic Publishers TE-218 TG-218 TW-218 EURO INTERPRETER Návod k použití 1 Licenční smlouva NEŽ ZAČNETE VÝROBEK POUŽÍVAT, PŘEČTĚTE SI TUTO LICENČNÍ SMLOUVU. POUŽÍVÁNÍ VÝROBKU ZNAMENÁ, ŽE JSTE AKCEPTOVALI

Více

Multifunkční mini-diktafon

Multifunkční mini-diktafon Multifunkční mini-diktafon Návod k obsluze Hlavní výhody produktu: Velká možnost nastavení jednotlivých funkcí Možnost napájení z externí baterie (prodloužení doby nahrávání až na tři dny) MP3 přehrávač

Více

Standardně máme zapnutý panel nástrojů Formátování a Standardní.

Standardně máme zapnutý panel nástrojů Formátování a Standardní. Zapnutí a vypnutí panelů nástrojů Standardně máme zapnutý panel nástrojů Formátování a Standardní. Úkol: Vyzkoušejte si zapnout a vypnout všechny panely nástrojů. Nechte zapnutý panely nástrojů Formátování

Více

Fox 2175. elektronické klávesy NÁVOD K POUŽITÍ

Fox 2175. elektronické klávesy NÁVOD K POUŽITÍ Fox 2175 elektronické klávesy NÁVOD K POUŽITÍ UPOZORNĚNÍ Prosíme, dodržujte následující pravidla pro používání, abyste sebe nebo osoby ve vaší blízkosti nezranili a rovněž, abyste nepoškodili okolní zařízení.

Více

Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford).

Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford). LANGMaster International, s.r.o. Branická 107, 147 00 Praha 4 Česká republika Tel.: +420 244 460 807, +420 736 623 459 Fax: +420 244 463 411 e-mail: info@langmaster.cz http://www.langmaster.cz Na základě

Více

Česky. Návod k použití

Česky. Návod k použití Česky CZ Návod k použití NÁVOD K POUŽITÍ ADRESAR A, B, C... DENIK HOVORU Promeskané hovory Prijaté hovory Vyslané hovory VOLTE CISLO OVLÁDÁNÍ HLAS. Adresar Klíčová slova Telefonovat, Zavěsit, Bydliště,

Více

Učivo: Detailnější zopakování používání některých částí uživatelského rozhraní LEGO MINDSTORMS NXT Paleta programování

Učivo: Detailnější zopakování používání některých částí uživatelského rozhraní LEGO MINDSTORMS NXT Paleta programování Metodické pokyny k materiálu č. 27 Paleta programování - opakování Třída: 8. Učivo: Detailnější zopakování používání některých částí uživatelského rozhraní LEGO MINDSTORMS NXT Paleta programování Obsah

Více

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006 Vypracoval: Marek Handl Datum: červen 2006 X36SOJ Strojově orientované jazyky Semestrální práce Téma: Arkanoid Úvod Program je verzí klasické hry Arkanoid. Na herní ploše jsou rozloženy kostičky, které

Více

Popis licencování, nastavení a ovládání replikací - přenosů dat

Popis licencování, nastavení a ovládání replikací - přenosů dat Popis licencování, nastavení a ovládání replikací - přenosů dat Ing. Martin Klinger 1.6.2016 Co jsou replikace? Sdílení dat, tzv. replikace najdou své uplatnění všude tam, kde je potřeba výměna dat v online

Více

SVEL 2000. Svářečka elektrotvarovek. Návod k použití

SVEL 2000. Svářečka elektrotvarovek. Návod k použití SVEL 2000 Svářečka elektrotvarovek Návod k použití Úvod Vážený zákazníku, zařízení, které jste si právě zakoupili bylo vyrobeno ve firmě DYTRON, která je významným výrobcem zařízení pro svařování plastů

Více

Funkce Chytrý dotyk. verze 1.4. A-61629_cs

Funkce Chytrý dotyk. verze 1.4. A-61629_cs Funkce Chytrý dotyk verze 1.4 A-61629_cs Používání funkce chytrého dotyku Obsah Přehled... 1 Spuštění funkce chytrého dotyku... 2 Používání funkce chytrého dotyku s výchozími čísly funkcí a předem definovanými

Více

Napájení. Číslo dokumentu: 396855-221. V této příručce je popsán způsob napájení počítače. B ezen 2006

Napájení. Číslo dokumentu: 396855-221. V této příručce je popsán způsob napájení počítače. B ezen 2006 Napájení Číslo dokumentu: 396855-221 B ezen 2006 V této příručce je popsán způsob napájení počítače. Obsah 1 Umíst ní ovládacích prvk a indikátor napájení 2 Zdroje napájení Připojení adaptéru střídavého

Více

LUVION Delft, The Netherlands www.luvion.com

LUVION Delft, The Netherlands www.luvion.com NÁVOD K POUŽITÍ OBSAH ÚVOD BEZPEČNOSTNÍ POKYNY OBSAH BALENÍ PŘÍDAVNÉ KAMERY POPIS RODIČOVSKÉ JEDNOTKY (MONITORU) POPIS DĚTSKÉ JEDNOTKY (KAMERY) UVEDENÍ DO PROVOZU VOLBY MENU PÁROVÁNÍ ŘEŠENÍ PROBLÉMŮ TECHNICKÁ

Více

Návod k používání radiostanice. Motorola TLKR T5

Návod k používání radiostanice. Motorola TLKR T5 Návod k používání radiostanice Motorola TLKR T5 OBSAH Bezpečnost produktu a účinky rádiového vysílání přenosných dvousměrných rádií...2 Vlastnosti...2 Ovládání a funkce...3 Displej...4 Obsah balení...5

Více

Pokyny pro montáž a použití

Pokyny pro montáž a použití Pokyny pro montáž a použití Návod k instalaci a obsluze elektrických saunových kamen Tento návod k instalaci a k obsluze je určen pro majitele saun resp. pro jejich provozovatele a pro elektroinstalatéry,

Více

Scan Operator 12 FX Světelný ovladač

Scan Operator 12 FX Světelný ovladač Scan Operator 12 FX Světelný ovladač Obsah 1. Popis ovládacích prvků...4 1.1 Čelní panel...4 1.2 Zadní panel...6 2. Ovládání...7 2.1 Spuštění režimu Program...7 2.2 Programování scén...7 2.2.1 Editace

Více

Hip-Hop můžete ovládat pomocí osvětlovacího pultu či vhodného kontroléru pro světla, který připojíte pomocí DMX (XLR) kabelu.

Hip-Hop můžete ovládat pomocí osvětlovacího pultu či vhodného kontroléru pro světla, který připojíte pomocí DMX (XLR) kabelu. ROBE HIP-HOP STRUČNÝ NÁVOD K OBSLUZE OVLÁDÁNÍ 1. Ovládání pomocí osvětlovacího pultu (viz tabulka DMX na následujících dvou stranách) Hip-Hop můžete ovládat pomocí osvětlovacího pultu či vhodného kontroléru

Více