Robotický manuál

Robotický manuál je možné stáhnout ve formátu PDF (5.7M) zde

Pro seznámení a první kroky s robotickou stavebnicí Lego Mindstorms se základní kostkou EV3 a NXT. Teorie i jednoduché příklady.

Mgr. Pavel Petrovič, Ph.D.
Katedra aplikovanej informatiky, Fakulta matematiky, fyziky a informatiky
Univerzita Komenského v Bratislave

Úvodní slovo

Tato publikace má sloužit jako pomoc při vedení kroužků robotiky, které vznikly díky projektu, Jihomoravského centra pro mezinárodní mobilitu Brno, Od studenta k vědci (CZ.1.07/1.1.16/02.0111). Robotické kroužky vznikly v jihomoravských školách v rámci podpory technického vzdělávání. Smyslem kroužků je příprava na robotickou soutěž Robotiáda a hlavně podnítit zájem studentů ZŠ o technické obory. Pro studenty je robotické LEGO dobrým výukovým prostředkem ať už z pohledu jednotlivých předmětů (např. fyzika a informatika), tak i z pohledu osobnostního rozvoje – práce a komunikace ve skupině, práce na dlouhodobém projektu, překonávání nesnází a neúspěchů, ale také radost ze splněného úkolu a dosažených cílů. Žáci si díky práci se stavebnicí zlepší své programovací schopnosti v praxi a okamžitě vidí výsledky své práce, což je pro žáky 2. stupně ZŠ velmi podstatné.

Cílem manuálu není naučit základní znalosti práce v prostředí LEGO Mindstorms NXT nebo EV3, ty naleznete v metodice NXT/EV3 (ke stažení na stránkách distributora - www.eduxe.cz).  Manuál je koncipován jako pomoc učitelům k vedení kroužku a jejich tematické náplně. Publikaci jistě ocení každý učitel, neboť mu poskytuje možnost realizovat jednotlivé úlohy nejen v samotném kroužku, ale i v regulérních vyučovacích hodinách. Velkou výhodou jsou mezipředmětové vazby úkolů, které poskytují exkurz nejen do světa elektrotechniky a informatiky, ale i fyziky, matematiky, biologie, výtvarného umění, češtiny i prezentačních dovedností. V neposlední řadě pomáhá rozvíjet týmovou práci, tvůrčí přístupy k problému a hledání originálního řešení. Každá ze zde uvedených úloh sleduje různé pedagogické cíle, které lze za pomocí robota dosáhnout a se kterými si zkušený učitel hravě poradí. Manuál obsahuje zadání úloh a softwarové možnosti realizace. Tyto úlohy jsou pouhým nástřelem a ukázkou toho, co se s robotem dá dělat a jakým směrem se ubírat. Dobrý učitel jistě vymyslí vlastní úlohy na míru svým žákům – tyto je totiž baví nejvíce. Celý tento manuál a detailní nastavení všech parametrů pak naleznete ke stažení na stránkách www.robotiada.cz.

Rádi bychom na tomto místě také poděkovali všem lidem, kteří nám umožnili tento projekt realizovat, ukázali nám krásy a zákoutí robotického lega a především všem učitelům, kteří věnovali obrovské úsilí a moře času samotným žákům. Jmenovitě pak Jirkovi, Kubovi a Lukášovi z DDM Junior za metodické vedení, panu Omastovi z Eduxe za starost o stavebnice a cenné rady, panu Petrovičovi za tvorbu tohoto manuálu a celé řadě dalších lidí, bez kterých by Robotiáda vůbec nebyla… Díky!

Přejeme všem žákům řadu dobře postavených robotů a hlavně, ať je robotika baví. Jejich učitelům pak navíc úsměv, trpělivost a dobrý pocit z jejich náročné, ale krásné, každodenní práce.

Za kolektiv tvůrců Robotiády
Ivo Hopp

 

Obsah

Teoretická část

  •  

Úvodní slovo. 2

Mechanika robota. 6

Nový robot, čo s ním?. 6

Začíname... 8

Pythagoras sa hrá. 10

Dobromky. 15

Výkon alebo rýchlosť?. 30

Moment zotrvačnosti 35

Programování robota. 48

Jak naprogramovat robota?. 48

Příklady pro vyzkoušení 49

[1] Choď ku stene a vráť sa. 49

[2] Dopredu – tlesk – dozadu - tlesk. 49

[3] Toč sa tak rýchlo, ako rýchlo tlieskam.. 50

[4] Sleduj čiaru a obchádzaj prekážku. 50

[5] Turista ide na stanicu. 51

[6] Počítanie čiar 52

[7] Nasleduj človeka. 54

[8] Komunikácia cez BlueTooth: ako začať. 54

[9] Vyhýbanie dvoch robotov. 55

[10] Mechanická kalkulačka. 57

Řešení jednotlivých úloh. 58

 

 

Mechanika robota

Tato kapitola je věnovaná mechanice robota a některým základním principům jeho konstrukce. Je zde i pár učebních příkladů, co si vyzkoušet postavit a jak si ověřit fyzikální zákonitosti, se kterými se budeme, nejen při práci se stavebnicí Lego Mindstorms, určitě setkávat.

Nový robot, čo s ním?

Ak čítate túto publikáciu, pravdepodobne vlastníte, uvažujete nad zadovážením si, alebo máte prístup k tretej generácii autonómnych robotických stavebníc LEGO MINDSTORMS Education EV3. Stavebnice, ako názov naznačuje, sú určené na vzdelávanie. Ich hlavný cieľ však nie je bežné školské vzdelávanie, ktoré poznáme z každodennej výuky - učebnice, cvičebnice, domáce úlohy, výklad, počítanie príkladov, diskusia, písomné a ústne skúšky. Ide o netradičný a v základoch odlišný spôsob vzdelávania. Je zameraný predovšetkým na rozvoj tvorivosti, priestorovej predstavivosti, štruktúrovaného myslenia, manuálnej zručnosti a vynaliezavosti. Pri práci so stavebnicami dieťa premieňa svoje myšlienky na skutočnosť.

Stavebnice LEGO majú nadprirodzenú schopnosť zaujať aj najapatickejšieho žiaka, vystaviť dieťa sústavnému toku podnetov, výziev, neobjavených kombinácií a súvislostí, prekvapujúcich impulzov, zaujať ho a podnecovať jeho zvedavosť nekonečným radom možností. Ideálny spôsob využitia stavebníc je hra. Hra s otvoreným koncom. Stavebnice sú nástroj pre modelovanie reálneho sveta, testovanie bláznivých i celkom reálnych nápadov, priamy kontakt medzi dvoma vesmírmi: svetom ideí a realitou. Ak sa do hry zapoja i dospelí, stavebnice sa stávajú prostriedkom prenosu poznatkov, výukovým médiom. V kníhkupectvách i na Internete nájdeme množstvo materiálov, projektov a námetov na stavbu takých, či onakých modelov. Vďaka nim môžeme so stavebnicami účelne stráviť dlhé hodiny, dni i týždne a zdokonaľovať naše zručnosti i znalosti, pochopiť princípy riadenia robotických modelov, programovania, princípy jednoduchších i zložitejších algoritmov.

