Západočeská univerzita v Plzni FAKULTA PEDAGOGICKÁ KATEDRA TECHNICKÉ VÝCHOVY NÁZEV PRÁCE PSTCM LEGO Mindstorm Strašidelný hrad DIPLOMOVÁ PRÁCE Bc. Jana Kováčová, Bc. Lukáš Broumský Učitelství pro 2. stupeň ZŠ léta studia (2010-2012) Plzeň, 15. prosinec 2010
OBSAH OBSAH 1 LEGO MINDSTORM... 3 1.1 PŘEDSTAVENÍ... 3 1.2 HISTORIE... 3 1.3 POUŽITÍ VE VÝUCE... 3 1.4 RCX 1.0... 3 2 RCX 1.0 V KOSTCE... 4 2.1 PŘEDSTAVENÍ... 4 2.2 PAMĚŤ... 4 2.3 JACK... 4 2.4 INFRAČERVENÝ PORT... 4 2.5 VSTUPNÍ A VÝSTUPNÍ PORTY... 5 2.6 DISPLAY... 5 2.7 OVLÁDACÍ TLAČÍTKA... 5 2.8 BATERIOVÉ NAPÁJENÍ... 5 2.9 INFRAČERVENÁ VĚŽ... 5 3 STRAŠIDELNÝ HRAD... 6 3.1 VÝBĚR TÉMATU... 6 3.2 CÍL... 6 3.3 POUŽITÉ ČÁSTI... 6 3.4 POSTUP PŘI SESTAVENÍ MODELU... 6 3.5 PROGRAMOVÁNÍ POMOCÍ VĚŽE... 7 3.6 PROGRAM... 7 4 PROGRAMOVÁNÍ... 8 4.1 REŽIMY... 8 4.2 DRAG AND DROP... 8 4.3 BLOKY... 8 4.4 PROGRAM... 9 4.5 POSTUP... 9 5 OBRÁZKY... 10 6 CITACE... I 7 SEZNAM OBRÁZKŮ... II
1 LEGO MINDSTORM 1 LEGO MINDSTORM 1.1 PŘEDSTAVENÍ LEGO Mindstorms je řada programovatelných robotických stavebnic vyráběných firmou Lego. Mindstorms pochází z programovatelných senzorových bloků používaných v řadě výukových pomůcek. První verze Lego Mindstorms byla dána na trh v roce 1998 pod názvem Robotics Invention System. Nejnovější verze Lego Mindstorms NXT 2.0 pochází z 5. srpna 2009. 1.2 HISTORIE Stavebnice Mindstorms má své prapočátky u první programovatelné kostky vytvořené v laboratoři MIT. Tato cihlička byla programována v jazyku Brick Logo. Originální stavebnice obsahovala dva motory, dva dotekové senzory a jeden světelný senzor. NXT verze má tři servomotory a po jednom senzoru doteku, světla, zvuku a vzdálenosti. Z Lego Mindstorms může být sestaven model vestavěného systému s počítačem kontrolovanými elekromechanickými součástmi. Lze postavit mnoho druhů skutečných vestavěných systémů, od ovladače výtahu po výrobní automaty. 1.3 POUŽITÍ VE VÝUCE Stavebnice se také používá jako vzdělávací nástroj, původně díky partnerství mezi Lego a MIT. Vzdělávací verze produktů se jmenuje Lego Mindstorms pro školy a je nabízena s ROBOLAB GUI programovacím softwarem. Ten vyvinula Tufts University a používá engine National Instruments LabVIEW 1. 1.4 RCX 1.0 RCX je mozkem stavebnice. Jedná se o jednočipový mikropočítač Hitachi, s 32kB SRAM, tedy žádný závratný výkon. Nám ale tento výkon spolehlivě postačí k ovládání strašidelného hradu. 1 http://cs.wikipedia.org/wiki/lego_mindstorms 3
2 RCX 1.0 V KOSTCE 2 RCX 1.0 V KOSTCE 2.1 PŘEDSTAVENÍ Jak jsme již zmínili v závěru minulého odstavce, pod slušivým žlutým kabátkem se sympatickými lego výlisky tepe srdce mikropočítače Hitachi. Přibližme si tedy některé části této ovládací krabičky podrobněji. Obsah je následující. 8 bitový procesor Renesas H8/300 microcontroller Paměť o velikosti 32 kb SRAM. JACK pro napájení ze sítě. Infračervený port při 76 khz. Vstupní a výstupní porty. Display. Ovládací tlačítka. Bateriové napájení. 2.2 PAMĚŤ K uchování programů slouží paměť o velikosti 32 kb. Programů se naráz do paměti vejde až 5. Číslo pro někoho poměrně malé v dnešní době terra-bitových pevných disků, ale pro naše potřeby myslím dostačující. Krom toho obsahuje paměť ještě část nazvanou Datalog, do které ukládá údaje ze senzorů. 2.3 JACK Jack je velmi praktickou částí zařízení. Pokud je to možné, připojíme krabičku přes Jack a adaptér do sítě a můžeme fungovat i bez nutnosti zapojených baterií. 2.4 INFRAČERVENÝ PORT Je umístěn za tmavým plexisklem v přední části přístroje. Díky němu komunikuje RCX s Infravěží, díky které se do přístroje nahrávají data z PC. Díky odlišnému kódování nehrozí stínění jinými spotřebiči, které též používají ke svému ovládání infračervený přenos informací. 4
2 RCX 1.0 V KOSTCE 2.5 VSTUPNÍ A VÝSTUPNÍ PORTY RCX obsahuje jak vstupní, tak výstupní porty. Vstupní porty jsou označeny čísly 1 až 3. Díky nim získává RCX informace ze senzorů. Výstupní porty jsou označeny písmeny A, B a C. Díky nim RCX ovládá připojené součásti. 2.6 DISPLAY Display zobrazuje právě probíhající úkony, je možné říci, že nám říká, jaké tlačítko jsme právě použili. Není tajemstvím, že jeho konstrukce je poměrně zastaralá. Tento typ používá tekuté krystaly, stejně jako např. konzole Game Boy, která vznikla již v roce 1989, v tomto ohledu neshledávám u display žádný vývoj. 2.7 OVLÁDACÍ TLAČÍTKA Ovládacích tlačítek je několik, konkrétně 4. a slouží pro zadávání povelů RCX, kterými řídíme jednotlivé úkony. On Off Run Prgm View Zapnutí či vypnutí RCX. Spuštění aktuálního programu. Výběr jednoho z pěti programů. Zobrazení informací. Tlačítka jsou i pěkně barevně odlišena. Není tedy problém, pokud není člověk zrakově postižen, odlišit ovládací prvky. 2.8 BATERIOVÉ NAPÁJENÍ Kromě JACKu a 9V adaptéru je možná RCX napájet i šesticí tužkových baterií AA. Tato možnost je výhodou i nevýhodou, záleží na úhlu pohlesu a zaujatostí k ochraně životního prostředí. Komu tedy nevadí spotřebovávat baterie, může vesele fungovat i mimo dosah elektrické sítě. 2.9 INFRAČERVENÁ VĚŽ Ač není součástí RCX, díky ní se do něj dostává programový kód, díky kterému je možno, aby RCX řídila k ní připojené součásti. 5
3 STRAŠIDELNÝ HRAD 3 STRAŠIDELNÝ HRAD 3.1 VÝBĚR TÉMATU Téma strašidelného hradu jsme si vybrali pro jeho blízkost našemu dětství. Kdo by nostalgicky nezavzpomínal na doby strávené na pouti, kdy jsme malými krůčky vstupovali do připraveného vagónku a jeli vstříc strašidelným nástrahám, které čekali za tou velkou branou s vyceněnými zuby. Proto bylo pro nás téma strašidelný hrad tím pravým. 3.2 CÍL Cílem semestrální práce byly body, které naleznete pod tímto odstavcem. Jejich společným jmenovatelem bylo použití stavebnice LEGO Mindstorm. Zvolit téma projektu. Sestavit zvolený model dle přiloženého návodu. Naprogramovat model. Vytvořit dokumentaci k modelu. 3.3 POUŽITÉ ČÁSTI Postupovali jsme dle přiloženého návodu, který je k dispozici v učebně VC120. Základem bylo vybrat desku, na které by celý strašidelný hrad stál. Obecně lze říci, že se hrad skládá z několika částí. Základová deska s kolejnicemi. Světelný senzor s duchem. Dotykový senzor s kostlivcem. Pojízdné soupravy s návštěvníky. Programovatelné RCX. 3.4 POSTUP PŘI SESTAVENÍ MODELU Po vybrání základové desky jsme složili pohybové kolejnice, na kterých se pohybuje pojízdná souprava s návštěvníky. Ta projíždí kolem ducha, který se při projetí 6
3 STRAŠIDELNÝ HRAD rozsvítí. Na konci kolejnic je dotykový senzor, který reaguje na dotyk pojízdné soupravy a při jeho sepnutí se naproti návštěvníkům postaví kostlivec. Jednotlivé části jsou zdokumentovány a popsány v části obrázky. 3.5 PROGRAMOVÁNÍ POMOCÍ VĚŽE Programování probíhá pomocí již jednou zmíněné infravěže, dále jen IV. IV se připojí k počítači pomocí USB kabelu. PC by ji měla samo najít a nainstalovat ovladač. Bohužel se mi z vlastní zkušenosti přihodilo, že ovladače nefungují pod vyšším operačním systémem než je Windows Vista. 3.6 PROGRAM Jako program pro komunikaci s RCX 1.0 jsme zvolili ROBOLAB. Upřímně musím na adresu tvůrců říci, že jsem čekal více. Po krátkém seznámení se stává práce s ním jednoduchá a uživatelsky vstřícná, bohužel grafické rozhraní má svá nejlepší léta již za sebou. Je to rozhodně škoda, protože na vzhledu také záleží. Podrobněji si program rozebereme v kapitole programování. 7
4 PROGRAMOVÁNÍ 4 PROGRAMOVÁNÍ Jak již bylo několikrát zmíněno, programování probíhá pomocí Infračervené věže, která do RCX přenáší programový kód, který následně spouštíme a řídíme tak činnost námi navržených součástí. Pro naprogramování jsme použili program ROBOLAB. Jednoduché ovládání, do jisté míry intuitivní, ale ten vzhled, ten vzhled je žalostný. Inu přistupme k samotnému programu. 4.1 REŽIMY V ROBOLABU můžeme pracovat ve třech základních režimech. Tyto režimy mají své funkce a některé i podrežimy. Jsou to. Administrator Nastavení portu Infračervené věže. Programmer Režim pilot, 3 úrovně a Inventor. Investigator Investigator. Pro naše programování nejprve synchronizujeme pomocí Administrator věž a poté můžeme přistoupit k programování pomocí režimu Programmer. 4.2 DRAG AND DROP ROBOLAB je založen na principu drag and drop. Tedy postupu, kdy si s palety nástrojů, pod anglickým názvem tools palette, vyberete programovací blok, functions palette, a při držení myši tento blok přetáhnete na plochu. Na ploše jsou umístěny dva semafory, se zeleným světlem značí začátek programu, s červeným konec programu a mezi ně se program píše. 4.3 BLOKY Programovacích bloků existuje celá řada, kromě již zmíněných semaforů, kteří začínají a ukončují program, zmíním např. blok Motor Forward uvádějící motor do pohybu nebo Wait For, který čeká na splnění podmínky. Bloků existuje celá řada, proto bude lepší pro jejich pochopení použít nápovědu k programu či postupovat metodou pokus, omyl. 8
4 PROGRAMOVÁNÍ Osobně musím za pomoc poděkovat panu magistru Krotkému, bez jeho pomoci bych zadaný úkol jistě nezvládl. 4.4 PROGRAM Bylo nutné si uvědomit, jaká syntaxe je potřeba k propojení jednotlivých bloků a bloky poté správně propojit cestami. Základní bloky jsou dle ikonek. Zelený a červený semafor Motor Stop Hodiny Žárovka Senzor pohybu Výhybka Podmíněný cyklus Otáčky Vstupní a výstupní port Zvuk Začátek a konec programu. Spouští motor. Ukončuje cyklus. Nastavují délku cyklu. Zdroj světla. Detekuje pohyb. Rozděluje či spojuje větvení programu. Rozvětvuje program. Nastavují otáčky motoru. Značeny čísly a písmeny. Zahraje předdefinovaný zvuk. 4.5 POSTUP Díky panu magistrovi, který mi ukázal, jak se dá problém provozu strašidelného hradu řešit a velmi mi pomohl s naprogramováním, již vím, že nejprve je nutné stanovení sledu událostí a ty poté pomocí programu ROBOLAB realizovat. Náš program tedy funguje takto. Rozjetí pojízdné soupravy. Senzor pohybu detekuje soupravu, rozsvítí ducha a zahraje zvuk. Senzor dotyku vysune a zasune kostlivce, přehraje se zvuk. Souprava se vrátí zpět na začátek. 9
5 OBRÁZKY 5 OBRÁZKY Obrázek 1. Celkový pohled Obrázek 2. Detail duch a detail kostlivec 10
5 OBRÁZKY Obrázek 3. Detail soupravy Obrázek 4. Detail převodů 11
5 OBRÁZKY Obrázek 5. Popis RCX Obrázek 6. Schéma programu 12
6 CITACE 6 CITACE Lego Mindstorms. Wikipedie [online]. 29.9.2010, [cit. 2010-12-15]. Dostupný z WWW: <http://cs.wikipedia.org/wiki/lego_mindstorms>. http://cs.wikipedia.org/wiki/lego_mindstorms... 3 I
7 SEZNAM OBRÁZKŮ 7 SEZNAM OBRÁZKŮ Obrázek 1. Celkový pohled... 10 Obrázek 2. Detail duch a detail kostlivec... 10 Obrázek 3. Detail soupravy... 11 Obrázek 4. Detail převodů... 11 Obrázek 5. Popis RCX... 12 Obrázek 6. Schéma programu... 12 II