MENU 

mBlock + ARDUINO

Prostředí mBlock je výukový nástroj založený na tzv. blokovém programování. I když svým primárním zaměřením je toto prostředí spíše zaměřeno na děti, lze jen velice efektivně využít jako hezký, intuitivní, a hlavně výkonný nástroj pro programování různorodého hardwaru – kupříkladu jako jsou roboti Makeblock (pro ty je mBlock primárně určen), modul Arduino a řada dalších jako třeba oblíbený Micro:bit.

My se samozřejmě zaměříme na to, jak prostředí mBlock využít společně s modulem Arduino UNO a jak jej využít pro tvorbu programů pro interakci modul Arduino z různými senzory a perifériemi nejen výukové sady „Arduino MAXI Starter kit“.

Na úplný začátek si ukážeme, jak připojit modul Arduino k počítači, nainstalovat prostředí mBlock a nahrát první projekt. Zatím si nebudeme moc vysvětlovat, jak daný program pracuje, ale jen jeho pomocí zkusíme, zda vše funguje, jak má. Na vlastnosti modulu Arduino a hlavně princip jednotlivých programů se podrobněji podíváme v dalších kapitolách. Zkrátka, nyní musíme především nainstalovat a nastavit prostředí mBlock, ve kterém budeme nadále programovat.

mBlock+Arduino

1. Připravíme si Arduino a USB kabel

V tomto tutoriálu předpokládáme, že budeme používat Arduino Uno. Dále budeme potřebovat standardní USB kabel (A plug to B plug). Jak modul Arduino, tak i USB kabel je součástí výukového setu Arduino MAXI Starter kit.

arduino + USB kabel

2. Stažení instalace prostředí mBlock (ver. 5 a vyšší)

Stáhneme si poslední verzi prostředí mBlock ze stránek vývojářů: https://mblock.makeblock.com/.

Další možnosti:

  1. Prostředí mBlock lze ve Windows 10 a 11 stáhnout i jako aplikaci přímo z Microsoft Store, tam ale občas bývá poslední verze přidána s určitým zpožděním.
  2. V prostředí mBlock lze pracovat i v online verzi pomocí webového prohlížeče na adrese https://ide.mblock.cc, pak je ale třeba ještě doinstalovat rozšíření mLink (po spuštění online prostředí mBlock se stačí řídit instrukcemi).

Jakmile se stahování instalačního programu dokončí, stažený soubor spustíme. Dále pokračujeme dle pokynů instalačního programu.

Posledním krokem je instalace potřebných ovladačů. Na otevřeném novém okně klikneme na tlačítko  INSTALL  (viz následující obrázek). Pak okno zavřeme a můžeme spustit prostředí mBlock.

instalace ovladacu

Pokud vše proběhlo bez problémů, můžeme říci: „Vítejte v prostředí mBlock!

mblock uvodni stranka

ALE: Ještě než se pustíme do práce s modulem Arduino je třeba nastavit prostředí mBlock pro použití s modulem Arduino. Ale nebojte se, na to nám budou stačit následující tři kroky.

  1. Klikneme na záložku Zařízení.
  2. Pak klikneme na ikonu přidat ikona pridat.
  3. A nakonec je třeba v seznamu najít a zvolit typ svého modulu Arduino – my zvolíme typ UNO, se kterým budeme nadále pracovat. Na následujícím obrázku ale vidíme, že jsou zde k dispozici i typy Mega2560, Micro, Nano, Yun a Leonardo a další.
pridat zarizeni do mBlock
pridani modulu Arduino UNO

Po stránce softwarové máme hotovo! Možná ještě budeme časem potřebovat vědět, jak připojit do prostředí mBlock některá rozšíření pro některé použité moduly. Ale na to je zatím času dost.

3. Připojení Arduino k USB portu PC

Moduly Arduino mohou být napájeny z USB nebo z externího zdroje. Pro naše prvotní zapojení stačí napájení z USB portu. Připojíme tedy modul Arduino ke svému počítači použitím USB kabelu. LED na desce modulu Arduino (označená PWR) by se měla rozsvítit.

