Close

Úvod do programování pro děti s mBlock5

mbot 2 - programování úvod

Před časem doputovala do českých luhů a hájů z čínského Shenzenu novinka tak žhavá, že jste si sáhnutím na modrý balíček od Makeblocku mohli normálně popálit prsty. Nasadil jsem si proto azbestové rukavice a vybalil z balíčku mladšího bratránka našeho mBota – jeho druhou, vylepšenější verzi mBot2. A protože je mBot2 dokonalejší, jeho hliníkové šasi více vyblýskané a navíc vlastní modul CyberPi, který se rozhodně nebojí použít, musíme mu prostě věnovat pozornost. Zdá se, že nový mBot2 slibuje jedinečné možnosti výuky programování pro děti.

Chceme-li programovat nový přírůstek Makeblocku zákonitě se musím seznámit s programem určeným výrobcem pro tento účel – programem mBlock 5. Pokud je mi známo jiným software mBota 2 nelze programovat. Naštěstí mBlock 5 nám v tomto směru poskytuje dostatečný servis a tak se s ním seznámíme.

Grafické programovací prostředí mBlock 5

MBlock 5 je program, který je možné stáhnout na stránkách Makeblocku zde. Jak snadno zjistíte, program má ještě verzi mBlock 3 (starší se kterou se dají přehledně programovat robůtci verze mBot Explorer, nový mBot2 už ne) a je zde ke stažení i verze určená pro mobilní zařízení (tento SW by měl být ke stažení i na Google Play a na Appstore).

MBlock 5 je kompatibilní s operačním systémem Windows i iOS. Kromě verze pro PC a pro mobil existuje i online verze, která je přístupná zde. Online verze i desktopová verze funguje prakticky totožně.

V obou případech je třeba si v rámci programu založit uživatelský účet. Možnost založit si účet naleznete v programu skrytý v pravém horním rohu (viz. následující obrázek).

Programování pro děti s mBlock5 - uživatelský účet
mBlock5 – uživatelský účet

Tento účet vám umožňuje jednak využívat cloudové úložiště pro vaše projekty (nebojte, mBlock 5 nemá problém s tím, abyste si ukládali své soubory také na svůj PC) a řadu dalších funkcí programu. Mimo jiné se lze zapojit i do komunity využívající platformy mBlock5 a zveřejňovat vlastní projekty. Programování pro děti s mBlock 5 je zábava!

Programování pro děti s mBlock5 - přístup ke komunitě uživatelů
mBlock5 – přístup ke komunitě uživatelů

Popis prostředí mBlock 5 – levá strana plochy

Musím po pravdě říci, že prostředí mBlock5 pro mě bylo při prvních seznámeních dosti matoucí (a to jsem léta pracoval s jeho starší verzí). Asi je to tím, že se snaživý vývojový tým Makeblocku pokusil do mBlock5 nacpat prostě úplně všechno o čem si vývojáři mysleli, že je to dobrý nápad. Jak se postupně s touto verzí programu sžívám, tak to začínám oceňovat.

