LEGO® Mindstorms® Education NXT Projekt Lego ve výuce informatiky a fyziky
Robotika 1 Mgr. Radoslav Jirásek RNDr. Jitka Jirásková Mgr. Eva Riessová
Obsah O publikaci.........................................................................................................................................................4 1. Animace na displeji...........................................................................................................................................5 2. Jízda tam a zpět v přímém směru....................................................................................................................8 3. Jízda po trojúhelníkové dráze.........................................................................................................................10 4. Ultrazvukový senzor 1....................................................................................................................................11 5. Ultrazvukový senzor 2....................................................................................................................................12 6. Zvukový senzor................................................................................................................................................13 7. Zobrazení hodnoty světelného senzoru........................................................................................................15 8. Světelný senzor 2..............................................................................................................................................17 9. Průzkumník......................................................................................................................................................18 10. Jízda po čáře......................................................................................................................................................19 11. Tlakový senzor.................................................................................................................................................20 12. Rotační senzor..................................................................................................................................................21 13. Stopky................................................................................................................................................................22 14. Blikač.................................................................................................................................................................24 15. Golfista..............................................................................................................................................................25 Řešení: Animace na displeji............................................................................................................................26 Řešení: Jízda tam a zpět v přímém směru....................................................................................................27 Řešení: Jízda po trojúhelníkové dráze...........................................................................................................28 Řešení: Ultrazvukový senzor 1.......................................................................................................................29 Řešení: Ultrazvukový senzor 2.......................................................................................................................30 Řešení: Zvukový senzor..................................................................................................................................31 Řešení: Zobrazení hodnoty světelného senzoru..........................................................................................32 Řešení: Světelný senzor 2................................................................................................................................33 Řešení: Průzkumník........................................................................................................................................34 Řešení: Jízda po čáře........................................................................................................................................35 Řešení: Tlakový senzor....................................................................................................................................36 Řešení: Rotační senzor 1 (1.část)...................................................................................................................37 Řešení: Rotační senzor 1 (2.část)...................................................................................................................38 Řešení: Stopky..................................................................................................................................................39 Řešení: Blikač...................................................................................................................................................40 Řešení: Golfista.................................................................................................................................................41 Použitý hardware: Robot 1..............................................................................................................................42
O publikaci Tato sbírka řešených úloh z robotiky předpokládá základní znalosti práce v prostředí programu LEGO MINSTORMS Education NXT Programming a používá ve svých úlohách NXT pojízdný model Robot 1. Začátečníkům doporučujeme se seznámit se základní příručkou Metodika NXT. V první části obsahuje zadání úloh a popis programových prvků vhodných k jejich řešení. Ve druhé části jsou pak uvedena řešení. Detailní nastavení všech parametrů programů jsou pak k dispozici na přiloženém CD s programy.
4
1.Animace na displeji Úkol: Sestavte program animace na displeji Robota 1. Animace se bude skládat ze 4–5 snímků, trvajících vždy 1 sekundu. Zobrazení každého snímku bude doprovázeno nějakým zvukem. Nové programové prvky: Displej, Zvuk, Čekej. Ikona příkazu Displej(Display)
může dle nastavení:
Zobrazit obrázek ze souboru „Smile 01“
Zobrazit text „Ahoj“
Zobrazit bod, přímku nebo kružnici.
5
Vymazání displeje.
Ikona příkazu Zvuk (Sound)
může dle nastavení:
Přehrávat tón nebo zvuk ze souboru. tón z klávesnice
zvukový soubor
opakované hraní
6
název souboru
program čeká na přehrátí zvuku
Ikona příkazu Čekej (Wait)
může dle nastavení:
Čekat až uplyne nastavený čas nebo čeká až se změní stav nějakého senzoru.
7
2. Jízda tam a zpět v přímém směru Úkol: Sestavte program, podle kterého Robot 1 pojede 50 cm přímo vpřed, pak bude couvat zpět a ještě jednou pojede vpřed. Na prvním úseku budou motory řízeny zadáním počtem otáček. Na druhém zadáním úhlu otočení motorů. Na třetím dobou jízdy. a) Počet otočení kola je dán vzorcem:
kde n je počet otáček, s je dráha pohybu, o je obvod kola, r je poloměr kola. b) Úhel otočení kola je dán vzorcem:
kde φ je úhel otočení, n je počet otáček kola. c) Dobu jízdy při určitém výkonu motoru určete empiricky. Nový programový prvek: Pohybuj. Ikona příkazu Pohybuj (Move)
může dle nastavení:
motory se 1 x otočí Ovládat 1–3 motory současně.
pro dva motory lze zadat směr zatáčení 8
budou-li motory zastavovat
budou-li motory pokračovat v pohybu, (zrychlení, zpomalení)
motory se otočí o zadaný úhel ve stupních
motory budou v chodu 1 sekundu
Otázky a úkoly: 1.Jakou vzdálenost ujede kolo na jedno otočení? 2.Který způsob zadání ujeté vzdálenosti je závislý na dalších podmínkách?
9
3. Jízda po trojúhelníkové dráze Úkol: Sestavte program, podle kterého Robot 1 objede jedenkrát okolo vyznačeného pravoúhlého trojúhelníku s odvěsnami 60 cm a 120 cm.
Otázky a úkoly: 1.Jakou vzdálenost ujede na: a.1 otočení b.otočení o 1° ? 2.Vyjmenuj a popiš, jak mohou být poháněna kola modelu Robot 1 při zatáčení o 90°.
10
4. Ultrazvukový senzor 1 Úkol: Sestavte program, podle kterého Robot 1 pojede proti stěně a 30 cm před ní zastaví. Přehraje zvuk, otočí se o 180° a jede 100 cm zpátky. Nový programový prvek: Čekej na ultrazvuk (Wait for ultrasonic). Ikona příkazu Čekej na ultrazvuk
znamená:
Čekej, až bude splněna podmínka, že vzdálenost ultrazvukového senzoru od překážky je < > = zadaný počet cm nebo palců.
nastavení jednotek měření
Otázky a úkoly: 1.Jakou nejkratší a nejdelší vzdálenost změří ultrazvukový senzor? 2.Vyzkoušejte, jaký nejužší objekt ve vzdálenosti 20 cm senzor ještě detekuje.
11
5. Ultrazvukový senzor 2 Úkol: Vytvořte program pro ultrazvukový senzor, který bude řídit Robota 1 takto: Pokud se k němu přiblížíte, bude couvat od vás, pokud se od něj budete vzdalovat, pojede kupředu k vám. Nové programové prvky: Smyčka a Větvení. Ikona příkazu Smyčka (Loop) může dle nastavení:
Opakovat uvnitř vloženou část programu s nekonečným počtem opakování nebo s konečným počtem opakování. Ukončení smyčky je možné podmínit změnou stavu nějakého senzoru, uplynutím zadané doby, zadáním počtu opakování nebo dosažením logické hodnoty. Ikona příkazu Větvení (Switch) větví program například takto:
Je-li vzdálenost větší než 50 cm, svítí žárovka A.
Je-li vzdálenost větší nebo rovna 50 cm, svítí žárovka B.
větve se zobrazí jako záložky
12
6. Zvukový senzor Úkol: Sestavte program, podle kterého pojede Robot 1 vpřed. Na tlesknutí robot náhodně změní směr jízdy. Tato činnost se opakuje čtyřikrát, potom robot zastaví. Nové programové prvky: Čekej na senzor zvuku, Generuj náhodné číslo. Ikona příkazu Čekej na senzor zvuku (Wait)
znamená:
Čekej, až bude zaznamenaná intenzita zvuku větší než 50%
Ikona příkazu Generuj náhodné číslo (Random)
znamená:
Vygeneruj náhodné číslo mezi hodnotou A a hodnotou B. Přednastavený rozsah je 0 až 100, ale můžeme jej manuálně změnit na 0 až 32767.
13
Generátor náhodných čísel se používá následovně:
výstup náhodného čísla vstupy A a B
výstup náhodného čísla
Otázky a úkoly: 1.Zjistěte, při jakém nastavení senzoru zvuku se již rušivě projevuje okolní ruch? 2.Zjistěte názvy dalších vstupů ikony Pohybuj (Move)?
14
7. Zobrazení hodnoty světelného senzoru Úkol: Sestavte program pro Robota 1, tak aby při přejezdu černých čar na bílém podkladu zobrazoval hodnoty světelného senzoru na displeji. Dráha pohybu bude asi 60 cm. K odměření dráhy použijte rotační senzor z motoru A. Nové programové prvky: Rotační senzor, Smyčka řízená rotačním senzorem, Světelný senzor, Převod čísla na text, Zobrazení textu na displeji. Ikona příkazu Rotační senzor (Rotation Sensor)
může dle nastavení:
Vyvolat nulování (reset) rotačního senzoru nebo čtení jeho hodnoty
vynulování hodnoty senzoru
čtení hodnoty senzoru
nastavení jednotek
Ikona příkazu Smyčka řízená rotačním senzorem (Loop)
může být nastavena:
směr rotace
Na ukončení smyčky po dosažení zadaného počtu otáček v jednom či druhém směru. 15
Ikona příkazu Světelný senzor (Light Sensor)
umožňuje:
výstup číselné hodnoty
Přečíst číselnou hodnotu světelného senzoru pro další zpracování. Ikona příkazu Převod čísla na text (Number to Text)
umožňuje:
vstup číselné hodnoty
výstup textové hodnoty
Převod číselné hodnoty na text pro další zpracování. Ikona příkazu Zobrazení textu na displeji (Displej)
vstup textové hodnoty
Zobrazení textu na displeji. Otázky a úkoly: 1.Vyzkoušejte změnit umístění vypisovaných hodnot na displeji? 2.Vyzkoušejte doplnit výpis znakem %? . 16
umožňuje:
8. Světelný senzor 2 Úkol: Sestavte program takový, že Robot 1 přejíždí postupně přes 4 rovnoběžné černé nalepené proužky široké cca 1,5 cm a vzdálené od sebe 10–15 cm. Jakmile najede na proužek, zastaví a zahraje tón. Program končí po čtvrtém proužku.Nejprve si zjistěte, jaké hodnoty měří světelný senzor na pásce a na podkladu. Nové programové prvky: Smyčka řízená světelným senzorem (Loop). Ikona příkazu Smyčka(Loop)
může dle nastavení:
Opakovat se tak dlouho, dokud hodnota světelného senzoru nebude menší než 50%
nebo může být zadán počet opakování smyčky
senzor si osvětluje prostor
vstup textové hodnoty Počítadlo opakování (counter).
Otázky a úkoly: 1.Zjistěte, jaký vliv má na funkčnost programu venkovní světlo? 2.Zjistěte, jaký vliv má na funkčnost programu nastavení rychlosti pohybu robota? 17
9. Průzkumník Úkol: Sestavte program takový, že Robot 1 se pohybuje uvnitř oblasti ohraničené černou páskou, jakmile robot najede na okraj pásky, zacouvá asi 10 cm a náhodně se otočí. Tato činnost se neustále opakuje.
Otázky a úkoly: 1.Zjistěte, jaký vliv má na funkčnost programu nastavení rychlosti pohybu robota? 2.Vyzkoušejte otáčení jen o malý úhel 10°–30° a s kratším couváním. Jak se změní pohyb robota?
18
10. Jízda po čáře Úkol: Sestavte program takový, že Robot 1 se pohybuje po čáře vyznačené černou páskou. Nejprve si zjistěte, jaké hodnoty měří světelný senzor na pásce a na podkladu. Nové programové prvky: Větvení podle světelného senzoru. Ikona příkazu Větvení podle světelného senzoru (Switch) větví program takto:
zde vložený příkaz se vykoná, je-li světelnost větší než 50%
zde vložený příkaz se vykoná, je-li světelnost menší než 50%
Otázky a úkoly: 1.Zjistěte, jaký vliv má na funkčnost programu venkovní světlo? 2.Zjistěte, jaký vliv má na funkčnost programu nastavení rychlosti pohybu robota? 3.Vyzkoušejte k řešení úlohy prvek Jízda po čáře (Line Following Block).
19
11. Tlakový senzor Úkol: Sestavte program pro Robot 1 takový, že pojede vpřed k překážce až do vzdálenosti 30 cm, pak začne couvat tak dlouho, dokud se nesepne tlakový senzor na zádi robota. Tato činnost se opakuje. Nové programové prvky: Čekej na tlakový senzor (Wait). Ikona příkazu Čekej na tlakový senzor
může dle nastavení:
čeká na stisk tlačítka
čeká na uvolnění tlačítka
čeká na stisk a uvolnění tlačítka
Otázky a úkoly: 1.Zjistěte, jestli by program fungoval i při nastavení tlakového senzoru na uvolnění? 2.Kde se v praxi využívají tlakové senzory?
20
12. Rotační senzor Úkol: Robot 1 jede přes příčné černé pásky (asi 1 cm široké). Poslední páska má trojnásobnou šířku. Šířka čáry určuje úhel otočení rotačního senzoru. Tato hodnota se zobrazuje na displeji. Za poslední, tedy širokou, páskou robot zastaví. Diagram programu:
21
13. Stopky Úkol: Sestavte program, který z Robota 1 udělá stopky k měření času. Bude mít funkci nulování, start a stop. Jako tlačítko použijte dotykový senzor. První zmáčknutí–nulování, druhé–start, třetí–stop. Činnost se opakuje. Čas se bude ukazovat v setinách sekund. Nové programové prvky: Časovač, Proměnná. Ikona příkazu Časovač (Timer)
Ikona příkazu Proměnná (Variable)
může dle nastavení:
může dle nastavení:
Obsahovat logickou, číselnou nebo textovou hodnotu. Nejprve se v Menu proměnná definuje a potom se její jméno přiřadí ikoně.
22
Diagram programu:
Otázky a úkoly: 1.Zkuste doplnit program o výpis ve tvaru 14,65 s?
23
14. Blikač Úkol: Sestavte program takový, že Robot 1 bude blikat se třemi žárovkami na portech ABC podle intenzity okolního světla. Za tmy budou blikat tři, v přítmí dvě, při rozjasnění jedna a za světla žádná. K připojení žárovek použijte kabelové adaptéry. K řešení použijte vnořená větvení programu. Nové programové prvky: Žárovka. Ikona příkazu Žárovka (Lamp)
může dle nastavení:
Rozsvítit nebo zhasnout žárovku. Nastavit lze intenzita svícení.
Otázky a úkoly: 1.Vyzkoušejte měnit rychlost blikání? 2.Vyzkoušejte řešení bez větvení programu?
24
15. Golfista Úkol: Sestavte program takový, že Robot 1 vybavený ramenem a světelným senzorem s upraveným uchycením pro golf jede k podložce s červeným nebo modrým míčkem. Před podložkou zastaví a červený míček odpálí. Pokud je míček modrý, neodpálí jej, ale zazní zvuk chyby a robot zacouvá. Diagram programu:
Otázky a úkoly: 1.Zkuste upravit program tak, aby byl méně ovlivněn okolním osvětlením?
25
Řešení: Animace na displeji
26
Řešení: Jízda tam a zpět v přímém směru
27
Řešení: Jízda po trojúhelníkové dráze
28
Řešení: Ultrazvukový senzor 1
29
Řešení: Ultrazvukový senzor 2
30
Řešení: Zvukový senzor
31
Řešení: Zobrazení hodnoty světelného senzoru
32
Řešení: Světelný senzor 2
33
Řešení: Průzkumník
34
Řešení: Jízda po čáře
35
Řešení: Tlakový senzor
36
Řešení: Rotační senzor 1 (1.část)
37
Řešení: Rotační senzor 1 (2.část)
38
Řešení: Stopky
39
Řešení: Blikač
40
Řešení: Golfista
41
Použitý hardware: Robot 1
42