Na týchto stránkach sa usilujeme dosiahnuť mierne odlišné ciele. Chceme ukázať, že robotické stavebnice sa v škole dajú využiť aj priamo v bežnej výuke. Slúžia ako učebné pomôcky na doplnenie výkladu učiteľa, alebo žiacke laboratórne cvičenie. Naším zámerom bolo pripraviť sadu experimentov, ktoré sú priamo previazané na učivo matematiky, fyziky, prípadne iných predmetov. Nadväzujúc na zopár záverečných prác našich študentov ide len o prvú verziu tohto pokusu. Experimenty je možné buď predviesť počas výkladu s priamou interakciou s triedou, alebo využiť v menších skupinách so žiakmi. Forma ich využitia ostáva na tvorivosti čitateľa, ak sa nám podarí zapáliť aspoň jednu iskru záujmu a motivovať k tvorbe vlastných experimentov, náš cieľ bude splnený. 


 

Začíname...

Pred tým, ako sa pustíme do objavovania s robotickými stavebnicami, by sme sa mali stať používateľom so základnými zručnosťami. K tomu nám poslúži profesionálne spracovaná brožúrka pribalená ku stavebnici i nápoveda priamo v softvéri EV3. Ak tak čitateľ doposiaľ neurobil, odporúčame preštudovať si ich. V každom prípade je potrebné poskladať si aspoň základný model Robot Educator a podľa možnosti aj ostatné základné modely, ku ktorým sú v programe podrobné návody. Investovanie niekoľkých hodín času do preštudovania tutoriálov sa čitateľovi vráti v podobe ušetreného času neskôr. Pomocou klávesu F1 v programe sa dostaneme do nápovedy s podrobným popisom všetkých funkcií programu. Každá minúta investovaná do štúdia doposiaľ jej nepoznaných častí nám rozširuje prehľad a vedie k vyššiemu používateľskému komfortu pri práci so stavebnicou a softvérom.

Stavebnice EV3 nadväzujú postupnou evolúciou na predchádzajúcu generáciu stavebníc NXT, ku ktorým sme vytvorili sadu cvičení (robotika.sk/nxt). Odporúčame čitateľovi cvičenia vyriešiť samostatne pomocou systému EV3, aby si dôkladnejšie osvojil programové i plastové konštrukty a mohol začať vytvárať vlastné projekty a experimenty. Na rozličných školeniach zvykneme používať nasledujúcu postupnosť úloh:

·         Pohyb do štvorca

·         Pohyb do osmičky

·         Prieskum s vyhýbaním sa prekážkam

·         Sledovanie čiary pomocou 1 senzora

·         Sledovanie čiary pomocou 2 senzorov

·         Sledovanie čiary s obchádzaním prekážok

·         Pohyb ku stene a návrat na pôvodné miesto

·         Počítanie čiar

·         Mechanická kalkulačka

·         Hľadanie svetla a tmy

·         Meranie času fotobunkou

·         Systém na štartovanie pretekov - záznam časov do súboru

·         Bludisko

·         Pre náročných: Klasifikácia profilov

 

Čitateľ nájde sadu úloh vrátane viacerých detských veselých riešení, ktoré sú vhodné na jedno alebo dve krúžkové popoludnia v archívoch letnej ligy FLL (www.fll.sk) a v jednotlivých ročníkoch kategórie Konštrukcia súťaže RoboCup Junior (robotika.sk/rcj).


 

Pythagoras sa hrá

Nová stavebnica EV3 obsahuje iba jeden typ súčiastok - hladké diely s dierami bez výčnelkov:

           Studless LEGO beam

Spoje sú pevnejšie ako pri predchádzajúcom type dielov s výčnelkami. Vzdialenosť stredov dier je presne 1cm. V stavebnici nájdeme len diely s nepárnym počtom dier. Najskôr si uvedomme aká je súvislosť medzi vzdialenosťou a počtom dier.

počet zakrytých dier a zodpovedajúca vzdialenosť

Vidíme, že ak je zakrytých K dier, vzdialenosť je K-1. Inými slovami vzdialenosť, ktorú tvorí K dier je rovná K-1 cm. 

Vezmime jeden diel, uchopme ho vodorovne (v prípade potreby skontrolujme vodováhou) a do jednej dierky zavesme niť so závažím (napr. senzorom, alebo inou súčiastkou LEGO). Nitka bude smerovať priamo k zemi, bude tvoriť zvislicu. Uhol medzi vodorovnou priamkou a zvislicou bude kolmý.

 

vodorovná priamka a zvislica zvierajú kolmý uhol

 

 

 

 

Úloha: z nasledujúcich súčiastok poskladajte taký trojuholník, ktorého vnútorný uhol bude kolmý. Obmedzenie: diely môžete spájať iba v ich poslednej diere.

Použite tieto diely zo stavebnice EV3

Koľko trojuholníkov sa vám podarilo zostrojiť?

Kolmý uhol, trojuholník so stranami 6, 8, 10

 
  Pravoúhly trojuholník so stranami 5, 12, 13


Dajú sa zostrojiť nejaké ďalšie, ak uvedené obmedzenie nebudeme uvažovať? Ktoré všetky sú to?

  Úloha na hlbšie zamyslenie: vedeli by ste nájsť dĺžky strán trojuholníka, ktorý bude tiež obsahovať kolmý uhol a bude mať celočíselné dĺžky strán, ale zo súčiastok EV3 sa jeho strany nedajú zostrojiť použitím jedinej súčiastky?

Ak je uhol pri vrchole menší ako kolmý uhol, tak ho nazývame ostrý. Ak je väčší, je to uhol tupý.

tupý a ostrý uhol

Vedeli by ste zdôvodniť prečo platia vety uvedené na obrázku? Prečo môžu byť všetky tri uhly ostré, ale nemôžu byť všetky tri uhly tupé? 

Pravoúhly trojuholník so stranami 3, 4, 5Všimnime si nasledujúce trojuholníky. Aké sú navzájom ich jednotlivé strany? Ako je to s uhlami?

podobné trojuholníky

Na záver našej hry s trojuholníkmi si všimnime nasledujúci obrázok. Všimnime si vzťah medzi počtami krúžkov nad jednotlivými stranami. Vedeli by ste vlastnými slovami sformulovať túto závislosť? Overte, či platí aj v ostatných trojuholníkoch s kolmým uhlom!

