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 je dostupné v knihovně rozšíření, tedy po kliknutí na ikonu „rozšíření“ 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.
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ů.
První dva bloky slouží jako příkaz pro odeslání zpráv.
Další blok je hlavičkou pro ošetření události příjmu zprávy.
Poslední blok slouží pro načtení hodnoty odeslané protistranou pomocí druhého bloku.
Asi si to nejlépe ukážeme v několika následujících ukázkách…