4. Instalace ovladače

Pokud jsme při instalaci prostředí mBlock potvrdil i instalaci ovladačů, máme hotovo! Jakmile zapojíme své Arduino k počítače, měl by se začít používat již instalovaný ovladač. O tom, zda byly ovladače správně nainstalovány, se můžeme ujistit v operačním systému Windows otevřením „Správce zařízení“. V sekci „Porty COM a LPT“ by měla být položka USB–SERIAL CH340(COMxx) (nebo podobný). To je deska Arduino.

spravce zarizeni

Propojení prostředí mBlock s modulem Arduino zařídíme v prostředí mBlock kliknutím na tlačítko Pripojeni a zvolením použitého USB portu. Z předchozího obrázku vidíme, že jde o port COM3, jeho nastavení v prostředí mBlock vidíme na následujícím obrázku. Pokud se při propojování prostředí mBlock s modulem Arduino v daném poli neobjeví číslo USB portu modulu Arduino, zaškrtneme volbu: „☑ Zobrazit všechna připojitelná zařízení“. Připojení dokončíme volnou USB portu a tlačítkem Pripojit.

pripojeni

5. Seznámení s pracovní plochou

Dobře se na hlavní obrazovce prostředí mBlock podívejme na pruh svislého panelu se skupinami příkazů – Pin, Sériový port, Data, Senzor… atd. Z těchto skupin budeme vybírat bloky příkazů a na pracovní ploše (vpravo) budeme sestavovat bloky do podoby programu. Klidně si zkusme nějaké bloky metodou Drag&Drop „natahat“ na pracovní plochu. Vyzkoušejme si, jak se některé bloky dají spojovat nebo vkládat do sebe.

prikazy v prostredi mBlock

Zkusme bloky příkazů i odstranit přetažením zpět nad příkazovou nabídku. Ovládání prostředí mBlock je opravdu intuitivní!

6. Náš první program

Program vždy začínáme blokem kdyz se Arduino spusti, který najdeme v sekci Udalosti. Nekonečnou smyčku opakuj stale nalezneme v příkazové skupině Ovladani. Z této skupiny si můžeme na pracovní plochu hned vytáhnout i příkazový blok pockat 1 sekund. Modrý příkaz nastavit digitalni pin najdeme ve skupině Pin. Hodnoty čísla pinu a doby čekání se zadají kliknutím na patřičné pole a zadáním čísla z klávesnice. Pro výběr výstupní úrovně digitálního pinu slouží rozbalovací nabídka.

Postupně k sobě naskládáme všechny potřebné bloky, až získáme následující náš první program.

prvni program

7. Zápis program do modulu Arduino

Je-li program hotový, stačí v prostředí programu mBlock jednoduše kliknout na tlačítko tlacitko nahrat. Musíme počkat několik sekund – měli bychom na modulu Arduino vidět blikat LED označené RX a TX.

Pokud je nahrávání úspěšné, zobrazí se o tom hláška. Tím je nahrávání definitivně dokončeno! Několik sekund poté bychom měli pozorovat, jak vestavěná LED (pin 13) na desce Arduino začala blikat.

Pokud LED bliká, gratulujeme! Modul Arduino s prostředím mBlock funguje správně!

vestavena LED modulu Arduino blika

Sériový monitor

Pokud jsme opravdu nedočkaví, mohli bychom již nyní začít programovat modul Arduino pomocí prostředí mBlock. Naše možnosti by však byly poněkud omezené. Určitě je dobré se ještě zaměřit na několik drobností, aby vše bylo kompletní a nemuseli jsme se k nim pak vracet později. Jednou z nich je sériový monitor.

Sériový monitor (Serial Monitor) je program, který budeme pro některé z dalších úkolů potřebovat a který sleduje sériový port počítače (v případě připojeného modulu Arduino USB port). Modul Arduino na tento port může vypisovat různé zprávy nebo naměřené hodnoty nebo z něj načítat hodnoty, které lze pomocí Serial Monitoru zadávat.