súčet štvorcov


 

Dobromky

V stavebnici EV3 nájdeme dve skupiny ozubených kolies. V každej skupine sú kolesá s rôznym počtom zubov:

1. skupina s "klasickými" ozubenými kolesami obsahuje kolesá s 8, 16, 24 a 40 zubmi:

štandardné ozubené kolesá  

2. alternatívna a novšia sadá obsahuje o niečo hrubšie kolieska, na ktorých je 12, 20 a 36 zubov:

new gear wheels

Kolieska z druhej skupiny sa dajú vedľa seba spájať iba jedným spôsobom ako ukazuje obrázok:

connecting new gears

hoci tvar zubov umožňuje aj kolmé spoje. Ich použitie nám ale vôbec nepripadá jednoduché a samé o sebe tvorí zaujímavé cvičenie! Môžeme sa dopracovať napríklad k nasledujúcim konštrukciám:


 

A. kolmé prepojenie 12-zubového a 36-zubového ozubeného kolesa:

12x36

B. kolmé prepojenie 12-zubového a 20-zubového ozubeného kolesa:

12x20


 

C. kolmé prepojenie 20-zubového a 36-zubového ozubeného kolesa:

20x36

Použili sme na to takéto súčiastky:

parts for new gears setup

Ozubené kolesá v prvej skupine sa spájajú jednoduchšie a vo viacerých kombináciách, preto sa na ne ďalej zameriame. 8, 24 a 40-zubové kolesá sa dajú zapájať priamo vedľa seba takto:

24x8x40x24

stredy sú vo vzdialenostiach 2, 3, 4:

24x8x40x24

O niečo viac sa zabavíme pri zapojení 16-zubového kolesa, ktoré potrebuje vzdialenosť 1.5, 2.5, alebo 3.5 dier, ale sú spôsoby ako skonštruovať aj takéto netypické konštrukcie. Polovičnú vzdialenosť dier vieme vytvoriť napríklad nasledujúcimi dvoma konštrukciami: (šikovný čitateľ sa túto úlohu podujme vyriešiť sám bez toho, aby sa najskôr díval na nasledujúce obrázky. Čiže úloha: ako vytvoriť prevod 16-zubového a iného ozubeného kolesa vedľa seba?)

8x16

 

combining 16-gear wheel

Spájaním ozubených kolies do prevodov meníme uhlovú rýchlosť otáčavého pohybu:

ak spojíme koleso so Z1 zubmi a koleso so Z2 zubmi, tak na jedno otočenie prvého kolesa sa prvé koleso otočí o Z1 zubov. Zuby sú však na oboch kolesách rovnaké, takže aj druhé koleso sa za tú istú dobu otočí o Z1 zubov, čo ale netvorí presne jednu jeho otáčku, ale...

...skúste na to prísť sami!

Z2 zubov ... jedna celá otáčka druhého kolesa

Z1 zubov ... x otáčok druhého kolesa

Z2 : 1  je v rovnakom pomere ako Z1 : x, čiže 

Z2 / 1 = Z1 / x

x = Z1 / Z2

napríklad, ak prvé koleso má 8 zubov a druhé koleso má 40 zubov, pri otočení prvého kolesa o 1 celú otáčku sa druhé otočí o 8 / 40  = 1 / 5 otáčky. Čiže prvé koleso sa musí otočiť 5-krát, aby sa druhé koleso otočilo raz.

8x40

To isté ešte raz, trochu inak:

Ak otočíme prvé koleso o 1 zub, otočí sa o jednu Z1-tinu (1/Z1) otáčky (v príklade na obrázku je to o 1/8-inu)

Ak otočíme druhé koleso o 1 zub, otočí sa o jednu Z2-tinu (1/Z2) otáčky (v príklade na obrázku je to o 1/40-tinu)

Ak otočíme prvé koleso o celú otáčku, dôsledkom je, že druhé koleso otočíme Z1-krát o 1 zub, čiže otočí sa o Z1 * (1 / Z2) = Z1 / Z2 -tinu otáčky (v príklade na obrázku: 8 * 1/40 = 1 / 5 otáčky).

Vidíme, že za rovnaký čas sa prvé a druhé koleso otočia rôzny počet krát. To znamená, že ozubený prevod mení uhlovú rýchlosť otáčavého pohybu, vyjadrujeme ju napríklad pomocou jednotky počet otáčok za minútu (ot/min). Napríklad, ak pri ozubenom prevode 8:40 (čo je to isté ako 1:5) má prvé koleso uhlovú rýchlosť 20 ot/min, tak druhé koleso (a oska, na ktorej je pripevnené), bude mať uhlovú rýchlosť 20 * 8 / 40 = 4 ot/min. 

Ak na prvé ozubené koleso pripojíme motor, môžeme v programe robota presne regulovať jeho rýchlosť (pozri nižšie), čiže uhlovú rýchlosť na vstupe do ozubeného prevodu. Nám však teraz postačí, že ju zmerať vieme pomocou zabudovaného otáčkového senzora. Na zmeranie výstupnej uhlovej rýchlosti z ozubeného prevodu môžeme použiť farebný/svetelný senzor a papierovú ružicu, ktorú na koliesko nalepíme. 

Aký je presne význam slova regulovať? Čo znamená regulovať? Regulovať nejakú merateľnú veličinu na stroji alebo prístroji znamená plynule a cielene meniť parametre prístroja tak, aby meraná veličina mala požadovanú hodnotu. Typickým príkladom je elektrická pec, ktorá reguluje teplotu vzduchu v chatke, ktorú vykuruje, na stanovenú hodnotu 21 stupňov C. Ak teplota klesne dostatočne hlboko pod 21 stupňov, termostat zopne elektrický obvod a pec sa zohrieva. Ak teplota vzduchu vystúpi o niečo vyššie ako je 21 stupňov, termostat elektrický obvod pece vypne. V procese regulácie teda nemôžeme ovplyvňovať meranú veličinu priamo (napríklad rozkázať vzduchu, aby mal požadovanú teplotu), ale iba nepriamo (môžeme rozkázať peci, aby kúrila, keď je zima a nekúrila, keď je teplo). V prípade robotov zo stavebnice EV3 je najčastejším príkladom regulácia rýchlosti motorčeka: zabudovaný program v kocke EV3 sníma uhlovú rýchlosť otáčania motora - ak je nižšia ako požadovaná, zvýši energiu, ktorú do motora dodáva, ak je uhlová rýchlosť vysoká, dodávanú energiu zníži.

