Jak se programuje mBot

Tento článek jsem vydal téměř před rokem na webu https://bastlirna.hwkitchen.cz/jak-se-programuje-mbot/. Myslím, že od té doby nic neztratil na kvalitě a tak ho přepublikuji s mírnou úpravou a doplňkem i na svůj web.

V momentě, kdy doma vybalíte nového mBota již robůtek něco umí. Pánové z makeblocku mu totiž dali do vínku přednastavený program se třemi módy, které tak nějak představují ve zkratce co mBot vlastně umí. My ho ale později naučíme mnohem více.

Tento program má tři módy (A, B, C) a dají se spustit buď IR ovladačem (nezapomeňte vložit baterku), nebo přepínat tlačítkem na hřbetě mBota. Mód A je signalizován bílým světlem, mód B světlem zeleným a mód C světlem modrým. Aby to vše fungovalo je třeba také správně připojit moduly – ultrazvukový modul (port 3), modul čtení čáry (port 2).

Jednotlivé módy fungují takto:

mód A – dálkové řízení pomocí dálkového IR ovladače – bílá barva – šipkami řídíte pohyb mBota. Při mačkání čísel bude robot vydávat tóny a čísla slouží také pro nastavení rychlosti pohybu robota.

mód B – vyhýbání se překážkám – zelená barva – mBot se před překážkou otočí a jede zpět.

mód C – jízda po čáře – modrá barva – mBot sleduje černou čáru, v případě, že ji nenalezne začne kroužit na místě.

Tip: Pokud programujete mBota, způsobíte, že přijdete o nastavený defaultní program. Pokud jej chcete vrátit zpět do tohoto nastavení, dá se to udělat přes program mblock 3. Je třeba připojit mBota a nastavit správně všechny parametry potřebné pro spojení mBota a programu mblock3 ve vašem počítači (Připojení-Sériový port, Desky-mBot (mCore)). V programu pak spusťte funkci Připojení-Reset výchozího programu-mBot. Program zavede do vašeho mBota defaultní program. MBot 3x pípne a je připravený na další zábavu!

Pokud byste ovšem nechali robůtka pouze s přednastaveným programem a používali jej, jako lepší autíčko na ovládání, velmi byste se ošidili. Ta největší legrace totiž spočívá v tom, že mBota budete programovat a přetvářet k obrazu svému.

Jak na to vám v rychlosti napoví následující video…

To co jsme viděli ve videu bych nyní rád probral podrobněji.

