Programování robota Edison 1 – EdBlocks

V minulém článku jsme si představili robota Edison a nyní se podívejme na jeho programování. Pomiňme nejjednodušší minule uvedenou možnost – programování pomocí čárových kódů, kde se vlastně nejedná o samotné programování, ale pouze o způsob, jak říci robotovi, který z připravených programů má použít.

Než začneme

Než začneme Edisona programovat (ať tímto nebo jiným jazykem) doporučuji navštívit stránku se soubory pro stažení na originálním webu. Stáhněte si hřiště pro robotické sumo ve formátu pdf (dá se použít i pro jízdu po čáře a podobné projekty) a – pokud máte 3D tiskárnu – i dokovací stanici pro robota (když testujeme programy, může na ní být postaven a „nebloudí“ po stole) a držák pera (vhodný pro zaznamenání pohybu na podklad). Dále si z githubu můžeme stáhnout ještě jiné hřiště pro jízdu po čáře, které je dokonce v češtině.

Obě hřiště jsou ve formátu A1, takže budete pravděpodobně potřebovat na jeho vytištění nějakou firmu. Druhé hřiště si můžete rovněž objednat již vytisknuté. Zatímco půjdete pro hřiště do tiskárny nebo na poštu, 3D tiskárna může tisknout dokovací stanici, případně i držák pera.

Všechny tyto zdroje se budou hodit u všech programovacích jazyků, kterými se budeme zabývat. Ostatně obě hřiště lze s úspěchem použít u všech „robotických akcí“ pro děti od 4 let. Úmyslně nepíši horní hranici, jak jsem uvedl minule, domnívám se, že neexistuje.

EdBlocks

EdBlocks patří do skupiny takzvaných grafických programovacích jazyků. Tedy těch, kde kód tvoříme za pomoci posouvání různých programových bloků po obrazovce. Tyto jazyky se někdy dělí na:

  • lineární – kód se skládá zleva doprava, jako bychom četli knihu. Uvádí se, že jej zvládnou děti od osmi let. Rozumějme běžně nadané děti. Příkladem budiž EdBlocks nebo Lego Mindstorms.
  • vertikální – kód postupuje shora dolů. Hlavními zástupci této skupiny programů jsou Scratch, MakeBlock, Microsoft MakeCode (Micro:bit) nebo OpenRoberta Lab. Uvádí se věková skupina od desíti let.

Pro programování pomocí EdBlocks nepotřebujeme nic jiného než PC s přístupem na internet a s možností připojit 3,5 jacka propojovacího kabelu.

Samotné programovací prostředí je přístupné na adrese www.edblocks.app.

Jakmile otevřeme webovou stránku můžeme začít programovat. Programové bloky se nachází v jedné z pěti skupin:

  • Drive – pohyb robota různými směry, včetně možnosti sledování čáry
  • Outpusts – ovládání diod a zvuků
  • Wait Until – čekání na událost (tlesknutí, detekce překážky) nebo danou dobu
  • Control – jednoduché cykly – nekonečný, pevný počet, dokud není stisklé tlačítko atd.
  • Start Events – program začne na základě události (tlesknutí, stisk tlačítka …)

Zkuste si např. následující program:

 

Program po spuštění pípne, rozsvítí diody, jede vteřinu dopředu a pak vteřinu dozadu. Zhasne diody, vteřinu počká, pak pípne a skončí.

Máme-li program hotový, připojíme Edison kabelem k počítači a v počítači nastavíme výstup zvuku na kabel (to by se mělo nastavit automaticky) a nastavíme maximální hlasitost. Nyní stiskneme tlačítko Program Edison vpravo nahoře na webové stránce. Zapneme Edisona a zmáčkneme na něm jednou kulaté tlačítko. Nyní stiskneme na obrazovce v nově otevřeném okně opět tlačítko Program Edison. Jde-li vše dobře, ozve se zvuk přenosu kódu (nám starším dovolí zavzpomínat na nahrávání programu do Spectra nebo Atari) ukončený pípnutím. Program spustíme trojúhelníkovým tlačítkem. Přejedeme rukou před Edisonem, abychom vyvolali detekci překážky. Pokud něco nejde správně, můžeme běžící program zastavit čtvercovým tlačítkem.

U některých počítačů (zejména s operačním systémem Linux) a většiny tabletů se může stát, že program nepůjde do Edisona nahrát. Pokud se vám to stane, skoro jistě vám nepůjde ani Scratch, ale může vám jít Python a Roberta Lab. Jejich programová prostředí jsou mnohem tolerantnější k hardware.

Můžeme vyzkoušet i složitější programovou konstrukci:

Tento program znamená, že Edison se na tlesknutí rozjede a jede tak dlouho až narazí na překážku. Pak se zastaví, rozsvítí diody pípne a skončí.

To by bylo pro tentokrát vše a příště se podíváme na Scratch.