Mé zkušenosti s Lego Mindstorms
Autorem článku je Antonín Musil
Jsou to už asi dva roky od chvíle, kdy jsem si koupil robota LEGO Mindstorms. Spousta z vás možná vůbec netuší, o co se vlastně jedná, a proto než začnu mluvit o programování, zapojování a mých vlastních projektech, vysvětlím dnes, o co jde. Ještě bych rád upozornil na jeden fakt, aby náhodou nedošlo k nějakým nechtěným rozporům. Existují dvě verze tohoto robota – starší NXT a novější EV3. V tomto článku budu celou dobu mluvit pouze o modelu EV3, jelikož ho sám používám. Teď už můžeme přejít k popisu robota.
Jelikož se jedná o produkt společnosti LEGO, tak se nemůžeme divit, že tato robotická stavebnice míří především na menší děti. Z toho důvodu je vše navrženo co nejjednodušeji – jak zapojení komponentů k robotovi, tak programování (v případě, že používáte oficiální software dodávaný společností LEGO).
Kostka – mozek robota
Řídicím systémem celého robota je kostka s displejem, šesti tlačítky, mini-USB portem, USB portem, slotem na microSD kartu a porty.
Při pohledu na kostku asi nejvíce zaujmou 2 x 4 porty, do kterých se dají připojit senzory (vstupy 1 až 4) a motory (výstupy A až D). Jedná se o obdobu klasického telefonního konektoru RJ-11, ale aby to nebylo tak jednoduché, mají LEGO konektory zacvakávací pacičku posunutou na stranu, tudíž do těchto konektorů nepasují klasické telefonní kabely.
Když kostku otočíme, najdeme zde prostor pro baterky, chráněný kouskem plastu. Robot se napájí buď z šesti AA (tužkových) baterií, nebo je možno dokoupit dobíjecí akumulátor, který se nasadí do míst, kde jsou normálně baterky. Výhodou tohoto akumulátoru je, že když se vybije, zapojí se do něj zespodu nabíječka a člověk nemusí nic řešit. Pokud se vybijí baterky, je řešení složitější, jelikož člověk musí kostku dostat ven z konstrukce, baterie vyndat, následně je nabít čí vyměnit, opět je tam vrátit a celou konstrukci dát zase dohromady. Na druhou stranu ale tento akumulátor není úplně nejlevnější záležitost, což je také důvod, proč já osobně stále používám obyčejné dobíjecí baterky a jsem s nimi spokojený.
Důležité je ale i co je uvnitř kostky. Robota pohání procesor ARM9 s flash pamětí 16 MB. Má integrované bluetooth, díky kterému se dají programy z počítače přenášet i bezdrátově. Pomocí mini-USB portu se lze připojit k počítači kabelem a prostřednictvím USB portu je také možné připojit Wi-Fi adaptér, což robotovi umožní připojit se k Wi-Fi síti. Také je zde důležitý monochromatický displej o velikosti 178 x 128 pixelů. Kdyby vám náhodou nestačila paměť na programy, můžete použít microSD kartu s kapacitou až 32 GB.
Motory a senzory
Nyní už víme, jak vypadá nejpodstatnější část robota, tedy kostka, a můžeme se přesunout na motory a senzory. Existují dva typy motorů, které jsou dodávány v sadě LEGO Mindstorms – velký (Large) a střední (Medium).
Rozdíl je ve velikosti, z čehož plyne i podstatný rozdíl v síle. Velký, silnější motor se používá převážně na pohon jezdících robotů, nebo na otáčení velkými věcmi – například robotickou rukou. Menší motor se naopak používá tam, kde není potřeba moc velké síly, takže například na svírání úchopové části robotické ruky apod. Celkem se ke kostce EV3 dají připojit 4 motory neboť má 4 porty. Zajímavé a často i dosti užitečné je, že motory dokáží měřit o kolik stupňů se otočily. Tím pádem, pokud chcete něco otočit jen o 180°, nemusíte složitě zjišťovat, jak dlouho to motoru trvá, ale prostě mu řeknete, ať se otočí o požadovaný úhel. Víc o motorech už toho asi říci nejde, tudíž se můžeme přesunout na senzory.
Existují základní senzory jako je tlačítko, senzor barvy nebo ultrazvukový senzor. Na internetu jdou ale také najít spousty různých senzorů, které jsou schopné měřit všechno možné, jako například teplotu či akceleraci. Tyto složitější senzory už ale většinou nebývají produktem z dílen firmy LEGO a jelikož je jich opravdu hodně, popíšeme si zde jen těch pár základních, které jsou dodávané s každou sadou EV3.
Začal bych asi dotykovým (touch) senzorem, protože to je asi ten nejpoužívanější senzor. Dá se používat na zapínání či vypínání programu, ochranu proti naražení robota do zdi atd. Vlastně na něm ale není vůbec nic speciálního – je to prostě tlačítko.
Dále existuje IR senzor, který dokáže vnímat infračervené záření. Dá se používat na měření vzdálenosti, ale mnohem podstatnější je jeho schopnost přijímání signálu z dálkového ovladače využívajícího infračervené záření. Jeden malý ovladač dostanete již při koupi stavebnice. Na něm je 5 tlačítek a při zmáčknutí každého z nich senzor vnímá jinou číslici. Ovladač i senzor se také dají nastavit na 4 různé kanály (frekvence, na kterých komunikují). Tento senzor se rozhodně hojně používá. Vždy, když chci nějakým způsobem ovládat start programu, použiji tento senzor a ovladač, na kterém si vyberu jedno z tlačítek, kterým se spustí program.
Dalším hojně používaným senzorem je barevný (color) senzor, který umí rozeznávat barvy. Tento senzor se hodí na třídičky a podobné roboty, kteří potřebují umět rozlišovat věci okolo sebe.
V některých sadách se také dodává ještě gyroskop, který je schopný snímat naklonění. Osobně jsem pro něj ve svých projektech nikdy nenašel praktické využití.
A posledním senzorem, který se používá velmi často je ultrazvukový senzor. Ten umí pomocí ultrazvuku měřit vzdálenost od překážky, tudíž se dá dobře využít například na ochranu robota před naražením do zdi nebo na detekci přítomnosti člověka u robota.
Software
Teď už víte všechny základní informace o LEGO Mindstorms EV3 po hardwarové stránce, takže se můžeme přesunout na software, tedy programování robota. Jelikož je Lego Mindstorms cílený hlavně na menší děti, které by se díky němu měli naučit základy programování, je dodávaný programovací software dosti jednoduchý. Z toho důvodu je pro mě dosti nepoužitelný, jelikož by mě v něm programovat opravdu nebavilo a našel jsem si náhradu, kterou je program jménem LabVIEW. Tento software sice není primárně určen na programování této stavebnice, je ale oficiálně podporován, tudíž není potřeba nic speciálního k tomu, abyste LabVIEW mohli využívat. Programování v mnou zvoleném softwaru je ale oproti oficiálnímu LEGO programu dosti složité, a proto zde nebudu vysvětlovat, jak se co dělá, jelikož by to bylo příliš obsáhlé.
Pokusím se vám ale alespoň trochu přiblížit programování v oficiálním LEGO softwaru. Celé programování probíhá graficky. To znamená, že spojujete jednotlivé bloky programu čarou tak, jak mají jít za sebou. Každý blok má určenou svou funkci. Celkem je zde 5 typů bloků, které se liší tím, co dělají. Jsou to zelené akční bloky, kterými se ovládají motory, zvuk a displej, dále oranžové funkční bloky na ovládání všeho, co se týká času. Na ovládání všech senzorů se používají žluté senzorové bloky a k využívání různých proměnných slouží červené datové operační bloky. Nakonec jsou tu modré pokročilé bloky, které umožňují spravovat soubory nebo například ovládat připojení přes bluetooth.
Jak už jsem zmiňoval, celé programování je jednoduché a snadno pochopitelné i pro začátečníky, tudíž pokud se chcete naučit robota programovat, rozhodně neváhejte tento software využít. Pro stažení či získání návodů na základní program můžete použít tento odkaz – software.
Za zmínku stojí, že novější model EV3 lze také programovat přímo na kostce. Osobně jsem to ale nikdy nezkoušel ani se o to nezajímal, tudíž nemůžu říci, jak to funguje. Určitě to ale může být zajímavá zkušenost.
Pro podrobné informace k Lego Mindstorms si stáhněte originální návod. Pomoci vám může Robotický manuál nebo článek Jak elektrifikovat Lego.
Závěr
Teď bych rád shrnul můj názor na LEGO robota. Stavebnice se mi celkově dost líbí, a to z mnoha důvodů. Jedním z nich je jednoduchost. Ta je sice na jednu stranu obtěžující, protože některé věci nemají tu krásu v tom, že si člověk něco postaví či zapojí úplně podle sebe. Na druhou stranu ale nemusíte nic řešit. Prostě motor či senzor zapojíte univerzálním konektorem do jednoho z volných portů a je to. Také beru jako velké plus to, že se jedná o výrobek společnosti LEGO. Tím myslím, že mě stále baví skládat si z LEGA, a když se to spojí s programováním, je to pro mě ráj.
I přes určitou jednoduchost a cenovou náročnost s LEGO Mindstorms EV3 stále pracuji a baví mě to. A pokud někoho z vás baví programovat a stavět si z Lega, rozhodně tohoto robota doporučuji.
Nejnižší ceny sady Lego Mindstorms a doplňků najdete zde.
Nabídka se rozšířila
Mindstorms
https://www.lego.com/cs-cz/search?q=lego%20mindsorms
Tvořivý box LEGO® BOOST
https://www.lego.com/cs-cz/themes/boost
45678 LEGO® Education SPIKE™
https://www.eduxe.cz/p/353/45678-spike-prime-zakladni-souprava