MENU 

Interakce Arduino ⇔ mBlock

Doteď jsme prostředí mBlock využívali jen jako programovací prostředí pro sestavení blokové kódu, jeho kompilaci a pochopitelně nahrání do modulu Arduino. Po zápisu kódu jsme mohli modul Arduino od prostředí mBlock klidně odpojit, protože modul Arduino pracoval samostatně, případně interagoval pouze s připojenými perifériemi – např. načítal teplotu a zobrazoval ji na displeji. Při samotném běhu kódu v modulu Arduino tedy prostředí mBlock již nehrálo žádnou roli. V následující části textu bychom to rádi změnili.

Chtěli bychom se zaměřit na další možnost prostředí mBlock a to především na jeho možnou přímou interakci běžícího kódu v prostředí mBlock s kódem běžícím v modulu Arduino. A nejde nám jen o nějaké zobrazování výstupních textů v okně sériového monitoru! Rádi bychom pomocí modulu Arduino interagovali s kódem běžícím v prostředí mBlock, například ovládali postavičky pomocí joysticku připojeným k modulu Arduino, nebo naopak pomocí akcí na scéně prostředí mBlock (kliknutí na prvek apod.) vyvolali nějakou akci modulu Arduino (rozsvícení LED, natočení serva apod.)

Abychom mohli bezproblémově udržovat oboustrannou komunikaci mezi prostředím mBlock a běžícím kódem v modulu Arduino, využijeme „oficiální“ rozšíření pro tuto společnou komunikaci. Toto rozšíření se jmenuje „Upload Mode Broadcast“ a je vyvinuto přímo vývojáři prostředí mBlock. Fakt, že jde o rozšíření přímo z dílny vývojářů mBlock nám nejen zaručuje jeho bezproblémový běh, ale především i přímou podporu do budoucna.

Rozšíření „Upload Mode Broadcast“

Rozšíření Upload Mode Broadcast je dostupné v knihovně rozšíření, tedy po kliknutí na ikonu „rozšíření“ pridani rozsireni dole na svislé liště příkazů. Hledáme rozšíření se žlutou ikonou, jako je červeně zvýrazněno na následujícím obrázku.

stazeni rozsireni Upload Mode Broadcast
Poznámka:
Aby mohla být interakce mezi prostředím mBlock a modulem Arduino oboustranná, musíme rozšíření Upload Mode Broadcast nainstalovat na pracovní plochu nejen pro kód zařízení (modulu Arduino), ale i pro kód některé z „Postaviček“, jejichž kód nám bude zastupovat kód běžící v prostředí mBlock. Postup přidání rozšíření jak pro zařízení, tak pro výchozí postavičku (Panda) zobrazuje obrázek.
rozsireni pro zarizeni i postavicku

Po přidání rozšíření Upload Mode Broadcast nám v obou případech přibude na svislém panelu příkazů nová kategorie trochu divně nazvaná: „Vysílání v režimu nahrávání“. Tato příkazová kategorie obsahuje čtveřici následujících příkazů.

prikazy rozsireni Upload Mode Broadcast

První dva bloky slouží jako příkaz pro odeslání zpráv.

prikaz rozsireni Upload Mode Broadcast - poslat zpravu
prikaz rozsireni Upload Mode Broadcast - odeslani informace

Další blok je hlavičkou pro ošetření události příjmu zprávy.

prikaz rozsireni Upload Mode Broadcast - hlavicka udalosti

Poslední blok slouží pro načtení hodnoty odeslané protistranou pomocí druhého bloku.

prikaz rozsireni Upload Mode Broadcast - hodnota zpravy

Asi si to nejlépe ukážeme v několika následujících ukázkách…