ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA TECHNICKÉ VÝCHOVY
2010
Tomáš Voříšek Veronika Hrbáčková
Legocentrifuga Cílem této práce bylo seznámení se stavebnicí Lego Mindstrom, ve které jsme měli za úkol sestavit a naprogramovat námi zvolené, libovolné zařízení. My jsme se rozhodli pro zrealizování Legocentrifugy, což je jakýsi zábavný druh kolotoče, který se vyskytuje na poutích. Programování jsme provedli v programu ROBOLAB. Postup sestavení Legocentrifugy probíhal následujícím způsobem: Jako základní kámen pro sestavení našeho zařízení slouží deska o velikosti 20mm x 30mm, na kterou se postupně umísťují všechny potřebné komponenty. Naším cílem bylo sestavení takového kolotoče, který by uměl co nejvíce různých druhů otáčení a nahýbání. Proto jsme se rozhodli pro sestavení takové konstrukce, která umožňuje pohyb jak nahoru tak i dolů. Z čehož budou mít návštěvníci Legocentrifugy ojedinělí a nezapomenutelný zážitek. Rameno, které umožňuje pohyb nahoru a posléze dolů.
Dalším naším cílem bylo, aby se kolotoč uměl nejen zvedat nahoru a dolu, ale aby se uměl i roztočit a v tomto případě se nejen otáčet pouze na jednu stranu, ale také umět změnit směr otáčení a to v několika málo sekundách. K vytvoření takovéhoto mechanismu bylo zapotřebí využít převodovky, která bude splňovat všechny naše parametry. Převodovka
Řídící prvky zakomponované do našeho mechanismu:
Programovatelná RCX kostka
první
generace je srdcem stavebnice Lego Midstrom a zároveň naší řídící jednotkou. Jedná se o jednočipový mikropočítač Hitachi uzavřený do
pouzdra
podobného
ostatním
Lego
kostkám. RCX je počítač schopný samostatně vykonávat zadaný program. Ke své práci nepotřebuje počítač. Počítač je nutný pouze k naprogramování daného programu, která je následně do RCX přenesen pomocí inravěže.
K uchovávání programů a dat je RCX kostka vybavena 32 kB pamětí typu SRAM. Do paměti je možné najednou uložit až pět programů. To je velmi výhodné, pokud si u jednoho modelu chcete vyzkoušet chování za různých podmínek. Datalog je oblast paměti, do které může RCX ukládat libovolná data, třeba údaje odečtené ze senzorů. Vstupní porty jsou šedé čtverce s vodivými vývody na horní části RCX kostky, označené čísli 1 až 3. Slouží k připojení
standardních
senzorů.
Pomocí
senzorů
připojených k těmto konektorům může RCX získávat informace o okolním světě. Výstupní porty jsou černé čtverce s vodivými vývody na horní části RCX kostky, označené písmeny A až C. Slouží k připojení elektrických součástek, které pak může RCX ovládat. Jedná se hlavně o motory, světla, blikače a mikromotory.
Infračervený port je tmavé okénto v přední části RCX kostky. Slouží k oboustranné komunikaci s infravěží, dowloadu firmware a programů, nahrávání dat z datalogu. Protože RCX kostka používá jiný způsob kódování zpráv než je běžné, nejde RCX zmást například dálkovým ovládáním od televizoru. Velikost vysílacího kuželu IR portu je přibližně 55°.
Displej a ovládací tlačítka jsou na panelu LCD a slouží k zobrazování informací o tom, co se s RCX děje, pomocí tlačítek můžeme ovládat základní funkce RCX. Po stranách displeje jsou čtyři ovládací tlačítka. Jejich funkce je následující:
K napájení RCX slouží jako interní zdroj 6 tužkových (AA) baterií, které jsou umístěny ve spodní části RCX. Další možností napájení je použití externího 9V síťového adaptéru přes konektor umístěný v zadní části RCX.
On – Off: Zapíná a vypíná RCX. Pokud RCX zapomenete vypnout, vypne se po čase samo. Run: Spouští a zastavuje vybraný program. Číslo vybraného programu se na displeji zobrazuje spolu s panáčkem. Běžící panáček ukazuje, že program právě probíhá. Prgm: Pomocí tohoto tlačítka vybíráte číslo programového slotu. Opakovaným stiskem přepínáte sloty v cyklu 1 – 2 – 3 - 4 – 5 – 1 ... Číslo aktuálního programu se zobrazí na displeji. RCX disponuje pěti programovými sloty na uschovávání programů. View: Umožňuje zobrazit na displeji různé informace. Postupnými stisky přepínáme mezi zobrazením stavu vstupu 1 až 3, výstupu A až C a systémovým časem.
Infravěž slouží ke komunikaci vašeho PC s RCX. Pomocí věže se do RCX zasílá program, firmware a z RCX zpět do počítače data. Při komunikaci RCX s počítačem by mělo RCX být umístěno asi 10 – 15 cm od věže a to v přímé viditelnosti.
Při
velkém
množství
slunečního
světla
v místnosti bývají s komunikací potíže.
Programování K naprogramování Legocentrifugy, lze zvolit celá řada různých programů. My jsme si pro jednoduchost a časovou nenáročnost zvolili program ROBOLAB. Vývojové prostředí je velmi jednoduché a je založeno na principu drag-and-drop („táhni a pusť). Pomocí tohoto principu jsou přesouvány bloky z Functions Palette na programovací plochu programu, který lze dále upravovat pomocí Tools Pallete. Každý blok má unikátní funkci jako pohyb motorů, rozpoznání světla, teploty nebo třeba zvukové efekty. Různými kombinacemi bloků se vytváří programy, které se potom nahrají přes USB kabel do Tower, a přes ni dále do autíčka.
Programovací bloky Jak už bylo zmíněno, program se vytváří pomocí programových bloků. Seznámíme Vás nyní s těmi nejzákladnějšími.
Motor Forward - blok uvede motory do pohybu vpřed
Wait For – blok umožňuje čekat určitou dobu, a nebo dokud není splněna nějaká podmínka
Vytvoření programu pro Legocentrifugu První blok na obrázku má za úkol spustit celou kaskádu příkazů. Po tomto bloku dochází k sériovému větvení programu Náš program Náš program začíná čtyř sekundovým zpožděním startu. Poté následuje pozvolný rozběh rotoru, který je realizován nastavením runlevelu motoru A. Motor se nejdříve rozběhne na stupeň jedna, po čtyř sekundovém zpoždění se runlevel přepne na 6s na stupeň 2 a poté se motor rozběhne na stupeň 5. V ten moment se na 6s sepne motor B a světla C. Tíme se rameno nakolní do určitého úhlu, pomocí bloku se vypnou porty B a C a po dobu 4s se rotor kolotoče otáčí na nakloněném rameni. Poté se v opačném směru zapne motor B a světlo. Rameno se tak vrátí to původní pozice. Následuje krátká sekvence, a to zpomalení motoru A na 4 sekundy na supeň 2. Poté se motor opět přepne na run level 5. Spustí se opět motor B se světly a rameno se opět začne naklánět, tentokrát do většího úhlu. Rameno zůstane nakloněno 10s a poté se vrátí do původní polohy. Jakmile se rameno vrátí, začne sekvence pro postupné brzdění. To je realizováno opakováním řady příkazů. Jedná se o snížení run levelu motoru, bliknutí světel a krátkého zpoždění. Tato sekvence se opakuje dokud není run level na 0. Při posledním opakováním se přehraje systémový zvuk a motor se zastaví.
Náhled do našeho programu NXT - G Pozvolný rozběh motoru (runlevel 1,2,5, mezitím zpoždění)
Zvedání ramene, zpoždění, klesání ramene (motor B, světlo, nastavení uhlu vychýlení pomocí časovače. Při klesání ramene stejný čas, světlo)
Zpomalení a zrychlení
Postupné brždění
Zakončovací sekvence
(RL 2, 4s zpoždění,
(RL 4, světlo bliknutí 1s,
(Světlo, zpoždění 6s,
RL 5)
zpoždění 2s. Poté se celá
výstražný zvuk,
sekvence opakuje, runlevel
stop portů ABC, END)
motoru A se postupně snižuje) Video na adrese http://www.youtube.com/watch?v=KKfmPSOKyi0