fast vs. slowNa tomto mieste si uvedomme, že okrem uhlovej rýchlosti otáčavého pohybu (ot/min) sa mení aj jeho smer (z pravotočivého na ľavotočivý alebo naopak) ale najmä sila, ktorou je krútiaca sa oska schopná pôsobiť na roztočenie (alebo aj zabrzdenie) kolies - alebo čohokoľvek, čo je na nej primontované. Platí tu nepriama úmernosť: koľkokrát sa uhlová rýchlosť zväčší, toľkokrát sa pôsobiaca sila zmenší. Okrem toho na každom ozubenom prevode sa časť sily stratí.

Na obrázku vľavo - spomaľovací prevod - traktor, na obrázku vpravo - zrýchľovací prevod - formula.

Kde bolo tam bolo, za siedmymi horami a siedmymi dolami, bola raz jedna republika ktorá sa volala Prevodovo. V Prevodové neexistovalo zlo. A keď sa v Prevodové dozvedeli, že pomer počtu zubov dvoch ozubených kolies Z1 / Z2 niekde nazývajú zlomok, parlament v Prevodové sa uzniesol, že sa tento pomer bude nazývať dobromok a vzápätí zriadili komisiu, ktorá mala dobromky v prevodoch podrobne preskúmať. A zistili toto:

Keď na jednu osku namontujeme dve ozubené kolesá s rôznym počtom zubov, tak môžeme vytvoriť zložený dvojitý prevod pozostávajúci z dvoch na seba nadväzujúcich prevodov:

dvojitý prevod

V príklade na obrázku motor roztáča ozubené koliesko s 8 zubmi, ktoré je sprevodované so 40-zubovým kolesom. Na rovnakej oske ako 40-zubové koleso sa nachádza 24-zubové koleso, ktoré je ďalej sprevodované s druhým 40-zubovým kolesom, ktoré je na rovnakej oske ako čierne poháňané koleso vpravo dolu. Prvý prevod 8:40 (čiže 1:5) spôsobí 5-násobné spomalenie uhlovej rýchlosti. Druhý prevod 24:40 (čiže 3:5) spôsobí ďalšie spomalenie uhlovej rýchlosti. Aký bude pomer medzi počtom otáčok motora a čierneho kolesa?

Počítajme spolu:

Pri jednej otáčke motora sa prvé (8 zubové) i druhé (40-zubové) koleso otočia každé o 8 zubov. Pre druhé koleso to znamená 8/40 = 1/5 otáčky. Tretie (24-zubové) koleso sa pri 1/5 otáčky otočí o 1/5 * 24 zubov a o rovnaký počet zubov sa otočí aj štvrté (40-zubové) ozubené koleso prevodu, takže to vykoná (1/5 * 24) / 40 = (1 / 5) * (24 / 40) = (1 / 5) * (3 / 5) = 3 / 25 otáčok. Na jedno otočenie motora sa čierne koleso otočí o tri dvadsať pätiny (3/25) otáčok.

A teraz všeobecne:

ak štyri ozubené kolesá prevodu majú postupne Z1, Z2, Z3 a Z4 zubov, prvé a druhé i tretie a štvrté sú spriahnuté prevodom a druhé a tretie sú na rovnakej oske, tak takýto ozubený prevod nám prevádza jednu otáčku na 1. kolese na dobromok Z1 / Z2 otáčok na druhom a treťom kolese a na Z1 / Z2 * Z3 / Z4 otáčok na 4. ozubenom kolese a tiež na všetkom, čo je s ním primontované na rovnakej oske.

Úloha:

Zistite o koľko otáčok sa otočí čierne koleso na obrázku pri jednom otočení motora? V zloženom trojitom prevode je na motore koliesko s 8 zubami, prevodom je spojené s 24 zubovým kolesom. To má na rovnakej oske pripojené 40-zubové koleso prevodom spojené s 24 zubovým. A to má zasa na rovnakej oske 8-zubové, ktoré je prevodom spojené s 24-zubovým, pričom na jeho oske je aj čierne koleso.

trojitý prevod

Úloha: Ak pripustíme použitie všetkých ozubených kolies vrátane 16-zubového, čiže k dispozícii máme 8, 16, 24, a 40 zubové kolesá, aké všetky celkové pomery prevodov (vyjadrené dobromkom) môžeme dosiahnuť pomocou jednoduchého, dvojitého a trojitého prevodu?

Jednoduchý prevod: 1/5, 1/3, 2/5, 1/2, 3/5, 2/3, 3/2, 5/3, 2/1, 5/2, 3/1, 5/1.

Dvojitý prevod bez 16-zubového kolesa: 1/25, 1/15, 1/9, 3/25, 1/5, 1/3, 9/25, 5/9, 3/5, 5/3, 9/5, 25/9, 3/1, 5/1, 25/3, 9/1, 15/1, 25/1 

ak pridáme aj 16-zubové koleso, dostaneme okrem nich ešte rad ďalších kombinácií dvojitých prevodov: 2/25, 1/10, 2/15, 4/25, 1/6, 2/9, 6/25, 1/4, 4/15, 3/10, 2/5, 4/9, 1/2, 2/3, 3/4, 4/5, 5/6, 9/10, 10/9, 6/5, 5/4, 4/3, 3/2, 2/1, 9/4, 5/2, 4/3, 15/4, 4/1, 25/6, 9/2, 6/1, 25/4, 15/2, 10/1, 25/2.

Trojité prevody bez 16-zubového kolesa: 1/125, 1/75, 1/45, 3/125, 1/27, 1/25, 1/15, 9/125, 1/9, 3/25, 5/27, 1/5, 27/125, 1/3, 9/25, 5/9, 3/5, 25/27, 27/25, 5/3, 9/5, 25/9, 3/1, 125/27, 5/1, 27/5, 25/3, 9/1, 125/9, 15/1, 25/1, 27/1, 125/3, 45/1, 75/1, 125/1.

Trojité prevody so 16-zubovým kolesom: 2/125, 1/50, 2/75, 4/125, 1/30, 2/45, 6/125, 1/20, 4/75, 1/18, 3/50, 8/125, 2/27, 2/25, 1/12, 4/45, 12/125, 1/10, 8/75, 1/8, 2/15, 18/125, 4/27, 3/20, 4/25, 1/6, 8/45, 9/50, 2/9, 6/25, 1/4, 4/15, 5/18, 8/27, 3/10, 8/25, 10/27, 3/8, 2/5, 5/12, 4/9, 9/20, 12/25, 1/2, 8/15, 27/50, 5/8, 2/3, 18/25, 20/27, 3/4, 4/5, 5/6, 8/9, 9/10, 10/9, 9/8, 6/5, 5/4, 4/3, 27/20, 25/18, 3/2, 5/2, 8/5, 50/27, 15/8, 2/1, 25/12, 20/9, 9/4, 12/5, 5/2, 8/3, 27/10, 25/8, 10/3, 27/8, 18/5, 15/4, 4/1, 25/6, 9/2, 125/27, 50/9, 45/8, 6/1, 25/4, 20/3, 27/4, 125/18, 15/2, 8/1, 75/8, 10/1, 125/12, 45/4, 12/1, 25/2, 27/2, 125/8, 50/3, 18/1, 75/4, 75/4, 20/1, 125/6, 45/2, 30/1, 125/4, 75/2, 50/1, 125/2.

