Do Velikonoc už máme jen pár dní a tak je nejvyšší čas se na ně pořádně připravit. Co takhle použít na malování vajec EggBota, ale nebudeme předbíhat!
Jedním ze starých a krásných zvyků, které přežily do dnešních let je darování malovaných vajec koledníkům. Možností, jak vytvořit krásná vejce je opravdu hodně. V článku si ukážeme jeden takový způsob, kterým vytvoříte zajímavá a netradičně zdobená vejce a ještě si u toho zabastlíte!
Ono se řekne malovat vejce, ale když má výsledek za něco stát, může jedno zabrat i pár hodin. Nejen pro tento účel vznikl EggBot, díky kterému máte originální vejce během několika minut. Na následujícím obrázku jsou vejce, která maloval Eggbot. Děti tam ale propašovaly i pár ručně malovaných.
Robot EggBot je kompaktní, snadno ovladatelný, open-source robot, jehož dovednost spočívá zjednodušeně řečeno v tom, že umí kreslit na kulaté objekty. Svoji práci zvládá tak dobře, že se nezastaví ani nad golfovými míčky, žárovkami, baňkami nebo malými dýněmi. Ve své podstatě je to hlavně výborný start do světa CNC (počítačem řízené obráběcí stroje) a DIY robotiky. Všechny jeho elektronické součásti by se teoreticky daly využít na sestavení naprosto odlišného projektu. EggBot je vlastně takový umělecký „CNC“ kreslící robot pro začátečníky.
Na obrázku jeEggBot Deluxe Kit, který představuje nejpokročilejší verzi robota pro malování vajec. Základ tvoří pevné ale nastavitelné šasi se dvěma krokovými motory pro rotační pohyb kulatého předmětu a vodorovný pohyb pera. Mechanismus pro uchycení kreslítka je vybaven servem na jeho zvedání, aby se mohlo bezpečně přesouvat mezi různými částmi kresby. Uchycení předmětu, v našem případě vejce, zajišťuje pružinový mechanismus s tlumící podložkou. Vzhledem k množství důmyslných nastavení přístroj umožňuje opravdu komfortní práci při malování na sférické předměty. EggBota lze také rozšířit o speciální diamantový rytec, se kterým můžete gravírovat ornamenty například do vánočních baněk.
Software uvnitř tohoto krasavce umožňuje skrze freeware program Inkscape vytvořit přesný koncept požadovaného grafického vzoru – ať už jde o fotografie, předem vytvořené designy či narychlo spíchnuté malůvky. Zde najdete užitečné stránky pro rychlý start s Inscape.
Na trhu je EggBot dostupný v různých variantách: Pro, Deluxe a Ostrich. Verze Ostrich umožňuje kreslit i na obří vejce nebo dokonce pštrosí. Verze Pro je pak už opravdu vychytaná, ale cenově vychází už mimo možnosti většiny bastlířů. Zlatý střed je tak verze Deluxe, kde je optimální poměr mezi cenou stroje a užitnými vlastnostmi. Stroj má vynikající opakovatelnost, stejně namalovaná vejce jsou jedno jako druhé. Výhodou hotové stavebnice je to, že ušetříte čas jinak potřebný pro vlastní výrobu a konstrukci takového stroje a můžete ho rovnou věnovat malování vajíček nebo tvoření nových designů.
A co takhle Arduino EggBot?
Takový Egg robot pro malování velikonočních vajec tedy dává laťku pěkně vysoko. Je třeba uznat, že kvalita zpracování a užitná hodnota je velmi vysoká. Za kvalitu a originalitu se platí a EggBot není výjimkou – verze Deluxe vás přijde na $260. Open Source komunita však vzala věci do svých rukou: uživatel Nikus na stránkách Instructables zveřejnil návod na sestrojení finančně dostupného EggBota ovládaného Arduinem. Na ukázku tady máme zjednodušenou verzi a pár obrázků:
K sestavení budete potřebovat následující součásti: 2 x krokové motory+drivery, Arduino/ATmega328, zdroj motoru, mikro servo, umělohmotná deska, 3x 40cm šrouby + matice, fixy aj.
Propojíte komponenty dle nákresu – link je níže
Z vámi vybraného materiálu vyřežete základní konstrukci, vybrousíte ji a vyvrtáte díry pro šrouby
Propojíte komponenty s ramenem pera
Stáhnete si přiložený Arduino kód
…a můžete začít kreslit!
DIY malování vajec jede naplno
Projekt je v úplnosti dostupný zde. Jedná se ale pouze o jeden z mnoha takovýchto klonů. Je proto z čeho vybírat!
Ať už se rozhodnete pro vlastní konstrukci a nebo si zajistíte EggBot stavebnici tohoto unikátního robota, určitě se nebudete o Velikonocích nudit a ještě se leccos naučíte!
V dnešní době se programování mezi dětmi stává stále oblíbenější. Pro mnoho rodičů je ale uvedení jejich dětí do problematiky programování pro děti náročný úkol a to i přesto, že se pro děti může programování zdát jako rychle pochopitelné. Na vyřešení tohoto úkolu a usnadnění práce dospělým bylo během posledních let vytvořeno mnoho softwarových aplikací a služeb. Zde přinášíme přehled 11 nejlepších a volně dostupných nástrojů, které mohou rodiče využít pro uvedení svých dětí do úžasného světa programování. Pojďme se na ně společně podívat.
1. MakeCode
Asi největší boom v nástrojích na programování pro děti zažila v poslední době platforma micro:bit a grafické programovací prostředí MakeCode, o kterém jsme si tady již psali. A není se co divit, MakeCode je velmi jednoduchý a dokáže v něm vytvořit první program během chvilky i úplný začátečník. Navíc není potřeba pro základní práci instalovat žádná rozšíření a nabízí se k dispozici velké množství rozšiřujících modulů pro micro:bit, které zhmotní váš programový výtvor do podoby robota, auta, hračky nebo třeba projektu na zavlažování rostlin. Z prostředí MakeCode dítě navíc jen tak nevyroste, protože se může z grafického programování jednoduše přepnout do populárního jazyka MicroPython nebo JavaScript, které otevírají cestu pro další růst.
Scratch je jednoduchý programovací jazyk navržený skupinou MIT’s Media Lab. Momentálně se jedná o nejrozšířenější celosvětově používaný vizuální programovací jazyk pro děti. Scratch se používá ve více než 150 zemích světa a je dostupný ve více než 40 jazycích. Nástroj dělá programování pro děti stejně jednoduché jako používání stavebnicových bloků. Grafický jazyk Scratch je používán jako platforma mnoha výukových robotů (například Arduino robot mBot od firmy Makeblock). Umožňuje mladým studentům programování robota souběžně s ovládáním jeho pohybů pomocí práce s přednastavenými bloky kódu.
Programování ve Scratch funguje na jednoduchém principu „drag and drop„. Pro efektivnější zlepšování jejich programovacích dovedností Scratch umožňuje tvůrcům z celého světa sdílet projekty, tutoriály a ostatní zdroje. Tým Media Labu, který Scratch vyvíjí, také vytváří a přidává instruktážní obsah na svou vývojovou platformu.
3. Code.org
Code.org je projekt, který se snaží zpřístupnit výuku informatiky širším masám lidí, zvláště pak ženám a také znevýhodněným skupinám lidí. Poskytuje nástroje pro studenty velkého věkového rozpětí, díky kterým se mohou naučit základy programování a informačních technologií. Projekt poskytuje různé kurzy od úrovně základní školy, až po profesionální kurzy pro instruktory. Studenti zde mohou najít více než 24 milionů tutoriálů k projektům různých druhů, jako např. Minecraft nebo Play Lab.
4. Made with Code by Google
Made with Code má za cíl zdokonalovat mladé studenty, zvláště pak mladé ženy, ve výuce programování. Web používá vizuální programování, každý kurz je relativně krátký a odpovídající zájmům studenta kurzu. Ve výukových videích projektu Made with Code se často vyskytují ženy z různých odvětví a za pomocí jejich inspirativních příběhů se snaží oslovit mladé ženy začínající s kariérou.
5. Khan Academy
Khan Academy je projekt nabízející výuková videa, procvičovací úlohy a personalizovanou studijní nástěnku, která studentům umožňuje učit se vlastním tempem, a to za všech podmínek a okolností. Mezi studijními obory je k dispozici výuka matematiky, přírodních věd, programování, dějepisu, umění, ekonomie a mnoho dalších. Obsah kurzů tvoří odborníci a je překládaný do více než 36 jazyků včetně češtiny. Khan Academy učí studenty mnoho různých předmětů z oboru informačních technologií, např. JavaScript nebo HTML/CSS. Výborné na Khan Academy je také partnerství s institucemi jako NASA nebo MIT. Tyto instituce plní projekt odborným obsahem zaměřeným na cílovou skupinu projektu.
6. Stencyl
Stencyl pomáhá dětem programovat bez zbytečného zatěžování odbornými termíny. Jedná se o nástroj pro vytváření videoher, který umožňuje uživatelům vytvářet 2D videohry pro počítače, mobilní zařízení a web. Stencyl, podobně jako Scratch, je programovací nástroj založený opět na stylu stavebnicových bloků. Jednoduchou hru tak vytvoříte pouhým tažením bloků kódu. Děti díky tomu mohou dobře porozumět, jak programování funguje.
7. Code Monster from Crunchzilla
Code Monster from Crunchzilla je interaktivní webový nástroj pro děti. Webovou stránkou provází interaktivní postavička – „praštěná příšera“ (Goofy Monster). Studenti se drží instrukcí, které jim příšera pomocí textové bubliny říká. Tutoriály doprovázené příšerou jsou nejprve jednoduché, poté se ale dostanou na komplexní úroveň. Studenti kurzu se naučí porozumět JavaScriptu a naučí se v něm programovat na základní úrovni. Kurzy mohou opakovat a ukončit, kdy se jim zachce.
8. CodeCombat
Děti musí programování zaujmout. Proto CodeCombat mění složitější problematiku programování na zábavnou hru. CodeCombat je webová RPG hra, ve které hráči využívají programovací jazyky k tomu, aby vyhráli bitvu. Hráči musí pro postup ve hře používat kód. Web také nabízí individuálně zaměřené kurzy. Hra umožňuje mladým studentům proniknout do základních i pokročilých úrovní programování.
9. Codecademy
Codecademy je online výuková platforma, která nabízí bezplatné výukové kurzy zaměřené na různé programovací jazyky. K dispozici je například Python, Java, JavaScript atd. Součástí je obrovská interaktivní komunita, kde je zapojeno přes 45 milionů studentů. Codecademy může být vhodnější pro pokročilejší studenty, kteří zvládají základní práci s počítačem a mají schopnost lépe porozumět textu. Začátečníci v oboru se ale také mohou postupně naučit základy programování a informačních technologií. K dispozici je jim totiž podrobný strukturovaný průvodce, který se pro ně může stát velkým pomocníkem.
10. Alice
Alice je bezplatný program, který umožňuje dětem vytvářet animace nebo programovat jednoduché 3D hry. Projekty si studenti vytváří pomocí bloků s kódem. Jejich umísťováním se mohou děti naučit základní koncepty programování. Zároveň se rozvíjí i jejich představivost. Projekt poskytuje mnoho tutoriálů a video příkladů prostřednictvím YouTube kanálu. Na webových stránkách Alice jsou k dispozici kurzy, procvičovací úlohy a návody, které vytváří vývojový tým, ale také komunita uživatelů z celého světa. Alice má v plánu stát se široce dostupným nástrojem pro posílení výuky informačních technologií v raném věku.
11. mBlock
MBlock je grafické programovací prostředí založené na Scratch. Tvorba programu probíhá přesouváním funkčních bloků. Software mBlock5 je volně dostupný také v češtině a k dispozici zdarma i pro mobilní zařízení s označením mBlock Blockly. S těmito aplikacemi založenými na Scratch se děti mohou naučit programovat za asistence umělé inteligence. Tyto nástroje jsou navíc kompatibilní s dalším open-source hardwarem a platformami jako například micro:bit. Dětem je tak umožněno vidět funkce vytvořeného programu v reálném fyzickém světě (např. robot vydává zvuky, svítí, pohybuje se apod.) a to děti ještě více motivuje a přirozeně vtahuje do úžasného světa programování pro děti a zábavného tvoření.
Chcete rychle začít používat mBlock5? Podívejte se na tuto ppt prezentaci o rychlém startu v mBlock a 10 hravými úkoly. A pak už vám zbývá jen pořídit si nějakého chytrého robota, ať má to programování šťávu!
Programování pro děti stojí za to
Používáním těchto nástrojů programování pro děti se mohou naše ratolesti naučit hravě programovat. Zároveň si zdokonalí logické myšlení, zlepší schopnosti řešit problémy nebo vidět souvislosti. Nástroje jako Scratch dětem pomáhají navíc propojit jejich dovednosti s kreativitou a praxí. Programování robotů, jako mBot, mBot Ranger, nebo pokročilejšího mBot Ultimate 2.0 pomůže posunout jejich programovací schopnosti na vyšší úroveň a oživit jejich vrozenou kreativitu.
Vždy jsem si říkala, že by bylo zajímavé si zkusit vyrobit vlastní Arduino UNO. Sehnat ale všechny potřebné součástky a vyleptat desku plošných spojů, to mě od tohoto projektu odradilo. Pokud vás možná napadlo to samé, tak teď už nemusíme zoufat! Sny se stávají skutečností! Firma Arduino zrovna představila stavebnici Make Your UNO Kit, kde si Arduino desku člověk nejen spájí vlastníma rukama, ale rovnou použije s dalším kusem vytvořené elektroniky ke stavbě syntetizátoru ke tvoření hudby!
Arduino Make Your UNO Kit – vytvoř si vlastní Arduino!
První Arduino UNO bylo uvedeno na trh již v roce 2005 s jasným cílem umožnit každému realizaci jeho nápadů prostřednictvím jednoduchého hardware a programovacího prostředí.
Od té doby uplynulo mnoho let a technologie postoupily vpřed. Na to počáteční nadšení a tu radost, která přišla s objevením nových možností pro tolik tvůrců, nejde zapomenout, a tak firma Arduino uvedla na trh novou stavebnici Make Your UNO Kit. Stavebnice je takovým přirozeným pokračováním příběhu, který pomůže formovat tvůrce zítřka díky jejich kroku do minulosti, jež přejde v zářnou budoucnost. Někdy je dobré vrátit se v čase a pochopit základy, na kterých pak můžeme dále stavět.
Make Your UNO Kit v plné kráse
Arduino stavebnice nabízí zážitek rovnou 3 v 1! Naučíte se pájet a osazovat součástky, zahrajete si na vytvořený hudební nástroj a to vše vlastníma rukama!
Během práce se stavebnicí se seznámíte s pájením, elektronickými součástkami a budete pájet přímo na plošném spoji. Sestavíte si od úplného začátku vlastní Arduino UNO a každou součástku sami zapájíte. Není to žádná černá skříňka, jsou to ty stejné součástky, které najdeme doma třeba v počítači nebo televizi. Výsledkem práce bude nejen deska Arduino UNO, ale také váš vlastní syntetizátor, který si složíte ještě se spojením s vytvořeným hudebním Shieldem a kartonovým obalem (upcycled), s jehož pomocí můžete tvořit a poslouchat hudbu. Třetím velkým plusem je, že si sestavíte něco vlastního a hodně se na tom naučíte. Na zadní straně Arduina je dokonce místo pro váš podpis a obal syntetizátoru si můžete pomalovat podle svých představ, takže vznikne váš skutečně originální výtvor.
Sada Make Your UNO Kit se hodí jak pro úplné začátečníky ve světě bastlení, kteří mají možnost se zde plno věcí naučit, tak i pro výuku nebo pro pokročilé uživatele. Make Your UNO je totiž kompatibilní se všemi shieldy pro Arduino UNO, což je velkou výhodou.
3D návod na osazování, co se jen tak nevidí
Velkou výhodou je kompletní online průvodce s 3D interaktivními stránkami. Návod je velmi přehledný a provede vás výrobou desky UNO a syntetizátoru pěkně krok za krokem. Make Your UNO Kit se tak nemusí bát složit ani ti úplní začátečníci. Nemějte strach ani pokud jste nikdy předtím nepájeli, vůbec to nevadí, součástí balení je cvičná deska plošných spojů (PCB), na které si můžete vyzkoušet a zdokonalit vaše pájecí dovednosti . Po dokončení desky můžete otestovat její správnou funkci pomocí sondy, kterou si také spájíte. Na tomto měřícím přípravku si alespoň vyzkoušíte, proč musí být být u LED rezistor.
Po trošce učení přichází ta zábavná část. Jedinečnost sady Make Your UNO Kit nespočívá pouze v jejím sestavení, ale také v tom, že na konci procesu skládání budete mít v rukou plně funkční syntetizátor. S ním můžete vytvářet různé melodie podle vlastních představ.
Udržitelnost Make Your UNO
Stavebnice Make Your UNO Kit je také první z řady udržitelných Arduino výrobků. Obal sady, z papíru s certifikací FSC, se pak stane krytem vašeho syntetizátoru. Snaha minimalizovat odpad z této stavebnice Arduino desky vás může inspirovat k použití cvičného plošného spoje, jako klíčenku nebo přívěsek.
Ať už jste začátečník, vášnivý tvůrce nebo zvídavý hudebník, sada Make Your UNO Kit je perfektním dárkem, který vám zaručí 100% zábavu. Určitě člověka potěší, něco nového se s ní naučí nebo zopakuje (obdarování sám/a sebe je povoleno).
Článek jsem zpracovala na základě vlastních zkušeností a také informacích uvedených na Arduino blogu v tomto příspěvku https://blog.arduino.cc/2022/11/03/are-you-ready-to-go-back-to-the-future/.
V minulém povídání o programování mBota2 jsme si představili editor mBlock 5, kterým lze tohoto zajímavého robůtka pro výuku programování programovat. Používání software mBlock 5 je občas poněkud matoucí, jednak vzhledem k pracovitosti týmu z Makeblocku, který jej stvořil a za druhé také vzhledem k všeobjímající koncepci se kterou se mBlock 5 snaží programovat cokoliv robotického projede kolem jeho autorů.
Je třeba také pochopit, že srdcem mBota2 je modul CyberPi, který ovšem také může existovat zcela samostatně bez šasi, které mu propůjčuje náš mBůtek. Proto jsou mezi bloky určenými pro mBota2 namíchané i programovací bloky určené pro ovládání scratchového pandy, který ovšem existuje výlučně ve virtuálním prostředí mBlock 5.
Nás ale zajímá mBot2 a tak se zkusíme prokousat množstvím bloků, které mBlock 5 nabízí.
Událost / Events – start programu
Každý program potřebuje nějaký impuls, něco co dá vědět robůtkovi, že má spustit ten který podprogram. V praxi i ve světě mBota2 je to řešeno formou událostí (pokud máte přepnuto na anglickou verzi tak je to ta skupinka bloků ve složce Events).
Systém práce s těmito bloky je celkem jasný a jednouchý. Tento bloček umísťujeme vždy na začátek programu. Kód který je na něj navěšený se začne provádět v momentě, kdy je daná událost odstartována. Pro užití stačí pouze přečíst popisky na modulech a celkem vám bude jasno. Někdy je ještě třeba událost upřesnit nastavením dalších parametrů v hlavičce.
Události je možné spouštět buď přímo z počítače (první dva bloky), nebo přímo spuštěním modulu CyberPi, nebo manipulací s ovládacími prvky na modulu (další tři bloky).
Jednou z možností je ovládání pomocí vestavěného gyroskopu (bloky 6 – 7 – o tom bych se podrobněji zmínil v dalších kapitolách). Zajímavou možností k využití je také i možnost spuštění události vázané na určitou úroveň osvětlení. Dovedu si představit program, kdy se mBot2 změní v nočního hlídače a režim pro hlídání bylo možné spouštět právě s využitím bloku č. 8.
Poslední tři bloky v seznamu události slouží ke startování podprogramů pomocí komunikace mezi více mBoty, nebo mezi CyberPi a mBotem 2.
Základní bloky určené pro signalizaci a programový výstup
Při programování mBota potřebujeme již od začátku nějakou zpětnou vazbu. Zkrátka na reakcích mBota potřebujeme poznat, že náš program probíhá tak jak má. Pro tento účel jsou hned po ruce příkazové bloky ze skupin Zvuk, LED a Displej ve škále barev od karmínově rudé do fialové (prvé tři skupiny příkazů z vrchu). Použití bločků je vesměs jasné již z popisku bloků a jejich zasazení do rámce programu je dle mého názoru čistě intuitivní záležitostí. Nicméně uvedu pár příkladů jak tyto bloky používat.
Pro začátek si připravte mBota 2 k výkonu. MBot by měl být zapnutý a připojený kabelem k pc. Přes tlačítko nastavení si nastavte spojení s mBotem a přepněte tlačítko varianty spojení na „Živě/Live“. Z bloků událostí si pak vyskládejte na programovací plochu následující sestavu bloků složených z událostí a purpurových bločků ze sekce „Zvuk“.
Program je velmi jednoduchý, ale přesto ho alespoň jednou větou popíši. V programu je demonstrováno, jak spustit určitou aktivitu v závislosti na stisku tlačítka na klávesnici vašeho pc. Samozřejmostí je, že pc musí být buď připojeno k mBotovi kabelem, nebo přes bluetooth adaptér, aby se informace o aktivitě na klávesnici dostala k mozku mBota – CyberPi a mohla se spustit požadovaná reakce na výzvu.
Podobným způsobem je možné vytvořit jednoduché reakce a použít pro ně zobrazovací bloky z dalších dvou kategorií. Takže uvádím příklady a schválně, jestli dokážete odhadnout fungování těchto jednoduchých prográmků již z obrázku.
Oba programy budou na konci článku ke stažení, takže se můžete snadno přesvědčit, jestli jste hádali správně.
Ovládání programu – podmínky, smyčky
Krátce v mém vyprávění o základech programování mBota 2 zmíním ještě o dvou základních programovacích rutinách, které se ostatně používají i ve spoustě dalších aplikacích, či robotech. Těmito rutinami jsou cykly, nebo také smyčky a podmínkové příkazy.
Smyčky – cykly
Smyčky jsou skupinou často používaných příkazů. Slouží pro zadávání opakovaných činností programu ať již ve formě opakování jednotlivých příkazů, či opakování celých skupin příkazů, či bloků. V editoru mblock 5 tyto příkazy naleznete ve skupině bloků „Ovládání„. V této skupině je příkazů více. Lze použít příkaz pro tzv. nekonečnou smyčku – což bude znamenat to, že mBot2 bude provádět bloky vložené do těla smyčky donekonečna. Smyčky mohou být samozřejmě také s přesně stanoveným počtem cyklů, případně s podmínkou, díky které lze chod smyčky za určitých podmínek přerušit, případně spustit. Smyčky lze samozřejmě vkládat jednu do druhé a vytvářet tak komplikovanější programové konstrukce. Příklady použití různých typů smyček naleznete na následující grafice a samotný kód samozřejmě pověsím i za článek.
V programu můžeme pomocí stisku kláves na klávesnici (program je třeba zkoušet v režimu „Živě“) spustit čtyři různé události, které nám spustí čtyři různé podprogramy. Klávesy 1 – 3 nám spustí zvukový signál o počtu pípnutí daném počtem cyklů (klávesy 2 a 3). Klávesou 2 a 3 jsme si tedy vyzkoušeli smyčku s přesným počtem cyklů. Klávesou mezerník naopak spustíme nekonečnou smyčku a mbot2 nám bude nepřetržitě pípat. Pípání můžeme přerušit pomocí stisknutí joysticku (středová pozice) a tím si vyzkoušíme funkci smyčky s podmínkou na začátku.
Podmínkové příkazy
Podmínkové příkazy slouží mBotovi 2 k reakcím na okolí a rozhodování. Pomocí podmínkových příkazů můžeme stanovit reakce programu na stavy, které za jeho chodu nastanou. Pomocí operátorů pak můžeme spouštět reakce na poměrně komplikované stavy. Také podmínkové příkazy podobně, jako předchozí smyčky/cykly nalezneme ve stejné skupině příkazů označené jako „Ovládání„.
Bloky, které můžeme do této skupiny zahrnout jsou vlastně dva. Oba poznáte podle toho, že popiska na bloku začíná slovem „když…“. Jeden z těchto bloků umožňuje pouze jednu reakci na stav kdy je určitá podmínka splněna a druhý umožňuje reakci na stav, kdy je podmínka splněna i na stav když splněna není.
V programu pro demonstraci jak fungují podmínkové příkazy jsem nastavil tři různé reakce na stav joysticku. Vždy v závislosti na stavu joysticku se mění barva LED na mBot2. Všechny tři podmínkové příkazy jsou zasazeny do nekonečné smyčky tak, aby program neustále testoval polohu páčky joysticku a přizpůsoboval svit LED podle programu.
Závěrem…
Řekli jsme si něco o událostech, které spouští akce mBota 2 a také jsem se zmínil o těch nejjednodušších světelných signálech a zvuku. Podrobněji jsme se podívali na nejrůznější bloky ze sekce „Ovládání“ mezi které patří smyčky/cykly a podmínkové příkazy, ale také i příkaz pro ovládání času („Počkej„). Příště bychom si mohli vyzkoušet třeba řízení pohybu mBota 2. Uvidíme…
Před časem se ve Facebookové skupině Učíme informatiku objevil příspěvek od Lucie Zmrzlíkové, která zrovna pracovala na bakalářské práci s mikropočítačem microbit a potřebovala zpětnou vazbu. Úkolem práce bylo vytvořit pracovní listy pro zvládnutí úplných základů práce s micro:bit. Dokument vhodný pro učitele a všechny, kteří s microbitem začínají. A tak vznikly užitečné microbit pracovní listy.
Zdálo se mi velká škoda, aby po odevzdání práce tento skvělý počin zapadl někde ve Facebookové mlze. A tím spíše, když do finálních pracovních listů Lucie zapracovala získané zpětné vazby a další různá vylepšení. V microbit pracovních listech jsou odkazy na 14 videí s podrobnými postupy programování, přibyly řešení jednotlivých úkolů přímo na rozkliknutí v MakeCode a také prostor na poznámky. A to ještě není všechno, celá práce vychází pod licencí Creative Commons CC BY-NC, což nám umožňuje ji nekomerčně šířit, upravovat a vytvářet odvozená díla pro použití ve výuce (podrobnosti viz 2. strana pracovních listů). Na konci článku jsou kromě microbit pracovních listů v pdf k dispozici i zdrojové texty ve Wordu!
Základů o použití microbit prostě není v této době nikdy dost a tak věřím, že tento materiál pomůže mnoha začínajícím uživatelům a nebo usnadní začátky výuky s microbit. Projděte si microbit pracovní listy a pak bude jistě jednoduché pustit se například do tvoření s Nezha Inventor’s kitem pro mladé vynálezce.
A teď už předávám slovo Lucii!
Nedostatek materiálů ve výuce informatiky se stal v poslední dekádě v českém školství rozšířeným fenoménem. Právě na tento problém jsem se zaměřila během mého studia na VŠ, kde jsem v rámci mé závěrečné práce vytvořila didaktický materiál, který slouží jako vzor či inspirace primárně pro pedagogy informatiky na základní škole. Jeho uplatnění lze ale nalézt i mimo školní zařízení.
Jak to všechno vzniklo?
Se změnou rámcového vzdělávacího programu pro základní vzdělávání v oblasti Informačních a komunikačních technologií (nyní se vzdělávací oblast jmenuje Informatika), přišla vlna otázek, jak žáky informatiku ve škole vlastně učit. Jakých pomůcek bude potřeba a jaké nezbytnosti jsou požadovány i ze strany samotných učitelů, aby mohli úspěšně zvládnout zvýšené požadavky na výuku a zároveň aby měli dostatek materiálů pro zprostředkování výuky.
O jeden rok dříve, vznikla nová verze microbitu, která mě přivedla na myšlenku, vytvořit něco nového. Něco co by mohlo učitelům, ale i samotným žákům pomoct. A tak po několika měsících práce vznikla příručka microbit pracovní listy, která se zaměřují na oblast programování prostřednictvím micro:bitu.
A k čemu to vlastně je?
Microbit je skvělým pomocníkem pro začátky s programováním a to ať už jste velcí nebo malý. Není zde potřeba velkých znalostí, abyste jej dokázali ovládat. A nejlepší je, že se s ním dá dokonale bavit a naučit se něčemu novému.
Micro:bit nemusí být pouze záležitostí škol a hodin informatiky. Se zařízením můžete pracovat i doma a rozvíjet tak u svých dětí algoritmické myšlení, ale i kreativitu a zároveň se pobavíte Vy i Vaše děti.
Co vše v příručce najdete?
Microbit pracovní listy jsou součástí ucelené příručky. Listy jsou primárně tvořeny pro učitele a školní prostředí, ale své uplatnění najdou i v pohodlí domova. Listy se zaměřují na výuku programování s microbitem a věnují se pěti oblastem programování a to proměnné, podmínkám, cyklům, funkcím a polím. Každá tato oblast je na listu krátce shrnuta, vysvětlena a doplněna o jednotlivé bloky z editoru MakeCode.
Jestli ještě neznáte editorské prostředí MakeCode, nevadí. Díky listům jej poznáte a to už hned v úvodu, který Vám některé podstatné věci, jako je například simulátor samotného zařízení představí, pro snazší a rychlejší orientaci v editoru. MakeCode podporuje vizuální objektově orientovaný programovací jazyk a můžu tak říci, že je tento jazyk více atraktivní a zajímavější pro děti a to hlavně pro první pokusy při tvorbě kódu.
Bez praktického procvičení by však šlo jenom o teorii, čehož docílit nechceme. Pod každým tématem je tedy několik úloh na procvičení. Těchto úloh je pouze hrstka. Ale postačí pro rychlé opakování nebo jako inspirace a zároveň jako možnost pro toho, kdo by s listy pracoval jako šablona, kterou si může doplnit i o vlastní materiál či obohatit o více úloh.
A co ten QR kód?
Určitě jste se už s QR kódem setkali. Po jeho načtení Vás odkáže na video uložené na webové platformě YouTube. Video se nachází pod každou úlohou a odkrývá tak její řešení a výsledek. Jde ale použít i jako doplněk do výuky pro učitele, který si video zastaví a doplní o vlastní poznámky či připomínky. Nebo jako samostudium pro Vás, Vaše děti, žáky či studenty. Pod každým úkolem je navíc odkaz na řešení udělané přímo v MakeCode editoru, které můžete hned vyzkoušet.
Herní retro konzole představuje dobrý způsob, jak si užít zábavu, ale také se naučit základy programování. V minulém díle jsme si představili jednu takovou retro konzoli pro výuku programování a ukázali jsme si prostředí MakeCode Arcade. V dnešní druhé části budeme tvořit do naší retro konzole vlastní hru! Naprogramujeme si třeba jednoduché šnečí bludiště s blesky, které vás budou neustále pronásledovat až vás zneškodní .
Retro konzole a šnečí bludiště
Bludiště, ze kterého budeme vycházet, najdete pod názvem „Maze“ mezi tutoriály MakeCode. Je to skoro na konci. Tutoriál pro šnečí bludiště vás krok po kroku provede tvorbou programu celé hry. Po jeho ukončení se vám otevře přístup ke všem záložkám a blokům (v tutoriálech jsou v záložkách pro přehlednost jen bloky, které budete potřebovat pro tvorbu hry, tu si poté můžete dotvořit dalšími bloky).
Po dokončení tutoriálu budete mít do vaší retro konzole přichystanou následující hru.
A program bude vypadat nějak takto.
V něm máte nejprve nastavenou podobu a definici vašeho hráče, pohyb do všech stan, nakreslenou mapu, kde se váš hráč pohybuje, poté příkaz, aby se váš sprite objevil na vámi zvoleném bloku. Blok ke sledování vašeho hráče (aby vám neutekl z obrazovky), odpočet času a nakonec, když se váš sprite dotkne vámi zvoleného čtverce, tak vyhrajete.
Můžete si nakreslit svého vlastního hráče nebo si vybrat v galerii ze spousta již nakreslených postav.
Kreslíme vlastní postavu
Jaké by to bylo bludiště, kdyby byla retro konzole bez vlastní postavy. Naštěstí je tady jednoduchý editor pro nakreslení obrázku hráče. Obrázek může vyjadřovat cokoliv. V naší realizaci hry bludiště je to rovnou favicon HWKITCHEN.
Legenda pro nástroje kreslení postavy
Tužka – nástroj pro kreslení hráče (nahoře se pomocí čtverečků mění velikost)
Guma – maže co je třeba (mění se velikost stejně jako u tužky)
Obdélník – k nakreslení obrysu čtverce nebo obdélníku podle vaší představy
Kyblík s barvou – vyplnění velkých prostor barvou
Kruh – k nakreslení kruhu, jak velkého chcete
Šikmá čára – nástroj pro nakreslení čáry do různých směrů, různě dlouhé
Čtverečky s čárkovaným ohraničením – označení celého obrázku nebo jeho části. Označenou část pak můžete přesunout, to se hodí i u animací, nebo také u kopírování označeného obrázku do jiného projektu (ctrl c + v) retro konzole.
Ruka – slouží k rychlému posunování obrázku
Nahoře jsou ikony pro změnu velikosti gumy, štětce a otáčení s obrázkem.
Dole si pak můžete nastavit velikost kreslící plochy, pojmenovat si obrázek, vracet kroky, zmenšovat a zvětšovat svůj výtvor a dokončení (done).
Nahoře ve složce My Assets jsou obrázky použité ve vaší hře.
Tvoření mapy bludiště
Kreslení mapy funguje podobně jako kreslení postav. Z nabídky vybíráte nástroje a pomocí dílků tvoříte mapu bludiště retro konzole. Můžete si vytvořit i vaši vlastní podobu bludiště, když ve složce My Tiles kliknete na plus. Vytvoříte si všechny rohy, části cesty, potřebné dílky a začnete ji postupně sestavovat. Vaše nákresy pak můžete doupravit kliknutím na ikonu tužky s papírem, duplikovat kliknutím na ikonu papírů a nebo kliknutím na koš odstranit. Práce v editoru je dost intuitivní.
Nakonec nezapomeňte vymezit prostor, kde se váš hráč bude v bludišti retro konzole pohybovat. Bloky, které budou tvořit stěny, musíte označit červeně po kliknutí na ikonu zdi.
Pokud vám příklad mapy připomíná plošný spoj, tak to je správně! Bude se nám hodit do následujícího příkladu!
Bastlířské bludiště s LEDkami, odpůrky a blesky
Já jsem si šnečí bludiště samozřejmě upravila a vylepšila. Vytvořila jsem si hru, ve které musíte do konce časového limitu dojít do cíle a v průběhu toho posbírat co nejvíce součástek a ještě se vyhnout všem zákeřným bleskům, které vás celou dobu pronásledují a snaží se vás vyzkratovat. V případě, že vaši postavu zasáhnou všechny blesky nebo nestihnete dojít do cíle do konce časového limitu, tak prohráváte. A nebojte se, ty blesky vás budou pořád sledovat!
Do programu jsem dále nastavila barvu pozadí (nemám v celé mapě dílky mapy), tři životy, skóre na nulu, splash (to je rámeček s vaším textem, který se zobrazí při spuštění hry). Do bludiště jsem přidala nepřítele (zkratovací blesk) a programové bloky pro pronásledování hráče blesky s jejich rychlostí, efekty, zvuky a animací.
Po bludišti jsou rozházené různé součástky, které musíte posbírat. Funguje to tak, že vždy když sprity překryje součástku, tak se změní skóre o 1, spustí se zvuk a na toto místo se nastaví průhledné pozadí a součástka zmizí. Když překryje hráč nepřítele, tak se odstraní efekty, nepřítel se zničí s efektem, zahraje se zvuk a ubere se život.
Nakonec je tady nastavení pro tlačítko B, při jeho zmáčknutí se objeví dialogový rámeček s informacemi ke hře. U rámečku si můžeme nastavit text, jeho barvu i místo zobrazení, ale i rámeček (ten si můžete vytvořit, nebo vybrat z již nakreslených, funguje to jako u kreslení hráčů).
Na pár místech jsem ještě přidala efekty nebo různé zvuky, jsou to jen drobnosti, ale myslím, že to hře dodá větší šťávu.
Hru si můžete vyzkoušet v následujícím simulátoru nebo si ji rovnou nahrát do vaší retro konzole.
Program retro konzole si můžete projít níže a nebo si vytvořit vlastní podobu hry jeho editací.
Další možnosti programu pro retro konzole
Představivosti se meze nekladou. Můžete si vzít kostru hry bludiště a vymyslet si podle vlastních nápadů své originální. Pro ukázku přikládám bludiště, kde se snaží špión získat diamant. To je vylepšeno o náhodné střídání se míst odkud agent začíná svou misi. Je to způsobeno několikanásobným použitím grafického bloku, na kterém se sprite vždy na začátku hry objeví.
Ještě si představíme použití animací, jelikož jsou tady oproti původnímu tutoriálu také navíc. Animaci najdete ve sloupečku s bloky dole ve skupině advanced. Prostředí k animování je opět skoro stejné jako u kreslení postav. Nakreslíte si nebo okopírujete, co chcete animovat a pak jen vpravo v rámečku vašeho obrázku kliknete na duplikovat, zde můžete obrázek i odstranit. Duplikovaný obrázek si posunete a jedete dál, dokud nemáte hotovo. Ubíráte anebo přidáváte postupně bloky, aby to vypadalo, že se váš obrázek pohybuje. Nahoře si můžete pustit, jak vaše animace vypadá. U animace si můžete nastavit její interval a zapnout smyčku pro opakování.
Tip pro programování retro konzole na závěr
K vymazání nebo přesunutí programovacího bloku, který je zrovna někde uprostřed kódu, stačí zároveň zmáčknout ctrl a kliknutím tento programovací blok vyjmout. Nemusíte tak přesouvat celý kód.
Infra dálkový ovladač a tento způsob dálkového ovládání známe jistě všichni ze spotřební elektroniky. Televize, domácí kina, projektory, přehrávače, ale i garážová vrata, klimatizace, brány a další spotřebiče. To všechno často ovládáme pomocí různých dálkových ovladačů. Člověk na tu věc jednoduše ovladačem zamíří, zmáčkne tlačítko a ona udělá, co je třeba. Musí mít samozřejmě v ruce ten správný ovladač, což je zvláště v poslední době trochu problém, protože vlastní ovladač má doslova kde co. Pravděpodobnost, že nám nějaký dálkový ovladač zůstane po vyřazené elektronice na vlastní pokusy, je tedy dost vysoká.
Nakonec cena nového DIY ovladače s příslušenstvím není také závratná. V bastlení můžeme IR dálkový ovladač využít třeba na ovládání microbit robota, hry nebo nějakého projektu. A na to se dnes podíváme! Použití dálkového ovladače je velmi jednoduché a tak to zvládnou i začátečníci. V článku si ukážeme, jak dekódovat signál z dálkového ovladače, který vysílá infra signál s protokolem kódování NEC. Získané zkušenosti pak využijeme pro ovládání robůtka Cutebot. V článku nebudu rozebírat moc teorii kódování signálu, ale budeme se zabývat více praktickými věcmi.
Dálkový ovladač s protokolem NEC
NEC kódování je u dálkových ovladačů velmi běžné. Většina ovladačů, které jsem doma otestoval, vysílala data ve formátu NEC. Testoval jsem 10 ovladačů od spotřební elektroniky pořízené cca za posledních 10 let a pouze z jednoho ovladače nešel signál detekovat. Více o různých typech modulace a kódování pro IR datový přenos se dozvíte zde.
Pro dekódování jsem využil IR přijímač ze sady IR dálkového ovládání a zapojil jsem ho k microbitu na port 16. Přijímač by bylo možné připojit k microbitu i pomocí kablíků s krokodýli, ale přehlednější je to s využitím nějaké rozšiřující desky. Já jsem použil jednouchou desku Senzor:bit. Pro zobrazení kódů jsem využil malinký OLED displej, který je součástí microbit sady pro chytrou domácnost. Data by bylo možné zobrazit samozřejmě i na matici microbitu, ale OLED displej mi umožnil zpracovat vše rychleji. OLED displej stačí píchnou to konektoru s I2C sběrnicí, jako je to na obrázku.
Následující program zjišťuje přítomnost datagramu přijatého z dálkového ovladače. Pokud se objeví, tak ho program zobrazí na OLED displeji. V programu jsem využil rozšíření MakerBit IR Receiver od Keyestudio a SmartHome od Elecfreaks. Následující bloky si můžete rovnou otevřít v makecode. Pokud vůbec nevíte, jak na to, tak mrkněte nejdříve na článek s úvodem do makecode.
Tabulka získaných datagramů pro jednotlivá tlačítka
Postupným testováním tlačítek dálkového ovladače jsem získal následující tabulku. V datagramu se mění vždy jen polední 4 znaky. Podobně by šlo vytvořit tabulku i pro jiný IR dálkový ovladač a pak ho využít ve vlastním projektu.
Klávesa
Datagram
1
0x00FFA25D
2
0x00FF629D
3
0x00FFE21D
4
0x00FF22DD
5
0x00FF02FD
6
0x00FFC23D
7
0x00FFE01F
8
0x00FFA857
9
0x00FF906F
*
0x00FF6897
0
0x00FF9867
#
0x00FFB04F
↑
0x00FF18E7
↓
0x00FF4AB5
→
0x00FF5AA5
←
0x00FF10EF
OK
0x00FF38C7
Dálkové ovládání robůtka Cutebot
A teď se podíváme, jak získaná data využít k ovládání robůtka Cutebot. Jezdící robot Cutebot je ideální pomůcka pro hravou výuku programování, tak k tomuto účelu dobře poslouží. Program je opět velmi jednoduchý. Pro požadované klávesy jsem přidal konkrétní akce robota Cutebot. Směr pohybu se ovládá šipkami, tlačítko OK robota zastaví. Pomocí * si zapnu přední světlomety a pomocí # je vzpnu. Takto by šlo naprogramovat různé funkce pro každé tlačítko. Robot Cutebot má vlastní IR přijímač připojený na pinu 16, tak už nemusím nic připojovat. Pokud budete program tvořit sami, nezapomeňte nejprve nainstalovat rozšíření Cutebot.
To bylo jednoduché, co dál?
Možností využití IR dálkového ovladače je nespočet. Ať už bude váš projekt mini vozítko s microbitem nebo automatické zapnutí klimatizace podle teploty u vašeho pracovního stolu, určitě to bude stát za to a člověk se na tom naučí nové věci. Pokud budete chtít vyzkoušet IR ovládání s Arduinem, pak se podívejte na návod pro bezdrátové ovládání pomocí IR ovladače. Zajímavý je také projekt Arduino překladač signálů z TV.
V předchozím článku o robůtkovi mBot2 jsme si ukázali základní práci s modulem CyberPi. V tomto díle si povíme něco o tom, jak můžeme v editoru mBlock 5 naprogramovat robůtkovi mBot2 pohyb. Jak můžeme pracovat s vymožeností zvanou encoder a co vše nám mBlock 5 umožní.
Pokud budete mít to štěstí (nebo dobrý nápad) pořídit svým dětem robota mBota2 (nebo v případě pedagogů zařadit tyto robůtky do výuky „nové informatiky“), velmi brzy zjistíte, že oproti klasickému mBotovi vám tato verze umožňuje mnohem větší možnosti co se týká pohybu mBota. A pokud zde píši „mnohem větší možnosti“, nemyslím tím větší rychlost – v tomto směru je s mBot2 s klasickým mBotem víceméně na stejno. Myslím tím zejména řádově mnohem větší přesnost pohybu, která umožnila programátorům editoru mBlock5 zařadit do knihovny pro pohyb příkazové bloky, které by v případě předchozí verze postrádaly smysl.
Rozdíly v motorové vybavenosti obou verzí mBotů
Obě řady jsou vybaveny podobnými motorky, rozdíl tak spočívá hlavně v konstrukci převodovky. U první verze jsou převodová kolečka z plastu a celá konstrukce převodové soustavy slouží hlavně pro snížení otáček pro hnaná kolesa. Vzhledem k poměrně měkkému plastu, který je pro převod použitý, je kvalita pohybu mBota první verze značně nepřesná. A nepřesnosti se v průběhu delšího a intenzivnějšího používání zvyšují. O přesném pohybu si u této verze můžeme nechat jenom zdát.
U druhé verze je převodové soustrojí daleko kvalitnější a hlavně vyrobené z kovu. Již použité materiály na samotnou konstrukci soustavy tedy zvyšují kvalitu a přesnost pohybu. Motorová soustava mBotu2 je navíc ještě vybavená enkodéry, které umožňují mBotu2 zpětnou vazbu na chod motorků. Mbot2 má tedy informaci o aktuálních otáčkách motorků a z těchto dat může odvodit informace o rychlosti a dráze pohybu mBota2. Enkodéry jsou pro přesný pohyb klíčové. Pomocí průběžné změny otáček (dle informací z enkodérů) pak může mBot2 provádět korekce aktuálního pohybu vzhledem k hodnotám, které jsou zadané v programu. Výsledkem je spolehlivě řiditelný a hlavně přesný pohyb mBota2.
Rozdíly ve způsobu řízení obou verzí mBotů
Způsob řízení pohybu prvé verze mBota je možné si podrobněji přečíst ve starších článcích na těchto stránkách. Zkráceně – řízení se dalo ovládat pomocí dvou hlavních parametrů – výkon motorku (0-255) a času po který motorky o naprogramovaném výkonu pracovaly. Další možností pohybu pak byla možnost změny směru otáček, díky které mohla první verze manévrovat. Přesnější manévrování tedy obnášelo nějaké to testovaní předem (každý mBot měl jinak fungující motorovou soustavu) a poté co programátor zjistil přesné hodnoty pro dráhu v závislosti na čase bylo ještě třeba si spočítat čas pro chod motorků, aby mBot ujel přesně požadovanou dráhu.
MBot2 je možné díky enkodérům řídit mnohem sofistikovaněji a s daleko menší námahou. Díky tomu je s ním také mnohem méně práce (a díky tomu také s ním děti mnohem raději pracují). Programové bloky, které editor mBlock 5 používaný pro programování mBota2 nabízí, umožňují řídit robota více způsoby, včetně zadávání přesného úhlu otáčení, nebo možnosti zadat přesnou vzdálenost pro ujetí požadované dráhy. Můžeme přesně řídit otáčky u obou motorků nezávisle na sobě a enkodéry obou motorů mohou také vracet nejenom přesné hodnoty aktuálních otáček motorků, ale také úhel natočení kola (čímž se mimochodem mBot2 vyrovnal stejné schopnosti robotických sad řady LEGO Mindstorm EV3).
Řízení pohybu mBota2 pomocí programu v mBlock5
MBot2 má oproti starší verzi i programově mnohem více možností, jak ovládat svůj pohyb. Z této skutečnosti také vyplývá větší počet příkazových bloků, které můžeme při sestavování programu využít. Při testování s dětmi (zejména s mladšími) se jevil jako hlavní problém, že knihovna, která je pro pohyb využita, dosud není přeložena do češtiny. Dalším problémem je, že knihovna pro pohyb není přímou součástí editoru mBlock5 a tudíž tyto příkazové bloky (z mého pohledu poněkud nepochopitelně) nejsou na první ráně, když se podíváte do rejstříku příkazových bloků. Knihovnu je třeba pro každý projekt zvlášť doinstalovat jako nové rozšíření. Jakmile si ale na tuto logiku zvyknete, vše už dál běží jako po drátkách.
Změn v příkazových blocích si lze povšimnout již u prvého příkazového bloku jehož logika vlastně odpovídá systému řízení pohybu pro mBota starší verze. Ve starší verzi bylo nutné pro pohyb zadávat bloky pro pohyb a časový interval nutný pro ujetí stanovené dráhy. Nová verze má již tyto bloky integrované do jednoho příkazu. Programátor tak zadává klasickou škálu pro pohyb, vpřed, vzad, doleva a doprava. Místo zadávání parametru pro výkon motoru (dříve 0-255) se v nové verzi zadávají přímo požadované otáčky motorku (RPM) (nyní 0-200). Vše doplněno ještě parametrem pro požadovaný čas pro daný pohyb.
Pomyslnou třešničkou na dortu je pak možnost zadávání příkazů pro ujetí přesné dráhy v centimetrech. MBot2 se umí otočit i přesně o zadaný úhel ve stupních. Pro školy se tak otevírá velmi zajímavá možnost výuky geometrie spojené s informatikou. Ve svých kroužcích dětem často zadávám požadavky pro ujetí dráhy v podobě geometrických útvarů, nutí je to uvědomit si vlastnosti daných tvarů například vnitřní úhly.
Garantovaná přesnost pohybu obou verzí mBota
Parametr
mBot2
mBot
rychlost otáčení kol
1-200 RPM
47-118 RPM ±10 %
přesnost při otáčení
±5°
není uvedeno
minimální pohyb při otáčení
1°
není uvedeno
Zatímco u předchozí skupiny blokových příkazů bylo v knihovně pro tuto skupinu příkazů přesně definovaná funkčnost a programátor pouze měnil parametry, další skupina pohybových příkazů definuje pohyb nepřímo pomocí pomocí bloků pro chod jednotlivých motorků. Výsledná funkce je pak kombinací příkazů pro oba motorky.
V těchto příkazových blocích (viz. obrázek) je možné pomocí nastavení otáček řídit otáčení obou koles mBota (samostatně) a podobně jako u předchozí skupiny příkazů je pak možné jako další parametr zadávat i čas po který bude prováděna požadovaná činnost. Zajímavou možností, která se dá využít, je blok pro zadání otočky kola o předem definovaný úhel.
Otáčky obou motorků lze samostatně měnit i jedním jediným blokem (viz. předchozí obrázek – třetí a čtvrtý programový blok). Pro zadávání parametrů do těchto dvou bloků platí jisté specifikum, vyplývající z konstrukce mBota2.
V šasi mBota2 jsou totiž oba motorky uloženy proti sobě (viz. předchozí obr.). Pokud jim tedy chceme dát příkaz jejímž výsledkem by měl být pohyb mBota2 vpřed, nebo vzad je třeba parametr otáček v příkazu zadávat pro pravé koleso vždy se záporným znaménkem tak, aby výsledné otáčky probíhaly ve shodném směru.
Posledním příkazem v této skupině bloků je příkaz, který zastaví chod buď obou motorků, nebo pouze motorku, který si zvolí programátor.
Pomocí enkodérů můžeme dostávat výstupní data z motorků, která můžeme nejenom využít pro další řízení pohybu mBota, ale také je třeba zobrazit na displeji. Bloky pro tyto proměnné není třeba složitě definovat. Jsou k dispozici jako systémové bloky a poznáte je podle kulatých okrajů. Je s nimi možno také zcela plnohodnotně dále pracovat jako s proměnnými při konstruování podmínkových, nebo cyklických příkazů. Tato možnost nabízí programátorovi další možnosti ve využití enkodérů, jako je třeba použití kolesa a motorku jako regulačního prvku.
Poslední dva bloky ve skupině příkazů pro řízení chodu motorů pomocí enkodérů jsou určeny pro pokročilejší programátory. Umožňují například programově resetovat naměřené hodnoty úhlu.
Příklady použití pohybových bloků
Na následující grafice vám popíši způsob efektivního zacházení s programovými bloky které řídí pohyb mBota2. Vše v základní rovině, ale pro pochopení a použití to myslím stačí. Na konci článku jsou všechny tři popisované programy volně ke stažení.
Program „klikatice_1“
Příkazům za událostí „když se CyberPi spustí“ si nevšímejte. Je to pouze dvojjazyčný návod jak spustit celý program. Po stisku tlačítka A (na mBotovi) robůtek vychovaně sekundu počká, aby z něj programátor mohl sundat ruku. Jeho úkolem je dále ujet jistou dráhu klikatým způsobem pohybu. Otočí se tedy do dráhy dalšího pohybu, načež se spustí smyčka ve které mBot2 šestkrát popojede o 20 cm a šestkrát se otočí o úhel devadesáti stupňů, přičemž otáčení střídá na jednu a na druhou stranu.
Když je pohybová smyčka u konce, mBot2 zahraje tón a vypne motůrky, aby zbytečně nevyčerpával baterku. Celý program je ukázkou možností programování pohybu mBota2 pomocí bloků, které přesně definují úhel a požadovanou vzdálenost, kterou má robot ujet. V praxi je také velmi doporučováno sdružování opakovaných pohybů do smyček – významně se tak zkracuje délka programu, zvyšuje jeho přehlednost a zmenšuje velikost souboru programu.
Program „klikatice_2“
Program „klikatice 2“ funguje víceméně stejně, jako předchozí varianta. Změna je pouze v příkazech pro pohyb, kde byl tentokrát použit příkaz pro regulování otáček motorků. Hodnoty pro pravý motorek jsou zadávány se záporným znaménkem (obrácené uložení motorku v šasi mBota2). Jeden motorek jede vždy s polovičními otáčkami druhého motorku. Díky tomu pak celý mBot provádí elegantní půloblouky, které střídá.
Program „osmička“
V programu „osmička“ jsem chtěl demonstrovat možnost použití vlastních bloků – podprogramů. Začal jsem vytvořením proměnné „time to drive“ – čas pro pohyb do které jsem vložil hodnotu 2.1. K této hodnotě jsem dospěl pokusy a je možné, že u vašeho mBota2 a na jiném povrchu bude tato hodnota jiná – takže si ji měňte dle vlastních podmínek. Výhodou takto použité proměnné je to, že změníte-li její hodnotu v začátku programu, nemusíte jí měnit na dalších místech.
Dále jsem definoval dva vlastní bloky, které jsem pojmenoval (snad mě angličtináři nezabijí) jako quarter curve 90 a -90. Tyto bloky mají za úkol ujet s mBotem čtvrt obloukovou dráhu doleva, nebo doprava. Oba tyto bloky jsem dále vzal jako kostky lega a poskládal si z nich celkový pohyb jehož dráha by se měla tvářit jako že je do osmičky. Pokud bylo třeba tyto příkazy opakovat – vložil jsem je do smyček. Podobným způsobem se dají naprogramovat i složitější pohybové sekvence.
Vývojové prostředí MakeCode je denní chleba pro všechny, co pracují s microbitem. To znamená každé i malé vylepšení se hodí a už jich tady v minulosti pár bylo.
Společnost Microsoft nyní oznámila řadu nových funkcí a zajímavých změn v nově vydané aktualizaci programovacího prostředí Microsoft MakeCode! Nový release 2023 přináší nová vylepšení, funkcionality a také design. Pojďme se na všechno blíže podívat!
Nová úvodní prohlídka
Tuto doposud chybějící funkci mělo na srdci mnoho uživatelů MakeCode, kteří se zabývají výukou programování. Prosby a dotazy ohledně „Getting Started Tour“ sahají až do roku 2017! Proto nyní můžeme tancovat v křesle a konečně vidět tuto novou funkcionalitu i v MakeCode. Úvodní prohlídka pro nové uživatele je součástí mnoha produktů, jelikož je užitečná pro pochopení souvislostí a k orientaci v uživatelském rozhraní.
Mnoho studentů ale podobné prohlídky hned zavrhne, proto Microsoft vývojáři udělali novou prohlídku MakeCode více atraktivní. Úvodní seznámení je hravé a dostatečně krátké, tak výsledek stojí za to! Prohlídka se uživatelům automaticky spustí při vytvoření jejich úplně prvního projektu, nebo se k ní mohou dostat z editoru projektu kliknutím na „?“ a „Tour“.
Konečně pořádné přihlašování!
Jednou ze skvělých vlastností MakeCode je jeho velká přístupnost a že se do něj dostanete pomocí jednoho kliknutí – one-click-to-code (dobře, tak 2 kliknutí). Tvůrci chtěli prostředí ponechat otevřené a přístupné, avšak od mnohých pedagogů dostali zpětnou vazbu o tom, že sledování studentských projektů – hlavně na sdílených počítačích, může být komplikované. Proto přidali možnost přihlásit se pomocí Microsoft nebo Google účtu.
Tím se vaše projekty uloží do cloudu – budete k nim mít přístup z libovolného počítače a zároveň budou odděleny od projektů uložených v lokální paměti prohlížeče. Přihlášení není povinné, ale pokud to uděláte, budete mít navíc jistotu, že vaše projekty jsou v cloudu v bezpečí. Povšimněte se prosím, že společnost Microsoft bere ochranu osobních údajů a dat studentů velmi vážně. Pokud máte ohledně tohoto jakékoliv dotazy, přečtěte si zásady ochrany osobních údajů společnosti Microsoft nebo FAQ k ochraně osobních údajů v prostředí MakeCode.
Trvalé odkazy pro sdílení
Další výhodou přihlašování je možnost vytvářet trvalé odkazy na sdílení vašich projektů. To znamená, že můžete vytvořit pro projekt jeden odkaz, pak jej zveřejnit například pro své studenty, zařadit do učebních osnov nebo prostě jen nasdílet kamarádům, a poté už pro všechny pozdější změny projektu nebudete potřebovat odkaz nijak měnit. Tato funkce je opravdu velkou výhodou i v případech, kdy pracujete na programu ve více lidech, jelikož nemusíte pořád měnit odkaz a ponechat jeden link po celou dobu vytváření vašeho projektu.
Všimněte si, že tyto odkazy vypadají trochu jinak než běžné odkazy na sdílení – všechny začínají písmenem „S“.
Okna sdílení totiž celkově mají malinko jinou podobu. Je zde také přidáno několik nových funkcí. Existuje více míst, kam můžete sdílet – včetně Microsoft Teams, Google Classroom, WhatsApp a dalších. Můžete také vytvořit snímek obrazovky nebo GIF animaci svého projektu, kterou (které?) můžete sdílet výběrem možnosti „Aktualizovat miniaturu projektu“ (Update project thumbnail).
Velepšený download
Stále zajímavá je také nová technologie prohlížeče, která umožňuje spárovat zařízení USB s oknem prohlížeče – nazývá se „WebUSB“ a je podporována prohlížeči Chrome a Edge. Doby přetahování souborů jsou pryč! Pokud používáte prohlížeč Chrome nebo Edge, při prvním kliknutí na tlačítko Stáhnout (Download) si můžete všimnout trochu jiného průběhu. Když svůj micro:bit spárujete kliknutím na tlačítko Stáhnout (Download), váš projekt se automaticky stáhne přímo do micro:bitu!
Vychytávky v tutoriálech
Mírně je změněno rozvržení výukových tutoriálů, aby orientace v jednotlivých krocích byla snazší. Můžete také měnit velikost okna výukového programu, aby lépe odpovídalo velikosti obrazovky. Programátoři dostali zpětnou vazbu, že někdy bylo těžké určit, jaký blok použít. Nyní tedy můžete kliknutím na barevné názvy bloků v návodu otevřít umístění bloku ve složce nástrojů. Jsou podporovány také obrázky, ikony a videa vložená do návodů.
Validace kódu
Opatrně jsou přidávány do MakeCode další validační pravidla a možnosti automatické kontroly. Jednou z prvních věcí, jsou jednoduchá pravidla pro detekci bloků, jako kontrola správnosti mezi jednotlivými kroky výukového tutoriálu. To pomáhá poskytnout studentům okamžitou zpětnou vazbu, pokud v jejich kódu něco chybí.
Nové rozšíření pro záznam a přehrávání zvuku
V nabídce rozšíření je k dispozici nové rozšíření s názvem „audio-recording“, které umožňuje nahrávat krátké zvukové úseky a přehrávat je. Toto rozšíření bude fungovat pouze na micro:bitu v2.
Následující program využívá základní funkce nového audio rozšíření. Tlačítko A odstartuje záznam zvuku a tlačítko B pak uložený zvuk přehraje. Zajímavé může být nastavení „Sample rate“, kterým nastavujeme vzorkovací frekvenci. Snadno se dá ověřit, že čím vyšší je vzorkovací frekvence, tím lepší je kvalita záznamu, ale zaznamená se méně dat. Můžeme si odzkoušet Shannonův vzorkovací teorém v praxi.
Nové funkce pro záznam a přehrávání zvuku jsou opravdu zajímavé a tak si dáme ještě jeden příklad kódu. Microbit si tady zahraje na papouška, který zopakuje všechno, co mu řeknete.
Pořádek v kategorii Music
Můžete si všimnout drobných změn v blocích kategorie Hudba. Bylo provedeno pár úprav, aby bloky API byly čisté a standardizované tak a aby všechny používaly terminologii „Play“ s vlastností režimu přehrávání (dokud není hotovo, na pozadí nebo ve smyčce).
Vývojáři přidali také blok „Sound is Playing“, který pomáhá rozlišit zvuky vycházející z micro:bitu a z prostředí.
Užijte si nový release MakeCode 2023!
Organizace microbit děkuje všem, kteří v průběhu roku zaznamenávali chyby, překládali a navrhovali nové funkce! Jakékoli nové chyby, které najdete v této verzi, prosím, logujte na GitHubu.
Jakékoli další komentáře, návrhy a zpětnou vazbu prosím sdělte v komunitě micro:bit na Slacku nebo na fóru MakeCode. Můžete dát také vědět, co si o letošních aktualizacích myslíte, na Twitteru @MSMakeCode.
Doba, kdy jsme mohli na platformě microbit využít jen základní desku a připojit k ní pár součástek, je už dávno pryč. Nyní tady máme desítky a spíše i stovky různých příslušenství, rozšiřujících modulů, stavebnic, hravých robotů a dalších vychytávek, které s microbitem fungují. Se všemi těmi věcičkami můžeme tvořit projekty, stavět roboty, bastlit a u toho se hravě učit programovat. A to je moc dobře, protože tak z microbitu vymáčkneme úplné maximum. Všechno to má ale jednu nevýhodu: Kdo se v tom všem má vyznat?
V článku si projdeme zajímavé stavebnice, roboty, chytré hračky a microbit příslušenství vhodné pro výuku a použití doma. Ukážeme si, jak a s čím microbit prakticky využít a sami uvidíte, že po osvojení pár zákonitostí do sebe bude vše pěkně zapadat. Když člověk překoná tu prvotní mlhu tvořenou velkou rozmanitostí všeho pro microbit, tak záhy zjistí, že ty věci vycházejí ze stejného základu a znalostí, které lze opakovaně při práci s microbit využít. Jak by také ne, když jádro pudla tvoří vždycky microbit. Po prostudování článku byste měli mít lepší představu, které stavebnice, příslušenství nebo produkty se hodí do vaší výuky nebo tvoření s microbitem. V článku budeme uvažovat použití pro základní školy (I. a II. stupeň 6–11, 11–15 let), střední školy (SŠ 15–19 let) a také použití doma (s rodiči, dědou nebo babičkou).
Osobně mi přijde vhodnější rozebrat celou problematiku produktů pro microbit, abychom si ozřejmili co hraje při výběru roli, než zařazovat děti podle věku k různým stavebnicím. Způsob a úroveň výuky se na různých školách liší, stejně tak to platí pro použití doma. Úplně jinak jde třeba výuka, když to děti baví a někdo je při poznávání nových věcí vede. Stavebnice a roboti se navíc dají použít s jinak starými dětmi jiným způsobem, aby to náročností a zábavou odpovídalo a tak nějaké řazení robotů do tabulek prostě nedokážu.
Microbit na hraní nebo do výuky?
Platforma micro:bit je určena primárně pro děti základních a středních škol, dobře ale poslouží i pokročilejším uživatelům nebo dětem na hraní. Hodí se microbit tedy na hraní nebo na výuku? Dobrá zpráva je, že microbit zvládá bravurně obě tyto aktivity, protože je umí skvěle propojit! Pro práci s microbitem nejsou potřeba žádné znalosti programování nebo elektroniky. Začít může uživatel, který zvládne základní práci na počítači a rozumí jazyku. To znamená, že dnes i překvapivě malé děti.
Jak na to, aby to děti s microbit zvládly a bavilo je to?
Při použití platformy microbit ve výuce vnímám pro výběr vhodných produktů dvě důležitá kritéria. Je potřeba si stanovit, jaké dovednosti (zručnost, pečlivost, pozornost, znalost základů elektroniky atd.) a vlastní motivaci (chtít z vlastního přesvědčení na té věci dělat) mohu u uživatelů očekávat. Jinými slovy musím si uvědomit, jaké nároky bude klást nasazení určité stavebnice nebo robota na jejich uživatele a jakou dávku hravosti potřebuji do výuky vložit, aby to děti bavilo. To znamená na I.–II. stupni využiji hlavně roboty a stavebnice, kde není potřeba řešit až tak moc elektroniku (elektronika je zapouzdřená, konektory se zapojují podle barev a nelze je zapojit špatně, zajištění konektorů západkou atd.) a věci pro microbit jsou hodně zábavné (jezdící, chodící roboti, projekty vydávají zvuky, světla, hýbající se atd.). Jako stavební kámen robotů a projektů se zde využívají například kostky kompatibilní s LEGO®, které děti dobře znají a práce s nimi je už zábava sama o sobě. Takové věci pro microbit zaujmou i mladší děti a umožní jim rychle a hravě vplout do světa programování. Naopak pro starší dětí II. stupeň a SŠ využiji stavebnice nebo roboty, kde je již potřeba zvládat určité dovednosti, jako je správné zapojení konektorů (napájení, signál) a práci s odkrytou elektronikou. Motivace v tomto případě plyne ze správného zapojení potřebné elektroniky, funkčnosti programu nebo zdařilé konstrukce projektu (DIY tvoření, laserové řezání a gravírování nebo 3D tisk).
Microbit jako rostoucí platforma
Ještě, než se podíváme na věcičky pro microbit, mám tady jednu důležitou vlastnost platformy microbit. Velká výhoda microbitu je to, že je to jak já říkám, rostoucí platforma. Nemyslím tím, že by snad někam rostla, ale něco jako rostoucí židle, která pasuje dítěti skvěle v každém věku.
Jen si to představte. Dítě si začne hrát s robůtkem, který po vybalení z krabice sám dokáže jezdit po čáře a zastavit před překážkou. Převážení kostek LEGO® robotem co sleduje čáru je zábava. Dítě zjišťuje, že takový robot je celkem fajn a baví ho to. Potom dítě objeví, že se do robůtka dá vložit chytrá destička microbit a zkusí si naprogramovat chování robota podle sebe. Programování se odehrává v blocích, kde stačí opravdu málo a už to něco dělá. Jakákoliv podpora snažení dítěte od rodičů nebo vyučujících je zde samozřejmě velmi žádoucí a někdy nezbytná, jak je dítě menší (vložit baterie, vytvořit první program apod.). Dítě roste, postupně zvládá robota programovat čím dál více. Vyzkouší naprogramovat různé příklady a robota konstrukčně doplní o pořádnou LEGO® nadstavbu. A už by se pomalu mohlo zdát, že není kam pokračovat. Tady ale cesta teprve začíná . Robůtek má vzadu konektory, do kterých se dají připojit různé rozšiřující moduly. A dítě vytvoří z robota zařízení pro automatické zalévání rostlin a jednoduchou meteostanici a hraní pokračuje dále. Postupně připojuje další moduly a tvoří nejrůznější projekty. Jak dítě tvoří rozsáhlejší programy, začne se mu blokové programování na bázi Scratch jevit jako méně přehledné. Přepne se tedy do jazyka MicroPython (to je supr!) a osvojí si práci s robotem a periferiemi z příkazové řádky, kde využije znalosti algoritmů získané z blokového přístupu. Tvoří podobné věci, jako předtím, jen už trochu povyrostlo, tak může použít pokročilejší nástroje. S MicroPython dítě zjistí, že se mu otevírají s microbit nové skvělé možnosti. Při tvoření řeší dítě také, jak vyrobit funkční modely projektů a všechny ty držáky a pohyblivé mechanizmy. Bude potřeba pracovat také „rukama“ (všem dětem doporučuji vyzkoušet, nedělám si legraci a nemyslím to ve zlém ). Šroubovák, pilka nebo kladívko. Velmi se hodí s podobnými nástroji umět pracovat. Pak využije třeba i laserové řezání/gravírování nebo 3D tisk a tvoření dostane teprve pořádnou šťávu. Tyto možnosti mu otevřou nový prostor pro komplexnější projekty s využitím další rozšiřující elektroniky. MicroPython už má pomalu zvládnutý a tak se přepne dále do jazyka Java Script (stále s microbitem) a naučí se platformu využívat opět v jiné rovině. Tady už se náš příběh transformuje postupně do využití zkušeností nabytých s microbitem v praxi, protože takoví lidé se už většinou nějaké té opravdové práci nakonec neubrání, protože mají cenné znalosti a zkušenosti, které umí použít v praxi. Například programovací jazyk microPython je jeden z nejpopulárnějších programovacích jazyků, který může mladý člověk využít již v pracovním nasazení. Pro zajímavost, na začátku toho příběhu stál robůtek TPBot a třeba nějaký šikula, který měl štěstí a dostal se ve správný čas k dobrým věcem.
Osobně se rád naučím cokoliv nového, ale nerad dělám věci vědomě zbytečně, asi jako každý. Slovo zbytečně se naštěstí s platformou microbit úplně vytrácí, protože každá nabitá znalost a zkušenost se využije dále až po pracovní proces. To platí také o všech microbit stavebnicích a elektronice, které nakonec mohou skončit jako profesionální projekt například na řízení vytápění v domě nebo se s nimi dá udělat funkční model projektu ještě před detailnější realizací řešení elektroniky/mechaniky apod. Microbit je prostě rostoucí platforma, to jsem potřeboval vysvětlit.
Stavebnice, roboti, psi a další :bity od Elecfreaks!
Na trhu je velké množství produktů pro microbit a samozřejmě i firem, které za nimi stojí. Já jsem si pro microbit oblíbil mezi všemi ostatními značku Elecfreaks. Firma Elecfreaks má pěkně promyšlenou a ucelenou nabídku microbit produktů, ke kterým zajišťuje užitečnou podporu (obsáhlé návody k použití a hlavně hotové příklady). Elecfreaks uvádí do škol stabilní produkty, které nejsou na trhu jen aby se ohřály, ale aby tady byly řadu let s plnou podporou. Pokud se stane, že nějaký produkt končí z důvodu například nedostupnosti součástek, tak Elecfreaks přináší náhradní produkt, který může člověk použít. Zachování maximální kompatibility nových verzí všech produktů má také vysokou prioritu. Se staršími produkty může člověk dělat stejnou parádu, jako s novými. Samozřejmě někdy se stane, že některý produkt opravdu vypadne, ale je to jen výjimečně. Jsem přesvědčený, že takovýto přístup je pro použití ve škole a výuce velmi důležitý, protože nasazení do výuky potřebuje čas na zapracování a také se počítá s delším nasazením. Škola nasadí například v prvním roce roboty a až v dalším rozšiřující moduly. Použití produktů ve výuce má také svá zvláštní specifika odlišná od použití například doma. Některé stavebnice tak mají vlastní organizér pro snadné a rychlé uložení součástí, aby se ve výuce neztrácel drahocenný čas. Skvělá je také kompatibilita produktů napříč celou platformou Elecfreaks. Pokaždé tady je nějaká redukce nebo destička, která dokáže spojit třeba protilehlá řešení elektroniky (pro nejmladší a nejstarší děti) v robotech a stavebnicích.
Vše se točí kolem Octopus a PlanetX
A teď už se do všech věcí pro microbit po hlavě vrháme, ale je tu ještě jedno důležité rozdělení, které nám při budoucí orientaci v produktech hodně pomůže. Většina stavebnic a robotů Elecfreaks pracuje buď s moduly Octopus nebo PlanetX. Jaký je mezi nimi rozdíl? Elektrické schéma je skoro stejné!
Elektronické moduly Octopus
Octopuspřestavují malé elektronické moduly, které mají vždy určitou funkci. Může to být snímač osvětlení, mini větráček, snímač pohybu, mp3 přehrávač nebo skoro co vás napadne. Na jejich plošném spoji rozpoznáme jednotlivé součástky a k rozšiřujícím deskám se zapojují přiloženým kablíkem s oddělenými vodiči. Při zapojování jednotlivých signálů je třeba respektovat základní pravidla pro zapojování obvodů. Vždy musíme zapojit správně konektor se dvěma vodiči pro napájení a jedním pro signál. Moduly Octopus mají montážní otvory a někdy pasují i do LEGO. Většinou ale tyto otvory poslouží pro upevnění pomocí plastových nýtů nebo šroubků na funkční model z kartonu, 3D tisku nebo překližky. Stavebnice založené na modulech Octopus vyžadují jisté dovednosti a tak se dobře hodí pro výuku na SŠ nebo i II. stupni. Jsou také vhodné na domácí bastlení, kde umožňují bez problému měřit i vnitřní signály a dávají velký prostor pro vlastní realizaci mechanické části projektu.
Elektronické moduly PlanetX
Moduly PlanetX jsou co se týče elektronického zapojení totožné s moduly Octopus. Celá elektronika je ale zapouzdřená z části v plastových krytech modulu, které také obsahují otvory pro nasazení na LEGO® kostky. Oproti modulům PlanetX mají konektory RJ, do kterých se zapojuje kablík podobný tomu, kterým se připojujeme například k routeru. Při zapojování není potřeba řešit jednotlivé signály a orientujeme se podle barev zásuvek pro připojení RJ kablíků. Velkou výhodou modulů PlanetX je jejich velmi snadné zapojení a také možnost uchytit moduly v systému LEGO®. Součástí všech modulů je také potřebný kablík. Stavebnice a roboti pro systém PlanetX se hodí díky své jednoduchosti, hravosti a kompatibilitě s LEGO® primárně pro děti na II. stupni. Pokud se ale při výuce chceme zaměřit hlavně na programování, tak dobře poslouží i na SŠ, protože sestavování funkčních modelů je s PlanetX velmi rychlé.
Pokud potřebujeme připojit modul PlanetX na systém Octopus, pak jednoduše použijeme redukci.
Microbit vozítka a chytré hračky
Hravý robůtek TpBot
TPBot je programovatelný jezdící robůtek určený pro zvídavé děti! Hned po rozbalení funguje jako hračka, která nepotřebuje ani desku microbit. Dokáže jezdit po čáře, detekovat překážky a ještě na vás barevně koukat! Po vložení microbit se promění ve výukového robota! S robůtkem TPBot pak můžete vytvářet různé projekty – vzadu jsou konektory pro moduly PlanetX. TPBot je kompatibilní s kostkami LEGO® a ze všech produktů ELECFREAKS se hodí pro nejmenší děti a také pro výuku úplných základů programování dokonce na I. stupni. Na II. stupni už mohou žáci robota TPBot využít naplno a připojit k němu další moduly PlanetX. Robota TPBot, jako všechny microbit roboty a projekty, můžete bezdrátově ovládat pomocí gamepad modulu.
Závodní auto Cutebot
Cutebot je chytré závodní auto, které vás překvapí svou rychlostí a tím co všechno dovede. Pokud ho přece jen dohoníte, pak na vás bude troubit, svítit a nebo vám ukáže, jak se umí vyhýbat překážkám nebo jezdit po čáře! K dispozici jsou jako u všech produktů ELECFREAKS hravé projekty pro zábavu a výuku programování. Do výuky si Cutebot můžete doplnit třeba battery packem, se kterým se pak Cutebot dá nabíjet podobně jako mobil. Nebo chytrou kamerou, která posune schopnosti autíčka na úplně jinou úroveň. Do Cutebota stačí dát baterie, vložit microbit a už můžete začít programovat. Proto se hodí na hravou výuku programování na II. stupni a SŠ. Díky zadním konektorům pro Octopus moduly ho můžete přestavět třeba na malou meteostanici. Celé tělo robota je na jedné elektronické desce, stačí zapojit snímač vzdálenosti do správného konektoru a robot je složený.
Programovatelné vozítko Ring:bit
Ringbit je chytrý programovatelný robot pro děti založený samozřejmě na mikropočítači microbit. Tělo robota je z průhledných akrylových desek a dá se sestavit během chvilky. Pak může začít zábava a poznávání nových věcí! K robotovi se dají připojit také snímač čáry, duhový nárazník a snímač vzdálenosti. Práce s Ringbit vyžaduje od dětí dávku preciznosti a pečlivosti při sestavení, tak je nejvhodnější pro použití na SŠ. Robůtek se nepohybuje rychle, tak se s ním dá pracovat i na lavici, ze které jen tak neujede. K Ringbit můžete připojit i další moduly Octopus.
Soutěžní robot s motor:bit
Motor:bit kit je stavebnice chytrého robota s micro:bit. Robot se zvládne vyhýbat překážkám, jezdit po čáře, troubit nebo ovládat další elektronické moduly, světla nebo serva, které k robotovi přidáte. Šasi robota je univerzální a umožňuje připevnit další elektronické moduly Octopus nebo příslušenství. Vše pak zapojíte do desky Motor:bit, kde je dostatek konektorů. Robot vás nezklame ani při účasti v nějaké robotické soutěži, kde jsou disciplíny jízda po čáře nebo vyhýbání překážkám. Vhodný pro použití a výuku na SŠ a také doma, protože nabízí velké možnosti vlastních úprav a doplnění.
Všesměrová bugina
Stylová bugina z kostek kompatibilních s LEGO® a všesměrovými koly Mecanum řízená microbitem změní vaše dosavadní zkušenosti s řízením auta! Dokáže se pohybovat všemi směry tak bravurně, že tomu nebudete ani věřit! Celý projekt je z kostek kompatibilních s LEGO® a srdce tvoří modul Wukong rovněž LEGO® kompatibilní. Stačí připojit 4 servo motory a o zbytek se už postará modul Wukong. Můžete do něj zapojit také další moduly Octopus. Bugina je vhodná pro využití na SŠ. Zvládnou to i žáci II. stupně a programování s takovou mašinkou je bude opravdu bavit. Bugina není jen na výstavku, jde opravdu o plnohodnotné jezdící auto. Při sestavování dejte pozor na správnou orientaci kol a zapojení jednotlivých motorů.
Robotický pejsek XGO V2
Micro:bit XGO V2 robotický pejsek je hravý robůtek s umělou inteligencí pro platformu microbit. XGO V2 má 15 stupňů volnosti a tak dokáže nejrůznější kousky a pohybové kreace. Kromě toho zvládne i uchopit a přenášet předměty a pěkně nahlas štěkat. Zábavnou metodou umožňuje osvojit základy programování a využití umělé inteligence AI. XGO V2 nadchne začátečníky i pokročilejší uživatele. Svými kreacemi zaujme hlavně menší děti, kterým pěkně demonstruje, co se dá také vytvořit s použitím takové malé destičky, jako je microbit. Samozřejmě menší děti např I. stupeň by potřebovali při programování tohoto robota vedení, ale motivace je z toho neskutečná. Navíc programování je díky hotovému rozšíření opravdu hračka a robot se ovládá v programu povely podobně, jako živý pes. Na II. stupni a SŠ můžete robota využít již k sofistikovanějším úkolům a cvičením s použitím AI. K robotovi můžete připojit také další moduly Octopus nebo s použitím redukce PlanetX.
Stavebnice pro microbit
Stavebnic pro microbit tady máme velké množství. Základní rozdělení je na stavebnice s moduly Octopus a pak s PlanetX. Vždy platí, že Octopus zvládnou lépe starší děti a naučí se řešit například také vlastní mechaniku projektu. PlanetX je vhodný díky kompatibilitě s LEGO naopak pro mladší, ale svou komplexností nabídne slušné vyžití i starším a pokročilejším dětem.
Stavebnice s moduly Octopus
Nejvíce druhů je založených na modulech Octopus. Základ takové stavebnice vždy tvoří rozšiřující modul pro microbit a pak tam najdeme množství elektronických modulů. A čím se všechny ty stavebnice liší? Odlišnosti jsou hlavně v použité rozšiřující desce a její komplexnosti (množství konektorů, vlastní zdroj, možnost připojení na internet atd.) Další odlišnosti jsou ve zvolených elektronických modulech. Tady najdeme stavebnice s různými tématy. Pokud téma rezonuje se zaměření školy, kde se stavebnice použije, tak je programování ještě větší zábava. Stavebnice s moduly Octopus jsou vhodné hlavně pro použití na SŠ, ale některé úplně základní se dají použít i na II. stupni (Basic Kit). Pro použití doma jsou vhodné všechny, protože umožňují nekonečné tvoření a bastlení vlastních projektů. Při použití stavebnic se předpokládá, že si pro projekty uživatel vytvoří řešení uchycení modulů a mechaniky sám například z kartonu, překližky nebo 3D tisku. Pro populární témata, jako je chytrá domácnost, je k dispozici i řešení mechaniky z kartonu nebo překližky.
Jednoduchý Basic Kit
Micro:bit Basic Kit je ten nejzákladnější microbit kit pro vaše první kroky ve světě elektroniky a programování s micro:bit. Obsahuje 5 nejpoužívanějších elektronických modulů a samozřejmě nechybí barevná příručka s návody na práci se všemi moduly a také jsou k dispozici tutoriály k 5 zábavným projektům. Návod v pdf je v češtině. Stavebnice je vhodná na II. stupeň, SŠ i domácí bastlení. Zapojování pomocí kablíků, které se na moduly jednou nacvaknou a pak se může rychle zapojovat. Použití modulů ušetří čas, který se pak dá využít na tvoření programu.
Stavebnice pro chytrou domácnost
Vytvořte si vlastní chytrý domácí systém s použitím jednoduchých elektronických modulů a grafického programování! BBC micro:bit kit vás provede základy použití microbitu v projektech pro chytrý dům a domácnost. Součástí kitu je obrázkový návod k použití s příklady projektů. S tímto kitem najde váš microbit praktické využití například jako zavlažovací systém. Stavebnice je jako většina kitů s moduly Octopus vhodná pro použití na SŠ a na domácí bastlení.
Kutilský, zdraví, město, farmář, IoT a další stavebnice s Octopus
Tady Elecfreks nabízí opravdu dokonalé vyžití, protože si každý může zvolit stavebnici podle toho, co ho zajímá a nejvíce baví. Stavebnice jsou vhodné pro použití na SŠ a na domácí bastlení. Najdete tady: Kutilský kit s velkým množstvím projektů, stavebnici pro péči o zdraví, pro chytré město, pro mazané farmáře, pro internet věcí a další. Schválně se podívejte, jaké všechny projekty se dají se stavebnicemi tvořit. Odkaz na wiki stránky Elecfreaks jsou vždy dole u popisu každého produktu. Pokud při použití stavebnice zvolíme téma, které je dětem blízké, tak je to určitě výhody. Děti například znají z domova, jak funguje automatické rozsvěcování světla při zachycení pohybu. Nebo ze zahrady, jak funguje automatické zavlažování apod. U takových projektů pak není potřeba vysvětlovat principy chování projektů a můžeme se více zaměřit na vlastní programování a výuku.
Sada kostek pro LEGO®
Mikrobití sada pro všechny fandy tvoření s kostkami LEGO® a jednoduchého bastlení s micro:bit. Využijte potenciál obou tvůrčích platforem, vyzkoušejte si 6 ukázkových projektů a pak tvořte podle libosti! Stavebnice je vhodná pro II. stupeň.
Wonder Building kit kompatibilní s LEGO
Prubněte 32 projektů se stavebnicí robotů Wonder Building Kit a pak už vás v dalším tvoření a programováním nic nezastaví. Vytvořte třeba chodícího robota, robotickou ruku nebo chytrou sušičku a naučte se hravě programovat microbit! Stavebnice je vhodná pro SŠ, ale zvládnou ji také žáci na II. stupni, protože projekty jsou hodně zábavné.
Stavebnice s moduly PlanetX
Nezha Inventor’s Kit je jedinečná stavebnice pro platformu microbit, která ve vás odhalí potenciál mladého vynálezce! Stavebnice obsahuje různé elektronické moduly, senzory, serva a LED moduly uzpůsobené pro použití s oblíbenou stavebnicí LEGO® Technic. V kufříku stavebnice je také více než 400 ks LEGO® kompatibilních dílků a k dispozici je až 48 hravých a inspirativních projektů s micro:bit, na kterých se doslova hravě naučíte základy programování a používání stavebnice. No a pak už vaše tvoření nic nezastaví! Vhodné pro využití na II. stupni a díky možnosti zapojit velké množstvé rozmanitých PlanetX modulů také na SŠ.
Experiment a Starter kit
Zvláštní pozornost si zaslouží stavebnice Starter Kit a Experiment Kit. Obě stavebnice slouží k hravé výuce programování, mají ale velký přesah do fyziky, elektroniky a konstrukce elektronických obvodů. Na příkladech si člověk může vyzkoušet platnost Ohmova zákona, Kirhoffovy zákony, spínání pomocí tranzistoru a podobně. Otestovat se dají také funkce různých součástek, jako například potenciometru pro měření úhlu natočení nebo serva pro vykonání úhlového pohybu, funkce LEDek a RGB LED, snímače osvětlení, teploty, tlačítka, bzučáku, motoru atd. Starter kit obsahuje elektronické součástky, tak jak se s nimi později setká uživatel v praxi. Vytváření elektronických obvodů probíhá zapojováním do nepájivého kontaktního pole a s použitím vodičů se vytváří elektronický obvod. U stavebnice Experient kit je propojování jednodušší. Jednotlivé součástky jsou zabudované v panelu a k propojování postačí káblíky s banánky, podobně jako známe ze starší stavebnice Voltík. Starter kit je vhodný pro SŠ a na domácí bastlení. Experiment Kit zvládnou i děti na II. stupni a také se hodí na SŠ.
Microbit příslušenství co přijde vhod
Samostatnou kapitolu tvoří příslušenství k microbit. K dispozici jsou různé obaly pro zvýšení odolnosti desky microbit nebo její bezpečné uskladnění, držáky baterií, propojovací nebo redukční káblíky, různé adaptéry a samozřejmě také literatura.
Obaly na vašeho mikrobitího kamaráda
Super tenký obal na micro:bit V2
Super tenký obal na micro:bit V2 spolehlivě ochrání vaši destičku před nečistotami a poškozením (poškrábání, náraz, zkratování elektroniky, ESD výboj, vlhké ruce) a prodlouží tak její životnost. Jedná se asi o nejpoužívanější ochranný obal pro microbit. Obal je k dispozici v barvách, ze kterých budou mít radost kluci i holky. Tento obal pro microbit navíc nijak neomezuje funkčnost desky. Při použití slim obalu se nemusíte bát, že se microbit poškodí například při častém přendávání mezi různými roboty a stavebnicemi.
Silikonový obal na micro:bit V1/V2
Silikonový obal na microbitochrání vašeho mikrobitího miláčka a ještě mu stylově sekne! Obal chrání desku microbit, ale přitom nebrání používání jejich funkčních prvků. Je k dispozici v zářivých barvách a pasuje i na starší verzi micro:bit V1.5.
Futrálek pro microbit
Chcete mít váš microbit uložený opravdu v bezpečí? Futrálek pro microbitochrání spolehlivě nejen vaši destičku, ale vejde se do něj i základní microbit příslušenství! Futrálek je k dispozici v hravých barvách. Po ukončení práce stačí microbit s kabelem nebo dalším příslušenstvím vložit do futrálku a pak už ho nějaký pád, tlak nebo náraz nemůže ohrozit.
Organizéry pro microbit
Praktické organizéry po přehledné uskladnění microbitů a věciček pro výuku programování, jako jsou elektronické moduly, kablíky, baterie a další součástky pro práci se skupinou dětí. Do organizéru lze uložit microbity ve futrálcích pro celou třídu (30 ks) a ještě zbyde místo na svačinu! Kufřík ocení hlavně učitelé,vedoucíkroužků, pořadateléworkshopů, ale také obyčejní bastlíři. Přepážky s možností posunutí, 2 klipy pro jednoduché a bezpečné zajištění víka, madlo na přenášení. Díky průhlednému víku můžete kdykoliv okamžitě zkontrolovat uložený obsah.
Kabel a držák baterií – vše co potřebujete do začátku!
Praktický držák na dvě baterie AAA s vypínačem a dlouhý USB kabel tvoří základní příslušenství desky microbit. Zajistí napájení vašeho microbitu z počítače nebo z baterií a také poslouží pro nahrávání programu. Bateriové napájení se hodí, když chcete s microbitem vytvořit třeba kompas nebo hudební nástroj co reaguje na zrychlení pohybu desky v prostoru.
USB kabel má délku 1 m a to je výhodné hlavně při propojení se staršími počítači, které jsou často pod stolem a mají USB konektory zezadu a špatně přístupné. Microbit můžete mít tak přímo na stole, třeba rovnou na pracovním sešitě, kde si děláte poznámky. Kabel je navíc je dobře ohebný a snadno si ho přizpůsobíte
Držák baterie je vybaven vypínačem, tak nemusíte mít obavy, že se baterie vybijí. Samozřejmostí je zakončení držáku baterií kabelem a konektorem, který pasuje přesně do microbitu. Díky vypínači nemusíte taky řešit vyndávání napájecího káblíku z desky microbit. Ono to často jde docela špatně :).
Do držáku baterií pasují dvě mikrotužkové baterie AAA. Microbit funguje dobře s alkalickými bateriemi, ale také nabíjecími akumulátory. Nevýhodou alkalických baterií je to, že při méně častém používání mohou vytéct, ale zase jsou cenově příznivější. NiMh akumulátory nevytečou, ale zase nesnáší hluboké vybití a tak je potřeba akumulátory hlídat a nenechat je úplně vybít. Vzhledem k nízké spotřebě microbitu nejsou baterie moc zatěžované.
Použití ultrazvukového senzoru, známého také pod pojmem Ultrasonic, jsem popisoval v případě staršího mBota v článku Pozor – mBot naslouchá. Novější mBot2 samozřejmě také tuto vymoženost používá, ale oproti starší verzi i ultrazvukový senzor doznal podstatného vylepšení.
Porovnání ultrazvukových senzorů mBota a mBota2
Již od pohledu na obrázek výše je jasné, že mezi oběma senzory jsou jisté rozdíly. Kupodivu nejsou rozdíly v garantovaném výkonu a přesnosti obou senzorů, ale spíše v doprovodném servisu – vybavenosti jednotlivých senzorů.
V případě staršího typu byl garantovaný dosah signálu a tím i vzdálenost, kterou lze senzorem měřit 3–400 cm, u novějšího typu je rozsah podobný 3–300 cm s garantovanou přesností ±5 %, přičemž se domnívám, že je vzdálenost, kterou je možné tímto senzorem měřit, snížena uměle pomocí editoru mBlock5 z reálných 400 cm na garantovaných 300 cm. V praxi ovšem rozdíl není k poznání.
Nový senzor má také robustnější konstrukci (díky pevnému plastovému krytu). Rozdíl naleznete také v sériovém principu připojení k desce, který byl zmíněn v jedné z prvních recenzí na mBota2 na českém trhu. U staršího typu je možné připojit ultrazvukové čidlo k desce přes robustní konektor RJ25. U novějšího typu je možno snadno v sériovém zapojení připojit k desce i více ultrazvukových senzorů (nového typu) a v programu je pak zohlednit přidělením ID. Bohužel jsem nezaznamenal samostatný prodej těchto čidel na našem trhu, aby bylo možné této možnosti využít při hraní si s mBotem2, ale přesto s touto možností bylo zjevně počítáno. Snad bude brzy tento problém vyřešen.
Firma Makeblock, která na náš trh mBota2 dodává, zároveň doplnila ultrasonické čidlo o čip, který by měl vylepšit „stabilitu provozu“ a oči mBota o dva modré LED prstence, které je možné ovládat programově a rozsvítit je například při detekování překážky.
Programujeme mBota2 s Ultrasonikem
Podobně jako jsme přidávali v předešlém díle seriálu knihovnu pro ovládání pohybu musíme, chceme-li využít ultrazvukového senzoru v programu mBota2, bude potřeba přidat rozšíření pro toto čidlo. Po kliknutí na tlačítko rozšíření (viz obrázek) se v editoru objeví nabídka všech rozšíření pro mBota2. Zvolíme si kartu pro Ultrasonic a aktivujeme ji tlačítkem „přidat“. Tímto krokem obohatíme nabídku programovacích bloků o bloky umožňující mBotovi2 využívat ultrazvukový detektor.
Příkazové bloky pro Ultrasonic
Doplnili jste si do editoru mBlock5 rozšíření pro Ultrasonic a přemýšlíte k čemu je možné nové bloky využít? Nejdůležitější jsou první dva.
S těmito bloky je možné pracovat pomocí bloků pro deklarování podmínkových příkazů (složka „Ovládání“). Logika ovládání je pro všechny společná v tom, že je třeba na začátku příkazu nastavit ID ultrazvukového senzoru, se kterým chceme pracovat (můžeme pracovat až s osmi různými ultrazvukovými senzory). Pokud budete používat pouze ten jeden, který jste dostali se svým robůtkem (což bude asi většina případů), nechte nastavené číslo 1.
První blok na obrázku (ten s kulatými okraji) nám vrací naměřenou hodnotu od senzoru až po překážku v centimetrech.
Druhý blok nám v podmínce vrací hodnotu true/pravda, pokud není v dosahu Ultrasoniku žádná překážka.
Zbývající čtyři bloky jsou určeny vesměs pro ovládání LED prstenců kolem senzorů. Je možné jimi ovládat buď jeden Ultrasonic dle zadaného ID, nebo všechny, které jsou k řídící jednotce připojeny. Lze nastavovat sílu svitu LED (zadáváme v 0–100 %), případně je možné vše měnit o určitá procenta, nebo úplně zhasnout. Perličkou je pak blok pro vyjádření různých „emocí“ mBota2 pomocí změn svitu prstencových LED.
Příklad programu
Pro demonstraci, jak lze použít ultrazvukový senzor a jak vytvořit program, který umí snímač vzdálenosti využít, si zkusíme postupně vytvořit demonstrační program (na konci článku jej naleznete ke stažení).
První část programu je spuštěna pouhým zapnutím mBota2. Celý program cykluje v intervalu po třech desetinách sekundy a provádí tuto činnost – vymaže obsah displeje, zobrazí na displeji text „Distance:“ a přesune se na další řádek displeje, kde vypíše aktuální hodnotu vzdálenosti mezi senzorem a překážkou, kterou odesílá ultrazvukové čidlo do řídící jednotky. K vypisované hodnotě vzdálenosti přidá ještě text „cm“ pro upřesnění naměřené vzdálenosti.
Program cykluje, tudíž se naměřená hodnota pravidelně aktualizuje a přepisuje na displeji. Tato část programu nám dává kontrolu nad tím, jak mBot2 vnímá vzdálenost od překážky před sebou. Zároveň si můžeme vše ověřit dodatečným změřením reálného stavu, například pomocí pásmového metru.
Další část našeho demonstračního programu obsahuje činnost, která je spuštěna po stisku tlačítka A na jednotce CyberPi mBota2 (to je to hranaté tlačítko vedle displeje). Program je opět v nekonečné smyčce a prověřuje, jestli ultrazvukový senzor nehlásí řídící jednotce překážku. Mezitím mBot2 jede vpřed. Pokud se tato překážka vyskytne blíž než 10 cm, zasáhne řídící jednotka a pomocí podmínkového příkazu spustí druhou variantu činnosti – zastaví mBota2. Pokud se situace změní a překážka zmizí, mBot opět pokračuje v pohybu vpřed.
Poslední částí demonstračního programu naučíme našeho robota ještě „chytřejší“ činnosti, než bylo pouhé zastavení před překážkou. V další upravené části programu se bude mBot2 jednoduchým způsobem snažit obejít překážku. Tato část programu je aktivována stiskem tlačítka B na jednotce CyberPi (trojúhelníček). Následující program je víceméně totožný s programem aktivovaným po stisku tlačítka A. Změnu naleznete v příkazech umístěných v podmínkovém bloku po textu „jinak“. V této části má mBot2 naprogramováno toto chování – otočí se v úhlu 90 ° doprava, popojede o 10 cm, vrátí se do původního směru otočkou o 90 ° doleva a znova se „podívá“ Ultrasonicem, jestli před ním není překážka. Pokud tam překážka není – robot jede dál rovně. Pokud tam překážku nalezne – pokračuje v pokusech jí objet.
Závěr
Ultrasonické čidlo lze používat pro detekci překážek nebo vzdálenosti. Pomocí podmínkových příkazů je pak možné naprogramovat i poměrně značně složité chování, které se bude měnit v závislosti na datech přicházejících z ultrazvukového snímače.
Data z ultrazvuku je možné využívat i při ovládání mBota2 – uživatel může ovlivňovat data odcházející z Ultrasonicu do řídící jednotky jednoduchým posouváním ruky před senzorem. Je možné pak v programu nastavit reakce například v podobě zvuků a vytvořit tak třeba i sci-fi hudební nástroj ze seriálu Star Trek – Theremin.
/*2024-02-06 odstavec Tovární nastavení micro:bit doplněn o aktuální informace*/
Jsou chvíle, kdy podezřívám vesmír, že zákon schválnosti je hluboce zakotven v tkanině reality! Sotva začnu se sepisováním úvodního kurzu pro MakeCode for micro:bit, oznámí vývojáři veřejný betatest nové verze, která přinese řadu užitečných vylepšení. Nováčci mohou brát tento článek jako dodatek k Něžnému úvodu do programovacího prostředí MakeCode for micro:bit, zkušení mazáci se mohou podívat na výběr novinek, které Update 2020 přinese.
Vezměme to ale popořádku: Microsoft, vývojář prostředí, opečovává MakeCode for micro:bit novou velkou aktualizací zhruba jednou ročně. Současná verze je již třetí podobou, nicméně číslování verzí začíná v duchu informatické tradice od nuly, tedy jde o verzi v2. Pokud se chcete podívat, jak vypadalo prostředí dříve, můžete si spustit předchozí verzi tak, že do URL adresy přidáte na konec (případně před #) jméno verze.1
Je dobré si tuto znalost uložit do paměti, protože se může stát, že update přinese změnu nějaké vnitřní mechaniky, se kterou počítá některé z rozšíření třetích stran, a příklady uvedené v dokumentaci nebudou v nové verzi fungovat. S tím se můžete setkat například na produktových stránkách modulů, které se úspěšně prodávají už několik let.2 Díky přístupu k dřívějším verzím máte možnost zkompilovat a náhrát program do micro:bitu i v dřívější verzi a i úplný začátečník zprovozní rozšíření bez větších problémů.
Update 2020 by měl přijít do ostrého provozu v červnu 2020, pak nejspíš bude přístupný jako veze v3. Do té doby je ve fázi veřejné betaverze, kterou můžete najít na adrese https://makecode.microbit.org/beta#, kde si můžete vyzkoušet novinky, jejichž výběr vám přinášíme níže.
Konec bezejmenných programů!
„Pojmenujte si program, ať víte, o co se jedná, až se k němu příště vrátíte!“ je natolik samozřejmá rada, kterou svým studentům na kroužcích stále opakuji, že jsem ji v minulém díle zapomněl zmínit (ačkoliv jsem ji v uváděných příkladech dodržoval, jen jsem ji explicitně neřekl). Dosud bylo prostředí MakeCode náchylné k uchovávání celé legie nepojmenovaných programů, protože pojmenování jste volili až při uložení.
To se v nadcházející verzi změní, protože hned po vytvoření nového programu budete vyzváni k jeho pojmenování! Sláva! Nepojmenované programy odcházejí… přichází éra nicneříkajících pojmenování, protože nic nebrání studentům zadat jména jako „Pepicek1“, „MujProgram“ nebo „JmenoProgramu“. Ale alespoň některé to motivuje k tomu zadat popisné jméno… že jo?
MakeCode představuje Python pro micro:bit
Minule jsme uvedli, že mezi jazyky podporované přímo micro:bit foundation patří i Python. Překlad bloků do tohoto jazyka je součástí Updatu 2020. Navíc jak Python tak JavaScript získal přehledné popisy funkcí! Drobnou vadou na kráse je skutečnost, že nejspíš půjde o nějaký dialekt Pythonu, který nebude možné otevřít v jiném editoru. Rozhodně však jde o vítané rozšíření nabídky, protože Python je stále oblíbenější programovací jazyk pro začátečníky a jeho přímý překlad z bloků tuto jeho pozici ještě posiluje.
Rozbalovací kód
Teď možná trochu předbíhám, protože praktickou ukázku si uvedeme až v příštím článku, nicméně bych rád zmínil velmi užitečnou novinku, kterou je možnost sbalit bloky událostí a funkcí.3
Grafické programovací jazyky jsou zaměřeny primárně na začátečníky, čemuž odpovídá i skutečnost, že bloky zabírají poměrně velkou část pracovního prostoru. To je přehledné, pokud je kód krátký, ale nic vám nebrání napsat tímto způsobem i rozsáhlé programy. Najde se dost lidí, kteří kouzlu těchto jazyků propadli natolik, že v nich píší skutečně komplexní kódy. Názornost bloků, která tak dobře funguje u krátkého kódu, však působí proti celkové přehlednosti u rozsáhlejších programů. Možnost sbalit jednotlivé funkce usnadňuje orientaci v celkové struktuře kódu.
Plnohodnotný debugger pro MakeCode for micro:bit
Někdy bývá znalost programovacího jazyka definována jako propojení mezi syntaxí, sémantikou a stavem programu. Syntax a sémantika je to, na co se zaměřujeme nejčastěji, ale občas je potřeba znát i v jakém stavu jsou aktuálně proměnné v programu, a tomu pomáhá právě nástroj zvaný debugger. Tento nástroj je běžnou součástí profesionálních vývojových prostředí, ale MakeCode for micro:bit má v současné verzi jen režim Slo-Mo (slow motion), který umožňuje krokovat vykonávání programu, ale není plnohodnotným debuggerem. To se změní s novou verzí, už teď si ho ale můžete vyzkoušet ve veřejném betatestu.
Web USB přináší pohodlí aplikace MakeCode do webového prostředí
Pokud jste dočetli až sem, vězte, že tou nejatraktivnější novinkou Updatu 2020 je technologie zvaná Web USB. Ta umožňuje „spárovat“ vaše USB zařízení přímo s webovým prohlížečem, takže když chcete nahrát nový program, stačí jen kliknout na tlačítko Download a program se rovnou stáhne do vašeho micro:bitu stejně jako v případě aplikace pro Windows 10!
Škoda jen, že v době sepsání tohoto článku je technologie přístupná pouze pro prohlížeče Chrome a Edge.
Jak spárovat micro:bit s Web USB
Vzhledem k tomu, že s nahrávání programu do micro:bitu je naprosto základní úkon, přiblížíme si použití této technologie trochu podrobněji.
Je třeba mít na paměti, že technologie je vystavěná prohlížeči Chromium, tedy funguje jen z něj odvozených browserech. (Pokud tedy preferujete použití programu Microsoft Edge, vězte, že technologii Web USB podporuje jen nová verze, která má jádro vystavěné právě na zmíněném prohlížeči a v současné době není standardní součástí Windows 10, ale je třeba provést ruční stažení aktualizace zde: https://www.microsoft.com/cs-cz/edge)
Všimněte si, že v zápatí máte nyní vedle tlačítka Download i tlačítko …, na které klikněte
Zvolte možnost Pair device
Vyskočí nabídka Pair device for one-click downloads, kde znovu zvolte Pair device.
Pokud je vše v pořádku, vyskočí nabídka s nalezeným zařízením. Vyberte ho ze seznamu a zvolte Připojit.
Pokud program žádné zařízení nenalezne, vyzve vás ke kontrole připojení – kromě očividných věcí, jako je kontrola, že používáte funkční datový kabel, je připojena i výzva ke kontrole verze firmwaru. Jak na to si probereme níže.
Po spárování se změní ikonka vedle nápisu na tlačítku Download.
Jak zkontrolovat verzi firmwaru desky micro:bit
Technologii Web USB podporuje firmware 0249 a vyšší, což v době psaní článku znamená, že se s velkou pravděpodobností setkáte s tím, že váš micro:bit bude mít starší verzi. To si ověříte jednoduše:
Připojte váš micro:bit k počítači, najeďte na disk MICROBIT.
Otevřete soubor Details.txt a zkontrolujte údaj v položce Interface version. Pokud je nižší než 0249, bude potřeba updatovat firmware. Aktuální firmware najdete na stránce microbit firmware.
Jak updatovat firmware
Nejprve je třeba micro:bit uvést do režimu údržby (MAINTENANCE Mode). Toho dosáhnete tak, že odpojíte micro:bit od PC, stisknete tlačítko RESET na zadní straně desky a aniž byste ho pustili, připojíte usb kabel. V tu chvíli můžete tlačítko pustit a měli byste vidět nově připojený disk MAINTENANCE.
V tuto chvíli stačí, abyste na disk nahráli .hex soubor s novou verzí firmwaru. (Pokud byste se potřebovali vrátit ke starší verzi firmwaru, nahrajete ji úplně stejně). Během nahrávání souboru bude blikat žlutá LEDka vedle tlačítka RESET. Jakmile se firmware nahraje, micro:bit se opět připojí jako disk MICROBIT.
Tovární nastavení micro:bit
Někdy se může stát, že budete chtít microbit uvést do továrního nastavení. To znamená aby bylo všechno tak, jako ten den, co jste ho poprvé zapnuli. Bude na vás bzučet a nechá na sobě zahrát i pár her. Pokud vám tohle všechno chybělo, potom si stáhněte Out of box experience.hex nebo novější verzi Meet the micro:bit (cca od června 2023) ze stránky microbit Out of the box experience. Na stránce najdete i kód pro nový Meet the microbit, který můžete editovat v MakeCode a třeba si program upravit a něco se na tom naučit. To v předchozí verzi programu továrního nastavení nešlo.
Za nás není nový úvodní program až tak intuitivní, jako předchozí verze, ale zas o to více vybízí ke zkoumání toho, co microbit umí. Program dokáže třeba i nahrávat zvuky a pak je opakovat.
Může se stát, že váš microbit nefunguje tak, jak by měl, potom je nejlepší do něj nahrát aktuální firmware pro správnou verzi hardware (2.0, 2.2 atd.) a pak uvést microbit do továrního nastavení nahráním souboru továrního nastavení.
2 Touto „nemocí z vlastního úspěchu“ občas trpí hardware od ELECFREAKS – například u LED matice 8×16 jsem se potýkal s příklady napsanými ve staré verzi rozšíření. Také mnohé startovací kity mají občas tištěný návod ve starší verzi prostředí. Nelze tvrdit, že jde o špatnou práci ze strany výrobce – manuály se kterými jsem se setkal byly velmi dobře zpracovány, právě naopak, potíž vychází z toho, že kvalitně sestavený starter kit se může prodávat i několik let.
3 Bloky událostí jsou ty, které se na nic nenapojují a na které zároveň nelze nic napojit, minule jsme si představili jejich zástupce <on start> a <forever>.
Do Velikonoc už máme jen pár dní a tak je nejvyšší čas se na ně pořádně připravit. Co takhle použít na malování vajec EggBota, ale nebudeme předbíhat!
Jedním ze starých a krásných zvyků, které přežily do dnešních let je darování malovaných vajec koledníkům. Možností, jak vytvořit krásná vejce je opravdu hodně. V článku si ukážeme jeden takový způsob, kterým vytvoříte zajímavá a netradičně zdobená vejce a ještě si u toho zabastlíte!
Ono se řekne malovat vejce, ale když má výsledek za něco stát, může jedno zabrat i pár hodin. Nejen pro tento účel vznikl EggBot, díky kterému máte originální vejce během několika minut. Na následujícím obrázku jsou vejce, která maloval Eggbot. Děti tam ale propašovaly i pár ručně malovaných.
Robot EggBot je kompaktní, snadno ovladatelný, open-source robot, jehož dovednost spočívá zjednodušeně řečeno v tom, že umí kreslit na kulaté objekty. Svoji práci zvládá tak dobře, že se nezastaví ani nad golfovými míčky, žárovkami, baňkami nebo malými dýněmi. Ve své podstatě je to hlavně výborný start do světa CNC (počítačem řízené obráběcí stroje) a DIY robotiky. Všechny jeho elektronické součásti by se teoreticky daly využít na sestavení naprosto odlišného projektu. EggBot je vlastně takový umělecký „CNC“ kreslící robot pro začátečníky.
Na obrázku jeEggBot Deluxe Kit, který představuje nejpokročilejší verzi robota pro malování vajec. Základ tvoří pevné ale nastavitelné šasi se dvěma krokovými motory pro rotační pohyb kulatého předmětu a vodorovný pohyb pera. Mechanismus pro uchycení kreslítka je vybaven servem na jeho zvedání, aby se mohlo bezpečně přesouvat mezi různými částmi kresby. Uchycení předmětu, v našem případě vejce, zajišťuje pružinový mechanismus s tlumící podložkou. Vzhledem k množství důmyslných nastavení přístroj umožňuje opravdu komfortní práci při malování na sférické předměty. EggBota lze také rozšířit o speciální diamantový rytec, se kterým můžete gravírovat ornamenty například do vánočních baněk.
Software uvnitř tohoto krasavce umožňuje skrze freeware program Inkscape vytvořit přesný koncept požadovaného grafického vzoru – ať už jde o fotografie, předem vytvořené designy či narychlo spíchnuté malůvky. Zde najdete užitečné stránky pro rychlý start s Inscape.
Na trhu je EggBot dostupný v různých variantách: Pro, Deluxe a Ostrich. Verze Ostrich umožňuje kreslit i na obří vejce nebo dokonce pštrosí. Verze Pro je pak už opravdu vychytaná, ale cenově vychází už mimo možnosti většiny bastlířů. Zlatý střed je tak verze Deluxe, kde je optimální poměr mezi cenou stroje a užitnými vlastnostmi. Stroj má vynikající opakovatelnost, stejně namalovaná vejce jsou jedno jako druhé. Výhodou hotové stavebnice je to, že ušetříte čas jinak potřebný pro vlastní výrobu a konstrukci takového stroje a můžete ho rovnou věnovat malování vajíček nebo tvoření nových designů.
A co takhle Arduino EggBot?
Takový Egg robot pro malování velikonočních vajec tedy dává laťku pěkně vysoko. Je třeba uznat, že kvalita zpracování a užitná hodnota je velmi vysoká. Za kvalitu a originalitu se platí a EggBot není výjimkou – verze Deluxe vás přijde na $260. Open Source komunita však vzala věci do svých rukou: uživatel Nikus na stránkách Instructables zveřejnil návod na sestrojení finančně dostupného EggBota ovládaného Arduinem. Na ukázku tady máme zjednodušenou verzi a pár obrázků:
K sestavení budete potřebovat následující součásti: 2 x krokové motory+drivery, Arduino/ATmega328, zdroj motoru, mikro servo, umělohmotná deska, 3x 40cm šrouby + matice, fixy aj.
Propojíte komponenty dle nákresu – link je níže
Z vámi vybraného materiálu vyřežete základní konstrukci, vybrousíte ji a vyvrtáte díry pro šrouby
Propojíte komponenty s ramenem pera
Stáhnete si přiložený Arduino kód
…a můžete začít kreslit!
DIY malování vajec jede naplno
Projekt je v úplnosti dostupný zde. Jedná se ale pouze o jeden z mnoha takovýchto klonů. Je proto z čeho vybírat!
Ať už se rozhodnete pro vlastní konstrukci a nebo si zajistíte EggBot stavebnici tohoto unikátního robota, určitě se nebudete o Velikonocích nudit a ještě se leccos naučíte!