Dlouhou dobu byla absence sériového monitoru v prostředí mBlock určitým handicapem. Od verze 5.4.3 vývojáři prostředí mBlock sice zareagovali na hlasy volající po zavedení sériového monitoru do prostředí, ale je třeba říci, že (zatím) se tato snaha příliš nepovedla. Na sériový monitor můžeme přejít pomocí záložky Arduinoc, která se od zmíněné verze objevila v pravém horním rohu pracovní plochy. V dolní části této karty je i okno pro sériovou komunikaci. Větší ono zobrazuje zprávy, které jsou zasílané z/do modulu Arduino. Pod tímto oknem je řádek, na který lze psát zprávy pro odeslání do modulu pomocí tlačítka tlacitko odeslat.

A proč lze tedy současné pojetí integrovaného sériového monitoru považovat za nepovedené? Sériový monitor prostředí mBlock umožňuje zobrazovat vzájemnou komunikaci v hexadecimální podobě. To by mohlo být za určitých okolností přidanou hodnotou. Problém ale nastává v okamžiku, kdy tuto funkci vypneme. Místo toho, aby sériový monitor začal komunikovat v textové podobě, jak by se dalo očekávat, pokračuje tvrdošíjně v komunikaci formátu hexadecimálního (HEX). To například vidíme na následujícím obrázku. Přestože formát HEX je vypnut jak pro odesílání, tak i pro příjem, zobrazované zprávy v komunikačním okně jsou stále v hexadecimální podobě.

vestaveny Serial Monitor v mBlock

To je opravdu velká škoda! Snad se časem tato chyba podaří vývojářům opravit a prostředí mBlock bude konečně disponovat použitelným sériovým monitorem. Zatím si budeme muset stále pomoci, stejně jako bylo potřeba před verzí 5.4.3.

Externí sériový monitor

Abychom mohli s modulem Arduino komunikovat po sériové lince (číst nebo zadávat zprávy), je stále potřeba Serial Monitor doinstalovat. Například prostředí Arduino IDE použitelný sériový monitor obsahuje, prostředí mBlok (ver. 5.4.3) zatím stále nikoliv. Je to škoda, možná se v další verzi dočkáme, ale, jak bylo dříve zmíněno, zatím si pomůžeme externím programem.

serial monitor ikona

Lekce, ve kterých budeme potřebovat sledovat výstup z modulu Arduino na Serial Monitoru, budou vpravo vedle nadpisu značeny touto ikonou s lupou a USB konektorem. Program v modulu Arduino běží i bez připojeného Serial Monitoru, jen není vidět zvolený textový výstup.

Upozornění:
Je třeba upozornit, že pokud budeme chtít sledovat výstup z modulu Arduino na kterémkoliv ze sériových monitorů, je potřeba předtím modul Arduino v prostředí mBlock odpojit pomocí tlačítka tlacitko odpojeni, jinak prostředí mBlock sériový monitor k USB portu modulu Arduino nepustí. K USB portu modulu Arduino může vždy přistupovat jen jedna aplikace.

Pokud hledáme nějakou jednoúčelovou aplikaci, například zde sériový monitor, stačí se podívat, zda tento problém již někdo nevyřešil před námi. Zpravidla se v podobných situacích říká: „Je možné využít několik možných aplikací, stačí jen trochu zagooglit“. I když… Pokud v tomto případě hledáme nějakou nejlépe bezplatnou aplikaci, která je navíc jednoduchá, výběr nakonec nebude bůhvíjak široký. Abychom si ale ušetřili čas při hledání, podíváme se na některé, které jsou zdarma ke stažení a které dostatečně splní naše požadavky.

  • Pro operační systém Windows můžeme využít některé z následujících aplikací:
  1. serial monitor Open Serial Port Monitor od vývojáře G. T. Hvidstena je pro milovníky „portable“ aplikací, které není třeba nijak instalovat. Stačí jen stáhnout EXE soubor, který se pak rovnou spustí. Výhodou této aplikace je především její jednoduchost. Aplikace zobrazuje výstup jak v podobě textového okna, tak v okně s hexadecimálním zobrazením.