Zahrajte si hru:
A) jeden vyberie dobromok zo zoznamu a druhý ho skonštruuje ako prevod.
B) jeden skonštruuje prevod a druhý vypočíta zodpovedajúci dobromok.

Úloha: Nájdite aspoň dva štvorité prevody s takým pomerom, aký sa nedá zostrojiť pomocou jednoduchého, dvojitého, ani trojitého prevodu.

Napokon ako sme sľúbili vyššie zostrojme robota, ktorý zmeria pomer medzi počtami otáčok vstupnej a výstupnej osky ozubeného prevodu. Na vstupnú osku bude priamo pripojený motor. Na výstupnej oske upevníme koliesko, na ktoré napichneme alebo prilepíme ružicu. Podľa potreby presnosti merania zafarbíme na čierno jeden, dva, štyri, či viacero kruhových výsekov. Na ružicu sa díva svetelný senzor, ktorý zareaguje na každý prechod medzi svetlým a tmavým výsekom kruhu.


 

meranie prevoduProgram na začiatku vynuluje počítadlo - premennú POCET a otáčkový senzor. Potom roztočí motor nejakou menšou rýchlosťou a pomocou svetelného senzora sleduje počet otáčok na výstupnej oske ozubeného prevodu. Po stanovenom počte otáčok na vstupnej oske (napríklad 20 - čím vyšší počet otáčok zvolíme, tým bude meranie presnejšie) program motor zastaví. Nakoniec vypočíta a na displeji zobrazí pomer ozubeného prevodu: nameraný počet vydelí počtom čiernych kruhových výsekov a počtom otáčok vstupnej osky prevodu. V našom prípade je to približne 2.78 (pretože 1/3 * 5/3 * 5 / 1 = 25/9 = 2.78).

detail ružicedetail ružice:

 

Program MeraniePomeru v projekte Dobromky, ktorý meria a počíta prevodový pomer ozubeného prevodu:

 

Použité súčiastky:

progrmam MeraniePomeruhttp://virtuallab.kar.elf.stuba.sk/%7Eev3/images/dobromky/meranie_suciastky.jpg

 

Výkon alebo rýchlosť?

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/pohybove.pngNa každý pohyb robota používame v softvéri EV3 jeden z nasledujúcich pohybových blokov:

Prvý pohybuje malým motorom, druhý jedným samostatným veľkým motorom, ale tretí a štvrtý riadia naraz dva motory - typicky v konfigurácii "differential drive robot", t.j. robot s dvomi kolieskami, každé poháňané samostatným motorom. Takáto architektúra umožňuje robotovi robiť otočky na mieste, pohybovať sa vpred alebo vzad, alebo po kruhovom oblúku. Rozdiel medzi tretím a štvrtým blokom je v jemnosti nastavenia respektíve pohodlnosti otáčania. Tretí blok dovoľuje pohodlné nastavenie smeru pohybu a rýchlosti, avšak štvrtý blok umožňuje určenie rýchlosti pre každý motor zvlášť, čím môžeme dosiahnuť 100^2 = 10000 rôznych druhov pohybov - a teda nastaviť pohyb presne tak, ako potrebujeme. Riadiaca jednotka EV3 využíva otáčkové senzory na to, aby nastavené hodnoty dodržala - aby pomer medzi rýchlosťami motorov bol taký ako je požadovaný a celková rýchlosť pohybu bola priamo závislá od nastavenej hodnoty. Nastavená hodnota je však označená ako "power", čiže výkon. Preto je pred tým, ako začneme využívať rýchlosť pohybu v jednotlivých experimentoch, vhodné, aby sme si túto závislosť overili. Posledný (modrý) blok nevyužíva otáčkové senzory nijakým spôsobom a je vhodný predovšetkým na riadenie starých motorov zo stavebnice Robotics Invention System (s riadiacimi jednotkami RCX), kde motory neboli vybavené zabudovanými otáčkovými senzormi. 

Stavba

V tejto úlohe využijeme ľubovoľný model, ktorý chceme otestovať, napríklad základný model podľa návodu, alebo jeho zjednodušenie. Zostrojíme si testovaciu dráhu svetlého povrchu, na ktorej budú v známej vzdialenosti - napríklad 1m - dve priečne čierne čiary. 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/rychlost/draha.jpg

 

 

Program

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/rychlost/meranie_rychlosti.png

 

 

Download: meranie_rychlosti.ev3

Meranie

Meranie zopakujeme niekoľkokrát, aby sme čo najlepšie vykompenzovali nepresnosť pri meraní (hlavne nepresnosti v štartovnom smere a nerovnosti na dráhe). Výsledky zapíšeme do tabuľky a zostrojíme graf. Jedno meranie prebehne automaticky:

  1. robota umiestnime pred v dostatočnej vzdialenosti pred štartovnú čiaru, aby sa stihol rozbehnúť na konštantnú rýchlosť
  2. pre každú  rýchlosť od 100 po 10 robota tlačidlom odštartujeme
  3. z displeja odčítame nameraný čas
  4. výsledné časy sú nakoniec uložené v textovom súbore na jednotke EV3

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/rychlost/tabulka.png

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/rychlost/graf.png

Video ukážka:

  draha.mp4

Záver

Z grafu vidíme, že jednotka EV3 považuje vstup "power" v skutočnosti za vstup "rýchlosť" a zabudované otáčkové senzory využíva na reguláciu rýchlosti aj reguláciu smeru priamo úmerne k stanovenej hodnote. Závislosť končí pri rýchlosti 80, pretože pri vyšších rýchlostiach nie je možné rýchlosť zachovávať pri súčasnej regulácii smeru, resp. maximálnu rýchlosť dosahuje iba motor, ktorý nie je pod záťažou - musí konať prácu - presúvať robota po dráhe s trením a valivým odporom.

Doplňujúca úloha

Upravte program tak, aby sa počas štartu rozbiehal postupne, aby pri vysokých rýchlostiach nedochádzalo k šokom a šmykom, ktoré vychyľujú robota do nesprávneho smeru.


 

Moment zotrvačnosti