Programování pro děti s mBlock5 - prostředí - levý horní roh
mBlock5 – prostředí – levý horní roh
  1. Logo firmy, která to vše má na svědomí a logo programu. Samo o sobě jen obrázek, skrývá ale odkaz na webovky Makeblocku, kde po troše pátrání můžete nalézt řadu zajímavého od tutoriálů a nápovědy po hotové kódy makebločí komunity. Občas mírně zmatené, což je dané asi zejména typovým rozsahem produkce Makeblocku. Chce to prostě chvilku hledat a jistě naleznete co hledáte.
  2. Malý obrázek zeměkoule skrývá možnost přepnutí do jiné jazykové verze. MBlock5 češtinu poměrně solidně podporuje (podporoval ji i v předchozí verzi, takže je to již jakási dobrá tradice). Nicméně čas od času na vás vykoukne v lepším případě angličtina, v horším čínské znaky. Děje se to zejména u nových knihoven, které výrobce zřejmě ještě nestačil přeložit.
  3. Menu „Soubor“ umožňuje ukládání projektů do vašeho PC.
  4. Menu „Editace“ umožňuje nastavení zobrazení pracovní plochy programu a nastavení „režimu turbo“. Aktivace tohoto režimu urychlí pohyb scratchových postav a také ladění chyb v programu.
  5. Tlačítko „Uložit“ ukládá váš projekt do cloudu vašeho účtu. Zdánlivě je mBlock5 poněkud schizofrenní co se týče ukládání projektů (možnost ukládání na třech místech). Logiku to ovšem začíná dávat, když si uvědomíte kam všude mBlock váš kód vlastně ukládá. Co se týče cloudového účtu je příjemné zjištění, že vaše projekty jsou přístupné jak z desktopu, tak z online verze a máte je tak kdykoliv k dispozici.
  6. Tlačítko „Zveřejnit“ vám spouští formulář sloužící ke zveřejnění vašeho superkódu v komunitě Makeblocku. Projekty ostatních je možné shlédnout a je u nich i jakási forma lajkování (stáváte se následovníkem, nebo následovaným – působilo to na mě trošku úsměvně, jako jakási sekta :-))
  7. Bloček pro realizaci scratchových programů.
  8. Jednodotykové volby pro zapínání a vypínání typu zobrazení.
  9. Spouštění a zastavování scratchových prográmků.
  10. Velmi důležité menu umožňující volbu typu zařízení, které je možné programovat. V době psaní článku to bylo 110 zařízení. Kromě výrobního programu Makeblocku a různých verzí Arduina, microbitu, nebo Raspberry tam naleznete i celou řadu dalších platforem, které jsem ani v Čechách nikdy neviděl. CyberPi pro mBota 2 je naštěstí hned první volbou.
  11. Další důležité menu sloužící pro připojení k zařízení a ukládání souboru do zařízení. Ukládání souborů do CyberPi je malinko komplikovanější, takže o tom budu ještě psát zvlášť.
  12. Scratchové knihovny, které jsou k dispozici. Poměrně snadno lze k těmto knihovnám přikládat i další knihovny (zároveň je to také docela zajímavý přehled hw modulů, které jsou pro danou platformu k dispozici). Zajímavou možností pro pokročilé je i možnost si v tomto menu navrhnout vlastní knihovnu. Poměrně nepříjemnou záležitostí z mého pohledu je, že je pro každý nový program nutné znovu si doinstalovat knihovny, které chcete používat. Uložené projekty si „své“ knihovny pamatují.
  13. Scratchové bloky s příkazy.
  14. Pracovní prostředí, kde je možné přetahováním bloků vyrábět prográmky.

Popis prostředí mBlock 5 – pravá strana plochy

mblock5 - prostředí - pravý horní roh
mblock5 – prostředí – pravý horní roh
  1. Položka „Kurzy“ – odkaz na edukační kurzy Makeblocku k jednotlivým platformám. Občas u platforem chybí víceméně obsah a je tam jen běžná obecná informace od výrobce, ale také zde můžete nalézt odkazy na aktuálně probíhající školení, nebo materiály ke stažení, které obohatí vaše programování pro děti. Je prostě nutné prošmejdit to co vás aktuálně zajímá.
  2. Položka „Kurzy“ následující za položkou kurzy 🙂 (omlouvám se, ale inteligentněji se to napsat nedalo) obsahuje podrobnou uživatelskou příručku k programu mBlock5 a vzorové kódy ke stažení.
  3. Menu „Zpětná vazba“ je formulář pro navázání kontaktů s podporou.
  4. Menu označené třemi tečkami je obslužný servis k programu mBlock5 obsahující kontrolu aktualizace, povídání o programu, či nastavení co chceme mít automaticky otevírané v mBlock5 (blokový editor, či pythonovskou verzi).
  5. Menu pro registraci do komunity Makeblocku (viz úvod článku).
  6. Přepínač na plnohodnotný editor Pythonu.
  7. Záložka pro přepnutí do blokové verze editoru.
  8. Záložka pro přepnutí do python verze editoru.
  9. Moje oblíbená záložka umožňující práci v duálním režimu bloky+kód. Je dobrá pro průběžnou samo výuku Pythonu.
  10. Pracovní prostředí, kde je možné přetahováním bloků vyrábět prográmky.

Připojení mBota k programu a přenos souboru do mBota 2

Samotné připojení mBota 2 k mBlock5 je poměrně jednoduchá, až blbuvzdorná záležitost.

mblock5 - menu pro spojení s mBot2
mblock5 – menu pro spojení s mBot2

V levém dolním rohu editoru naleznete menu pro spojení s vaším mBotem 2, popřípadě s jinými zařízeními, které je možné na mBlock5 programovat. Já tam měl automaticky předinstalovanou variantu pro CyberPi, což je zřejmě pro Makeblock momentálně ta nejpropagovanější varianta zařízení. Vzhledem k tomu, že mBot 2 je vlastně o CyberPi nebylo co řešit a mohl jsem se hned pustit do práce. Přes tlačítko „přidat“ je možné si přihodit další zařízení (schválně si okoukněte co vše lze s mBlock5 programovat).