Program mBlock naleznete na webu firmy Makeblock ( https://www.mblock.cc/en-us/download ).

Program pro programování mBota

Na tomto umístění můžete nalézt dvě verze tohoto programu:

mblock5 – pouze v angličtině, určený pro větší počet produktů firmy makeblock.

mblock3 – ve více jazykových mutacích, včetně češtiny. Určený pro mBoty, Rangery a roboty typu Ultimate.

Měl jsem možnost porovnat obě verze programů a obě je vyzkoušet na dětech. Jednoznačně se jim lépe pracovalo se starší verzí mblock3. Jedním z důvodů byla asi česká lokalizace programu, ale druhou příčinou byla zřejmě i jistá jednoduchost staršího programu. Dále budu tedy vše vysvětlovat na verzi programu mblock3.

Připojení mBota

Prvým kamenem úrazu při programování mBota se může pro nezkušeného programátora stát právě připojení mBota k programu. Je třeba nejen správně připojit mBota kabelem, ale zároveň také správně nastavit program mblock3.

Připojení USB kabelu k motovi

Připojení kabelem: Vhodný kabel je součástí dodané krabice. MBota připojujeme ke klasickému USB výstupu z počítače a hranatý konektor na druhém konci kablíku (USB typu B) patří do konektoru na pravé straně vrchní plastové desky mBota. Zde bych doporučoval dávat pozor, protože se děti často pokouší dávat kabel do konektorů určených pro moduly (vzdáleně se tvarem podobají). Jednoduchou pomůckou může být, že zdířky pro moduly jsou černé barvy a zdířka pro datový kabel je barvy bílé.

Nastavení programu: V případě, že programujete mBota a ne jiný produkt firmy Makeblock, nastavte položku hlavního menu „Desky“ na parametr „mBot (mCore)“. Zbývá ještě nastavit v položce „Připojení“ parametr „Sériový port“. Hodnota sériového portu se detekuje automaticky, pokud je vše kabelové připojeno správně a pokud je mBot zapnutý. Děti, které s mBotem teprve začínají, zapomínají mBota zapnout. Vypnutého mBota nelze programovat a program ho ani nevidí.

Tip: Při programování doporučuji mBota připojeného kabelem raději obracet na hřbet, jako želvu. MBoti mají totiž svojí hlavu a při spuštění se může aktivovat program, který do mBota vložil někdo jiný. Robůtek pak páchá ve stylu kamikaze skoky ze stolu.

Posíláme program do mBota

Máme hotový prvý zkušební program, popřípadě jsme prvý zkušební program stáhli a chceme ho odeslat do mBota. MBot je v pořádku připojený, zapnutý a program mblock3 je nastavený. Chybí ale možnost odeslání programu.

Prvý pohled na otevřený program pro mBota v prostředí mblock3

Program mblock3 byl vyvinut na základě vizuálního programovacího jazyka Scratch určeného pro účely výuky. Jazyk je grafický a funguje na základě přetahování grafických bloků/widgetů na pracovní plochu. Scratch byl vyvíjen i k programování jednoduchých her, důsledkem čehož je i programovatelný obrázek pandy v levé části a část widgetů, které při programování mBota nijak nevyužijeme a tudíž si jich dál nebudeme všímat.

Do režimu ve kterém můžeme z editoru mblock3 programovat mBota se můžeme dostat dvěma způsoby. Buď si nastavíme v základním menu v položce „Editace“ hodnotu „Režim arduino“, nebo klikneme pravým tlačítkem menu na hlavičku programu – rozevře se nám menu, ve kterém stačí vybrat položku „Nahraj do Arduina“.

Prostředí mblock3 přepnuté do režimu odesílání programu do mBota

Pro odeslání programu do mBota stačí jen kliknout na tlačítko „Poslat do Arduino“ v části Arduino IDE. Komunikace s deskou arduina v mBotovi se pak vypisuje pod boxem s kódem. Na stejném místě se vypisuje i průběh přenosu kódu do mBota, chybové hlášky a další informace. Netrpělivým mladým programátorům doporučuji nechat přenos programu do mBota doběhnout až do konce a nepřerušovat jej v půli.

Programové bloky – Widgety

Jak jsem již naznačil v předchozím textu program pro mBota skládáme z programovatelných bloků/widgetů (dále již budu používat pouze tento termín). Widgety z jednotlivých skupin odpovídají vždy barvou dané skupině, snadno je tak můžete nalézt. Přepnete-li editor do režimu Arduino zůstanou vám aktivní pouze skupiny bloků Roboti, Ovládání, Operátory a Data a Bloky které jsou využitelné při programování mBota.

Příklad skládání programu mBota z jednotlivých skupin widgetů

Widgety, které můžete použít jsou pouze základní nabídkou. Mblock3 totiž po doinstalování rozšíření umí vygenerovat i další widgety, třeba pro nový modul, který si k mBotovi dokoupíte. Nabídka je opravdu široká a při počtu widgetů, které vám program mblock3 nabízí již v základní podobě je jasné, že kdybych tu popisoval všechny widgety asi by tento článek byl rozsáhlým manuálem. Zmíním se tedy pouze obecně o principech a popíši skupiny widgetů.

Skupina widgetů „Roboti“ – zelenomodrá barva

Widgety ve skupině „Roboti“ slouží k programování přímé činnosti mBota. Naleznete zde jak úvodní hlavičku programu, tak základní bloky (poznáte je podle zoubečku, kterým je možné je spojit do programového stromu). U těchto bloků často najdete bílé prvky umožňující přesněji nastavit daný příkaz (obecně tuto možnost najdete ve všech příkazech tohoto programovacího prostředí). Sledujte levou a pravou stranu widgetů. Widgety s trojúhelníkovitými a oblými boky bez „zoubku“ jsou určeny pro vkládání do dalších příkazů.

Skupina widgetů „Ovládání“ – oranžová barva

Widgety ze skupiny „Ovládání“ ovlivňují tok programu. V této skupině naleznete podmínkové příkazy, smyčky a možnost zadání časového intervalu. Některé tyto příkazy samy o sobě nefungují a je třeba je doplnit příkazy z ostatních skupin, aby mohly fungovat.

Skupina widgetů „Operátory“ – zelená barva

Ve skupině widgetů „Operátory“, která je zelené barvy, můžeme stanovovat vztahy mezi proměnnými a definovat podmínkové příkazy. Zajímavým příkazem je i generátor pseudonáhodných čísel – později jej použijeme.

Velmi zajímavou skupinou je poslední skupina widgetů „Data a Bloky“ (oranžová barva), která nám umožňuje tvorbu vlastních proměnných a vlastních příkazových bloků – což je to pravé kreativní programování, které pokud vydržíte, si hodně užijete – ale to už budete pokročilými programátory. 🙂

Programy ke stažení

testovací program

Úkol:

Zkus se připojit k mBotovi a poslat do něj program, který je u článku ke stažení.

2 komentáře u „Jak se programuje mBot

  1. David Hart Reagovat

    Dobrý den, budu mít kroužek s mBooty, právě si snimi hraji a narazil jsem na následující: Pokud použiji mBlock v 5, mohu s deskou komunikovat živě, tedy bez nahrávání programu mohu rozsvěcet a zhasínat LED a podobně. Bohužel jsem nepřišel na to, jak propojit desku s animací na PC. Příklad: Pokud na desce stisknu tlačítko, chci aby mi animovaná panda „řekla“ – NESAHEJ NA MNE!
    Pokud použiji mBlock v3, nepřišel jsem na to, jak pracovat „živě“ s mBootem. Umím pouze odeslat program. A opět bych rád propojil animovanou pandu s reálným světem.
    Prosím o radu a děkuji, David
    P.S. Mám dojem, že jsem před mnoha lety připojil Arduino Uno, připojil teploměr a podle teploty jsem obarvoval pandu – nebo nějakou jinou postavičku. Takže nějaké propojení reálného světa s animací šlo…. ale jak?

    • Ondřej Merta Autor článkuReagovat

      Dobrý den

      Já jsem poměrně pozdě přišel na to, že u mBotů existuje live režim. Jedna kolegyně po mě chtěla přímé ovládání tlačítky z ntb.. Asi bych zkusil bezdrátové ovládání, my u nás používáme bluetooth verze mBotů a pak bych se poohlédl, jestli mBlock3 nabízí reakce na eventy. Nebo vyzkoušejte mBlock5, tam stačí přepnout na live/živě.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *