Zdravím příznivce hraní, tvoření a všeho bastlení!
Asi bych tady hledal jen těžko člověka, který nezná stavebnici LEGO! S kostičkami LEGO si můžeme hrát, tvořit z nich zajímavé věci a nebo se s nimi učit programovat. A co když k nim přidáme neméně populární platformu micro:bit? To by pak mohly vznikat teprve věci!
Jsem rád, že mohu nyní uvést novou sérii článků o propojení těchto dvou světů a předávám už slovo nadšenci do LEGO Emmetovi ze skupiny BrickHackers!
Psal se rok 2019 a na e-shopu HW Kitchen1 se začaly objevovat součástky označované jako LEGO-kompatibilní. Postupně jsem jeho provozovatele Oldřicha Horáčka zasypal tolika dotazy, že jsem v něm probudil zvýšený zájem o možnosti robotiky založené na stavebnici LEGO. Z našich rozhovorů potom vzešla nabídka, abych s kostičkovým světem seznámil i zdejší čtenáře.
Dovolte, abych se představil: Internet mě zná pod jménem Emmet BrickHacker; společně s kolegou vedeme od roku 2017 kroužky robotiky pod hlavičkou BrickHackers2, nejčastěji zaměřené na LEGO Mindstorms EV3. Hned v počátku jsme narazili na skutečnost, že možnosti této stavebnice jsou značně podceňované – a to nejen z hlediska jejich mechanických možností, ale také z hlediska případného využití v pokročilejší výuce robotiky a programování.
Stavebnice LEGO nám slouží jako nástroj, jak zejména školou povinné zájemce přístupnou formou seznamovat s principy všudypřítomné techniky. Tuhle roli plní na výbornou zejména v oblasti mechanických konstrukcí. Nicméně protože LEGO je zároveň jednou z největších značek angažujících se ve vzdělávání, je oficiální elektronika ke stavebnici designována s ohledem na nasazení v běžné výuce, a tedy s předpokladem, že bude vystavena nepříliš šetrnému zacházení. To je nejspíš důvod poměrně robustních rozměrů jednotlivých komponent, což znamená, že i výslední roboti budou trochu větších rozměrů.
Pokud ale chceme ukázat, jak si oživit menší výtvory, musíme se poohlédnout po elektronice třetích stran. Zároveň hledáme platformu vhodnou pro začátečníky, což znamená bohaté zázemí různých rozšiřujících modulů, aktivní komunitu a možnost obejít se bez pájení.
Velmi brzy se mým osobním favoritem stal kapesní počítač BBC micro:bit vyvinutý pro nasazení v britském školství3 – jedním z důvodů byla i skutečnost, že je možné ho programovat z téměř jakéhokoliv typu zařízení včetně telefonu. Výrazný argument pro jeho využití padl v momentě, kdy se objevila Geekserva, DC motory a serva uzpůsobená pro zabudování do stavebnice LEGO – právě v tom okamžiku jsem vychrlil již zmiňovanou záplavu dotazů, protože to, co mi chybělo, byla šikovná deska pro řízení motorů. V odpověď mi byla představena rozšiřující deska Wukong, která byla navržena právě pro zabudování do stavebnice LEGO; mimo jiné obsahuje 8 portů pro ovládání servomotorů, 2 porty a zabudovaný driver pro ovládání DC motorů a vlastní dobíjecí baterii. Tím byl ustaven téměř perfektní triumvirát (micro:bit-wukong-geekservo) pro LEGO robotiku!
Je mi proto ctí oznámit čtenářům, že od dubna 2020 začnou BrickHackers na serveru arduino.cz publikovat seriál zaměřený právě na rozpohybování oblíbené stavebnice.
Ve výuce ukazujeme, jak věci fungují, na předmětech, se kterými se studenti běžně setkávají, abychom tak principy zbavili zdání akademické odtrženosti od všedního života, a rádi bychom tomuto přístupu zůstali věrní i v psané podobě.
Pokud jste se tedy dosud báli, že by na vás byla domácí elektronika příliš složitá, tak neváhejte a vyzkoušejte právě micro:bit – jak sami uvidíte, je navržen tak, aby byl přístupný nejen dětem, ale aby ho snadno pochopili i dospělí! A v kombinaci se stavebnicí LEGO je ještě přístupnější – model zařízení z jejích dílků sestavíte poměrně rychle a můžete se tak soustředit na promýšlení řídícího programu! Pokud v průběhu zjistíte, že by bylo lepší nějakou část konstrukce postavit trochu jinak, tak je přestavba relativně snadná a nedochází při ní ke zničení stavebního materiálu, takže se nemusíte bát experimentovat!
V následujícím článku představíme prostředí MakeCode for micro:bit – ukážeme si, jak napsat jednoduchý program v blokovém jazyku a popíšeme si některé základní bloky. Pokud vám grafické programování nesedí, ukážeme, jak přepnout prostředí do textového zápisu jazyka JavaScript4. Také si ukážeme, jak stáhnout do prostředí rozšiřující knihovny pro přídavný hardware.
Hned jak zvládneme základy, ukážeme v několika článcích, jak ovládat Geekservo: Máme pro vás připravené návody na jednoduchá vozítka, jemně naznačíme rozdíl mezi diferenciálním řízením a tzv. Ackermannovým řízením (to je to, které využívá drtivá většina aut) a když už máme ta vozítka, tak se podíváme na radiovou komunikaci více micro:bitů mezi sebou a sestavíme si dálkové ovládání.
A přestože je seriál zamýšlený hlavně pro začátečníky, pokud byste stáli o pokročilejší projekty, můžeme v budoucnu připravit podrobnější návod na motorizaci Chevroletu ZR1 ze stavebnice LEGO Technic 42093.
Možnosti stavebnice obohacené navíc o elektroniku jsou nepřeberné a někdy je těžké rozhodnout, který projekt popsat. V tomto směru neváhejte navrhovat, co dalšího by vás zajímalo, protože stejně jako po zvládnutí základů motivujeme studenty k tomu, aby si vybrali vlastní projekt na kterém se budou dále rozvíjet, i u čtenářů bychom chtěli podporovat zájem tím, že jim poradíme s tématem, které je zajímá!
1 Šenovský e-shop elektrotechnického vybavení.
2 V době vydání tohoto článku jsou stránky ve výstavbě.
3 BBC vyvinula micro:bit jako open-source hardware a na ARMu založený embedded system. Pokud neholdujete odborné hantýrce, vězte, že jde o počítač zabudovaný do šikovné destičky vybavené maticí LED světel, dvěma programovatelnými mechanickými tlačítky a velkým množstvím vstupů a výstupů, které je však obvykle nejsnazší zpřístupnit pomocí nějaké přídavné desky. První dodávky počítače v roce 2016 byly opravdu směřovány prioritně do vzdělávacího systému ve Velké Británii, cca po roce se však deska dala sehnat poměrně běžně.
4 Za jménem JavaScript se skrývá tak košatá historie zákulisních bojů vývojářů internetových prohlížečů, až se divím, že ji ještě nikdo nepřetavil do podoby knižního či filmového thrilleru. Každopádně jméno JavaScript není úplně přesným pojmenováním: skriptovací jazyk byl původně vyvinut Brendanem Eichem ze společnosti Netscape a byl pojmenován Mocha, později LiveScript a nakonec JavaScript, jak jej známe dnes, nicméně standardizovaný byl společností ECMA (European Computer Manufacturers Association) pod jménem ECMAScript.