Jeden zo základných princípov fyziky je princíp zotrvačnosti. Prvý Newtonov pohybový zákon určuje, že teleso zostáva v pokoji alebo v priamočiarom rovnomernom pohybe, ak na neho nepôsobí vonkajšia sila. Ako je to však s otáčavým pohybom? V prípade rotačného pohybu na pohybujúce sa teleso pôsobí dostredivá sila smerujúca do stredu otáčania a spôsobujúca jeho otáčavý pohyb. Aby dve telesá s rozlične rozloženou hmotnosťou a rozličným polomerom otáčania dosiahli rovnakú rýchlosť otáčania za rovnaký čas, musíme ich roztočiť pôsobením rôzne veľkej sily. Telesá tým získajú rotačnú kinetickú energiu. Rovnakú energiu musia nejakým spôsobom odovzdať, aby došlo k ich zastaveniu. Hovoríme, že teleso má rotačný moment zotrvačnosti, ktorý vyjadruje jeho rozloženie hmotnosti vzhľadom na stred otáčania a spolu s uhlovou rýchlosťou určuje celkovú rotačnú kinetickú energiu. 

V tomto cvičení zostrojíme rotujúci systém, ktorý roztočíme na stanovenú rýchlosť pôsobením motora. Budeme meniť rozloženie hmotnosti systému a na základe merania času potrebného na zastavenie otáčania bežnou trecou silou usúdime, kedy má systém väčší moment zotrvačnosti. 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_01.jpgStavba

Model zostavte podľa nasledujúcej postupnosti krokov:

 

Krok 1.

 

 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_02.jpg
Krok 2.

Krok 3.

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_03.jpg
 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_05.jpghttp://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_04.jpgKrok 4.                                                                      Krok 5.

 

 

 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_07.jpghttp://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_06.jpgKrok 6.                                                                                  Krok 7.

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_09.jpgKrok 8.

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_08.jpgKrok 9.

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_10.jpg

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_11.jpgKrok 10.

 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_12.jpg

Krok 11.

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_13.jpg

 

 

 

 

 

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_14.jpg

Krok 12.
http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/stavba_15.jpghttp://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/detail_01.jpgVšimnite si detaily:

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/detail_03.jpghttp://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/detail_02.jpg

 

                                                                              

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/zotrvacnost.pngProgram

 

Na meranie času zastavenia program využíva dva časovače, ktoré nepretržite zvyšujú svoje počítadlo. Prvý časovač je vynulovaný na začiatku rotačného pohybu. Druhý časovač je nulovaný pri každom spozorovaní ramena svetelným senzorom. Ak od posledného spozorovania ramena uplynú aspoň 3 sekundy, program sa končí a rozdiel medzi hodnotami časovačov udáva dobu, počas ktorej sa systém otáčal až do okamihu, keď rameno ponad senzor prebehlo posledný raz. Vzhľadom na rozličné štartovné/cieľové polohy je meranie potrebné opakovať niekoľkokrát a vziať do úvahy aritmetický priemer meraní.

Download: zotrvacnost.ev3

Meranie

Meranie prebieha automaticky:

  1. po odštartovaní programu robot používateľa vyzve, aby umiestnil páku s gyroskopom do dolnej polohy, pričom by mal skontrolovať, že ozubené prevody sú prepojené
  2. po potvrdení pripravenosti sa systém postupne roztočí a robot používateľa vyzve, aby prepol páku s gyroskopickým senzorom do hornej polohy
  3. preklopenie páky spôsobí odpojenie pohybu, motor sa prestane točiť a svetelný senzor meria dobu do zastavenia systému vplyvom mechanického trenia
  4. čas potrebný na zastavenie je nakoniec zobrazený na displeji

Postupne vytvoríme tri konfigurácie - dotykové senzory na konci ramien, v strede a celkom odpojené. V druhom a treťom meraní nahradíme svetlú plochu senzora kúskom kartónu pripojeným bežnou spojkou:

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/model_01.jpg

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/model_03.jpg

http://virtuallab.kar.elf.stuba.sk/%7Eev3/images/navod/model_02.jpg

Pred samotným meraním skontrolujeme, že rotačnému pohybu nebráni žiadna mechanická prekážka a počas pohybu môžeme rukou tlmiť kmitanie celého modelu. 

Video ukážky:

Záver

Na základe merania sme zistili, že doba potrebná na zastavenie dvoch systémov s rovnakou hmotnosťou, ale rozloženou v iných miestach otáčajúceho sa systému je rôzna. Konkrétne, v prípade, že je hmotnosť sústredená v strede osi otáčania potreboval systém na zastavenie vplyvom trecej sily kratší čas (približne 2.5 sekundy), ako v prípade, že hmotnosť bola sústredená na okrajoch otáčajúcich sa ramien (asi 12 sekúnd). V experimente s ramenami bez závaží sa systém otáčal ešte kratšie (približne 1.5 sekundy). Na základe toho usudzujeme, že rotačný moment zotrvačnosti otáčajúceho sa telesa závisí od jeho hmotnosti aj od rozloženia hmotnosti v telese. 

Doplňujúca úloha

Upravte program tak, aby po jeho štarte bolo možné navoliť maximálnu rýchlosť otáčania, na ktorú bude systém roztočený. Zmerajte čas potrebný na zastavenie pre rôznu maximálnu rýchlosť. 

Programování robota

Některé základní tipy na programování robotů pro kostku EV3 jste si již mohli projít v sekci Mechanika robota.

Vzhledem k tomu, že programování je velmi komplexní věc a taktéž jsou různá programovací prostředí pro kostky EV3 a NXT, odkážeme vás na manuál ke stavebnici. Anglické verze jsou ke stažení na stránkách Lego Mindstorms (EV3, NXT). Jejich překlad do českého jazyka pak na stránkách firmy Eduxe – distributora Lega pro ČR, zatím však pouze pro základní kostku NXT.

Jak naprogramovat robota?

Nejlepší systém hned po osobním učiteli je „koukat někomu pod ruce“. Na internetu je celá řada tutoriálů, jak začít programovat nebo jak ovládnout složitější postupy. Jsou to obvykle nahrávané obrazovky lektora a k nim jeho slovní komentář. Uživatel se tedy může koukat, jak se co přesně dělá. Níže uvádíme několik příkladů a tipů, kam zabrousit.

·         Na webu Eduxe je řada dobrých tipů.

·         Taktéž na portálu Robotické vzdělávání Západočeské univerzity v Plzni.

·         Nejen programátorské tipy najdete na slovenské Robowiki.

·         Komu nevadí angličtina, tak

o   výborná videa pro EV3 i NXT jsou na STEMcentric.com.

o   řada online výukových materiálů všech úrovní je na LEGO engineering.

Pro programování je možné taktéž využít možnosti software třetích stran, například jazyk NXC (více informací zde) – ale vše dle preference a zkušenosti programátora.