Pro připojení k mBot 2 je napřed nutné nastavit spojení. Kliknutím na tlačítko „Připojení“ vybereme typ připojení (USB, nebo Bluetooth). Je nutné mít před připojením mBota k pc připojeného kabelem a zapnutého (stejný postup jako u mBlock3). Nastavíme COM a můžeme do mBota 2 vesele sypat data.

Tip: Chvilku mi trvalo přijít na to, jak uložit program na zvolenou pozici v CyberPi (možnost uložit zde 8 programů zároveň). MBlock5 bere jako aktuální pozici pro ukládání do CyberPi tu, kterou máte momentálně zvolenou v CyberPi menu.

Práce v programovacích režimech mBlock5

V mBlock5 můžete vytvářet programy buď ve vizuálním blokovém režimu, nebo v programovacím jazyku Python. Kód mezi těmito dvěma režimy je bohužel nepřenosný. Částečně lze kód, díky možnosti duálního režimu přenést z blokového do pythonovského režimu.

mblock5 - prostředí pro editování kódu - blokový režim
mblock5 – prostředí pro editování kódu – blokový režim

Mezi režimy se dá přepínat pomocí záložek v pravém horním rohu pracovní plochy. Zajímavá je oranžová záložka se symbolem „</>“, která přepne editovanou plochu do duálního režimu kdy je možné vidět kromě blokového kódu jeho pythonovskou podobu.

mBlock5 - editovaný kód v duálním režimu
mBlock5 – editovaný kód v duálním režimu

Pythonovský kód v duálním režimu nelze editovat. Pokud chcete tento kód editovat a dál s ním pracovat v editoru pro Python je třeba tento kód okopírovat, přepnout záložku pracovní plochy na režim „Python“ a okopírovaný kód vložit. Pak je možné kód editovat.

mBlock5 - kód přenesený z blokového režimu do pythonovského
mBlock5 – kód přenesený z blokového režimu do pythonovského

Dalším problémem je vkládání kódu do mBota 2. Pokud máte v každém režimu jiný kód (pozor – mBlock5 neaktualizuje změny mezi režimy) při odesílání do mBota odesíláte ten kód, který je otevřený v aktuální záložce. Defacto tedy editujete při takovémto způsobu práce dva rozdílné kódy.

Hello world

Každý správný nerd v jakémkoliv programovacím prostředí nutně musí projít úvodní iniciační seznamovací lekcí zvanou „Hello world“. Jelikož se cítím součástí celosvětové nerdí komunity ani já tuto tradici nezanedbám. A zvláště programování pro děti musí začínat pořádným Hello world! Tudíž…

Přípojte sestaveného mBota 2 k PC, spusťte program mBlock5 a nastavte spojení k mBotovi. Robůtka zapněte a zvolte si v OS mBota pozici, na kterou budete ukládat váš první program.

Poté v mBlock5 sestavte bloky v následující program.

Jednoduchý program Helo world
Jednoduchý program Helo world

Program začíná žlutou záložkou, která určuje stav mBota v jakém se má program aktivovat. Tento blok naleznete v záložce „Události/Events“. Pokud tedy bude splněna událost, v našem případě spuštění CyberPi mBota, provede se program, který je na záložku navěšen.

Na záložku je připnut jeden jediný blok (netvoříme ostatně žádný složitý program). Tímto blokem je fialový blok ze záložky displej. Samotný blok je ještě mírně upraven přenastavením parametrů. Do pole textu jsem napsal text „Hello world“, který chci, aby se zobrazil na displeji mBota. Nastavit lze ještě polohu zobrazovaného textu na ploše displeje. Já ponechal střed displeje. Dále ještě v tomto bloku můžeme nastavit velikost zobrazovaného textu. Zde jsem nastavil poněkud zavádějící překlad na hodnotu „uprostřed“, čímž jsem nastavil jakousi střední velikost textu dle Makeblocku.

Po přenesení kódu do robůtka by se měl na displeji zobrazit text Hello world (viz. následující obrázek).

Hello world - výsledek programu
Hello world – výsledek programu

Protentokrát je to ohledně programování pro děti všechno a v dalším díle se pustíme do „vážnějšího“ programování.

Ondřej Merta

Napsat komentář