serial monitor - panel

Je třeba jen dodat, že aplikace Open Serial Port Monitor využívá pro svůj běh aplikační rámec Microsoft .NET 4.5. Ten je ale již od Windows 8 běžně předinstalovanou součástí systému, takže by běh aplikace neměl být problém.
Popřípadě je třeba tento aplikační rámec doinstalovat ze stránek společnosti Microsoft.

Odkaz pro stažení:
https://github.com/gthvidsten/open-serial-port-monitor

  1. serial monitor Serial Lab od vývojáře Ahmeda El-Sayeda je pro milovníky normálních aplikací, u kterých je třeba nejdříve stáhnout instalační soubor, který se pak spustí. I tato aplikace je poměrně jednoduchý jednoúčelový program, který může výborně posloužit pro naše účely. Přidanou hodnotou této konkrétní aplikace oproti předchozí je to, že kromě textového výstupu obsahuje i možnost vynášení hodnot do grafu (tzv. Serial Plotter). Pro dále prezentované lekce to asi není potřeba, ale později při vývoji svých vlastních a složitějších projektů se to může hodit. Serial Lab lze stáhnout z níže uvedeného odkazu na GitHubu.

serial monitor - panel

  • Pro uživatele počítačů s operačním systémem Mac OS X, kteří mohou také využívat programovacího prostředí mBlock, je jednou z možných bezplatných aplikací kupříkladu aplikace Serial Monitor od vývojáře Charles Zamora. Jeho aplikaci společně s návodem, jak ji naistalovat, lze najít taktéž na GitHubu.

serial monitor MAC OS - panel

Následující dva odkazy na aplikace sériových monitorů nejsou odkazy na klasické aplikace, které se spouští v operačním systému, ale jedná se o doplňky webového prohlížeče Google Chrome. Proto také budeme tyto aplikace instalovat z internetového obchodu Chrome. Ale pozor! Nejedná se o klasické rozšíření webového prohlížeče, které se spustí z lišty prohlížeče. Na první pohled se chovají jako samostatné aplikace, které však pro svůj běh potřebují prostředí webového prohlížeče Chrome na pozadí. Takové aplikace by mohly být volbou pro majitele operačního systému, který není Windows, ale umožňuje běh prohlížeče Google Chrome včetně instalovaných rozšíření a jeho aplikací.

Upozornění:
Společnost Google slibovala, že od ledna 2024 všechna rozšíření a aplikace pracující na platformě Manifest V2 zcela odstranění z internetového obchodu Chrome. Bohužel se to zatím týká i obou dále zmíněných aplikací sériových monitorů. Zatím jsou obe aplikace stále dostupné, ale lze je spustit pouze v systému ChromeOS.
Takže dokud se vývojáři Glen Arrowsmith a Luca Dentella nerozhodnou povýšit své sériové monitory na novou platformu Manifest V3, nebudeme moci následující aplikace mimo operační systém ChromeOS již nadále používat! 😒
  1. serial monitor Serial Port Monitor od vývojáře Glena Arrowsmitha je, jak bylo naznačeno, aplikací pro prohlížeč Google Chrome. Najdeme ji proto na níže uvedeném odkazu v internetovém obchodě Chrome. Instalaci provedeme kliknutím na tlačítko „Přidat do Chromu“, ale pozor Serial Port Monitor se neobjeví jako rozšíření prohlížeče, je to samostatná aplikace, bude uvedená normálně mezi ostatními programy.

serial monitor - panel

  1. serial monitor Serial Port Monitor od vývojáře Luca Dentella je také aplikací webového prohlížeče pro Google Chrome, takže ji opět získáme v internetovém obchodě Chrome. Instalaci opět provedeme kliknutím na tlačítko „Přidat do Chromu“ a opět ji ale nehledejme v prohlížeči, ale jako samostatnou aplikace mezi ostatními nainstalovanými programy.

serial monitor - panel