Celá řada otázek nejen k programování je zodpovězena na oficiální webové stránce pro kostku EV3 – Lego Mindstorms FAQ.

 

Příklady pro vyzkoušení

V této části uvádíme příklady, které lze řešit. Berte je jako inspiraci a jako prostředek k výuce toho, co všechno se s Legem dá dělat. Protože není nic lepšího, než si vlastní projekt sám vymyslet a následně sestrojit.

V poslední kapitole najdete řešení všech úloh. Jedná se většinou o zápis programu v programovacím prostředí NXT-G (tedy výchozí prostředí pro programování kostky NXT).

[1] Choď ku stene a vráť sa

Toto je jednoduchý rozcvičkový projekt, kde prídete na to, ako čítať hodnotu z otáčkového senzora. Dá sa vyriešiť aj pomocou časovača (timer).

·         zostrojte robota, ktorý dokáže ísť vpred

·         pripevnite jeden ultrazvukový senzor, ktorý smeruje vpred

·         napíšte program, pomocou ktorého sa robot presunie ku stene a potom zacúva naspäť, pričom zastane na rovnakom mieste

·         program musí fungovať nezávisle od toho, ako ďaleko robota od steny umiestnite

[2] Dopredu – tlesk – dozadu - tlesk

Toto je projekt pre začiatočníkov, kde sa zoznámite s použitím zvukového senzora

·         zostrojte robota, ktorý dokáže ísť vpred/vzad

·         pripevnite jeden zvukový senzor

·         napíšte program, tak, že po jeho spustení začne ísť robot vpred, po tlesknutí začne ísť vzad a na druhé tlesknutie robot zastane

Image:waitblock.pngPodporujete poradiť?

·         použite blok na čakanie (kým hladina hluku neprevýši zadanú hodnotu):

·         impulz na zvukovom senzore trvá nejaký čas, preto po prvom zareagovaní treba chvíľu počkať

[3] Toč sa tak rýchlo, ako rýchlo tlieskam

·         poskladajte robota, ktorý sa dokáže otáčať na mieste a má pripojený zvukový senzor

·         napíšte program tak, aby sa:

o   po spustení programu robot veľmi pomaly otáčal

o   ak začneme tlieskať, robot začne zrýchľovať

o   čím rýchlejšie budeme tlieskať, tým rýchlejšie sa robot bude otáčať

o   po spomalení tlieskania (na hlasitosti úderov nezáleží) bude spomaľovať aj robot

o   bonus: ak nejaký čas netlieskame vôbec, robot postupne zastane

Potrebujete poradiť?

·         najjednoduchšie je použiť robota so základňou podľa návodu v programe a pripojiť modul so zvukovým senzorom

·         na meranie času medzi jednotlivými tlesknutiami je vhodné použiť časovač (timer) (ak používate jazyk NXC, tak poslúži volanie CurrentTick()

·         pozor na dozvuky a dlhšie trvajúce vybudenie senzora - po každom vybudení je najlepšie počkať aspoň 100 ms predtým, ako sa čaká na ďalší zvukový impulz

[4] Sleduj čiaru a obchádzaj prekážku

·         poskladajte robota, ktorý sa dokáže pohybovať vpred a zatáčať

·         robot má jeden svetelný senzor smerujúci nadol určený na sledovanie čiary

·         robot má jeden ultrazvukový senzor na snímanie prekážky

·         úlohou robota je prejsť na koniec čiary, na ktorej je v strede položená prekážka - túto prekážku má obísť

 

Možné rozšírenia

·         čiara je na niektorom mieste na niekoľko centimetrov prerušená

·         na dráhe sa môže nachádzať viacero prekážok

·         prekážka môže byť rôznej farby - ak je modrá, robot ju má obísť sprava, ak je biela, má ju obísť zľava - môžete použiť druhý svetelný senzor

·         skúste prekážku zistiť pomocou nárazníka s dotykovým senzorom namiesto použitia ultrazvukového senzora

·         dokáže váš robot zatočiť aj na pravouhlej zákrute?

·         vedeli by ste na trati nájsť zelené nálepky prelepené krížom cez čiaru?

Image:prekazka1.jpg

Image:prekazka2.jpg

[5] Turista ide na stanicu

·         poskladajte robota, ktorý sa dokáže pohybovať vpred a zatáčať

·         robot predstavuje turistu, ktorý je v meste a chce sa dostať na železničnú stanicu

·         http://virtuallab.kar.elf.stuba.sk/robowiki/images/a/aa/Stanica.pngčierna páska nalepená na bielej podložke predstavuje ulice, jedna smeruje rovno vpred a odbáča z nej niekoľko ulíc vpravo (prípadne aj vľavo)

·         robot - turista sa po štarte opýta, ktorá z odbočiek vedie na železničnú stanicu

·         odpovieme stlačením dotykového senzora - napríklad, ak je to druhá odbočka, stlačíme senzor dvakrát

·         robot sa vydá po ceste a odbočí na správnom mieste

Potrebujete poradiť?

·         v tomto projekte využijete premenné, pri každom stlačení ("Bumped") dotykového senzora sa premenná zvýši o jeden - je vhodné aj krátko zapískať, aby používateľ vedel, že jeho stlačenie bolo zaregistrované

·         robot by mal mať vpredu jeden svetelný senzor na sledovanie čiary a jeden na sledovanie odbočiek - svetelné senzory by mali byť vo výške asi 0,5 cm nad podložkou

·         robot bude sledovať čiaru a pri každom zaznamenaní odbočky pripočíta k druhej premennej jednotku (všimnite si, že treba dve premenné - novú premennú môžete vytvoriť cez Edit - Define Variables)

·         keď sa premenné rovnajú, robot zatočí vpravo (alebo vľavo) a ďalej sleduje čiaru

·         môžete pridať ultrazvukový senzor, aby robot sám zastavil, keď príde na stanicu.

[6] Počítanie čiar

·         vezmite si biely papier alebo inú podložku a krížom nalepte niekoľko kúskov čiernej pásky, pozri obrázok

·         na robota, ktorý sa môže pohybovať vpred, pripevnite svetelný senzor, ktorý smeruje nadol a nachádza sa približne 0,5 cm nad podložkou

·         http://virtuallab.kar.elf.stuba.sk/robowiki/images/9/96/Pocitaj_ciary.pngpridajte ultrazvukový senzor, ktorý bude smerovať vpred, takže dokáže zamerať stenu pred robotom

·         zmerajte hodnoty pre bielu a čiernu podložku pomocou menu "View" na kocke NXT a zapíšte si ich

·         napíšte program, aby:

o   sa robot začal pohybovať vpred

o   pri každom križovaní čiernej pásky zapískal

o   keď príde ku stene, zastane

·         rozšírte program tak, aby po zastavení zapískal toľkokrát, koľko čiernych čiar prekrižoval

Potrebujete poradiť?

·         http://virtuallab.kar.elf.stuba.sk/robowiki/images/a/ad/Parallel_nxt_g.pngzastavenie sa najľahšie naprogramuje paralelným procesom: položte blok na čakanie na ultrazvukový senzor, zo začiatku programu vytiahnite druhú prepojovaciu kocku, ktorú spojíte s týmto blokom - takto pridáte druhý paralelný blok, pozri obrázok

·         v hlavnom programe sa strieda čakanie na biely a na čierny podklad, pri každej zmene sa pískne

·         na písknutie použite zvukový blok, zvoľte "Play Tone" a zrušte voľbu "Wait for completion". Veselý zvuk získate tak, že nastavíte dĺžku tónu na 0,01 sekundy

·         na zistenie počtu križujúcich čiar použite premennú - po každej čiare ju zvýšte o 1 a na konci použite cyklus, v ktorom túto premennú budete znižovať, až kým nebude nulová


 

[7] Nasleduj človeka

·         poskladajte robota, ktorý sa dokáže pohybovať vpred a zatáčať

·         vpredu namontujte ultrazvukový senzor nasmerovaný vpred

·         napíšte program, tak, aby sa robot pohyboval za človekom alebo robotom, ktorý je pred ním:

·         keď robot človeka dostihne a priblíži na malú vzdialenosť, robot zastane

·         ak sa človek začne vzďaľovať, robot sa znovu rozbehne a nasleduje ho

·         ak sa človek priblíži ešte bližšie, robot začne cúvať

·         ak sa človek stratí z dohľadu, robot sa začne otáčať na mieste, až kým človeka nenájde, potom ho začne znova sledovať

Pre pokročilých: pokúste sa, aby pohyby robota boli čo najplynulejšie, využite pritom v programe premenné.

[8] Komunikácia cez BlueTooth: ako začať

Zadanie

Ak máte na krúžku aspoň dve NXT/EV3 kocky, môžete ich prepojiť cez rádiové spojenie BlueTooth a z jednej kocky riadiť druhú. Napríklad jedna kocka môže fungovať ako senzor pre alarm (pomocou ultrazvukového senzora) a druhá kocka je súčasťou a riadi robota, ktorý zlodeja zneškodní, alebo aspoň odfotí.

Image:Nxt bt.png

Riešenie

Na prepojenie kociek cez BT najskôr na vysielajúcej NXT kocke z hlavného menu vyberieme

·         Bluetooth - On/Off - skontrolujeme, že je ON, ak nie, tak zapneme na ON

·         Skontrolujeme, že NXT kocka prijímača je zapnutá

·         Bluetooth - Search - vyberieme meno kocky prijímača a pripojíme ju na spojenie 1, na oboch kockách potvrdíme kód 1234

Ak sa kocky spoja správne, tak sa na oboch v ľavom hornom rohu displeja zobrazí malý kosoštvorec.

Vytvoríme jednoduchý program, ktorý bude posielať správy 1,2,3 do schránky č.1 podľa toho, ktoré gumové tlačidlo na NXT kocke sa stlačí. Pri vyslaní správy zobrazíme obrázok. Na prijímajúcej kocke sa správa prijme do "kufríka" - premennej "Sprava" typu "Number" a zobrazí sa rovnaký obrázok ako na vysielajúcej kocke. Na vytvorenie novej premennej použijeme voľbu "Define variables" v hlavnom menu Edit programu NXT-G, premennú vytvoríme tlačidlom [Create variable] a okrem názvu určíme aj typ na "Number". Na prepájanie jednotlivých programových blokov rozbalíme vstupné a výstupné prípojky kliknutím na stred dolnej strany štvorca. Podmienka v prijímacom programe testuje, či vôbec nejaká správa prišla a ak áno, druhá podmienka zistí, ktorá to bola správa a podľa toho vykoná príslušnú vetvu podmienky. Aby sme mohli zadať viac ako 2 vetvy podmienky, potrebujeme ju prepnúť do "záložkového režimu" zrušením voľby "Flat View".

Program můžete zkontrolovat v kapitole Řešení jednotlivých úloh.

[9] Vyhýbanie dvoch robotov

Toto je projekt, kde si osvojíte komunikáciu dvoch kociek cez BlueTooth. Mali by na ňom spolupracovať dve skupiny.

·         poskladajte dva podobné roboty, ktoré sa dokážu pohybovať vpred a zatáčať

·         roboty majú namontované ultrazvukové senzory smerom vpred

·         roboty štartujú oproti sebe a začnú sa pohybovať vpred

·         keď sa priblížia na malú vzdialenosť (asi 15-20 cm), zastanú

·         jeden z nich si hodí kockou (vygeneruje náhodné číslo 1 alebo 2), ktoré určí, či sa roboty obídu navzájom zľava, alebo sprava

·         toto číslo pošle cez BlueTooth druhému robotovi

·         obidva roboty sa tesnou výhybkou vyhnú zľava (číslo 1) alebo sprava (číslo 2) a pokračujú po priamke svojho pôvodného pohybu, pozri obrázok

Image:vyhybka.pngPotrebujete poradiť?

·         kocky treba najskôr spojiť cez BlueTooth, najlepšie ručne - vyhľadajte menu BlueTooth a uistite sa, že obe kocky majú BlueTooth zapnutý (ON) - zistíte to tak, že keď je BlueTooth zapnutý, v ľavom hornom rohu svieti malá ikonka v tvare BlueTooth

·         dajte pozor, aby kocky v triede mali rozličné mená (meno kocky sa dá zmeniť v programe NXT-G v okne "NXT Window"

·         keď je BlueTooth zapnutý, jedna kocka musí vyhľadať druhú (pomocou voľby Search v menu BlueTooth), potom obe kocky potvrdia rovnaký štvormiestny PIN-kód a kocka, ktorá dala druhú vyhľadávať si vyberie na ktoré zo spojení 1,2,3 si druhú kocku umiestni. Na druhej kocke (ktorá bola vyhľadaná) to bude vždy spojenie číslo 0.

·         na komunikáciu použite bloky na poslanie a prijatie správy (obrázok níže)

·         dajte pozor, aby ste zvolili správne číslo spojenia a rovnaké číslo schránky na oboch stranách

·         blok prijatia správy vráti 0, ak žiadna správa nebola prijatá - preto treba správu prijímať do premennej a zároveň cykliť až kým porovnanie (použite blok porovnania) nepovie, že bola prijatá správa > 0.

Design od Pavel Hamřík Kód od Websense Brno