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
Download

Robotika 1