Vzájemná komunikace mBotů

Dlouho mou zvědavost mezi příkazy pro roboty v mBlocku vzbuzovala dvojice příkazů „pošli zprávu mBot“ a „mBot zpráva přijata“. První letmý pokus nepřinesl žádné ovoce. Až při delším hledání a testování se mi podařilo to zprovoznit. Komunikace mezi mBoty se děje pomocí infračerveného vysílače/přijímače na desce. Pojďme se podívat, jak to reálně použít.

Hned na začátku je třeba upozornit, že programy musí být nahrány do robotů, v režimu periferie nefungují.

Vysílající mBot

Program 1

U vysílajícího robota to není nic složitého (viz Program 1). V nějakém dokumentu na internetu jsem se dočetl, že vysílání je třeba provádět opakovaně, že to ne vždy vyjde. Já jsem se s tím nesetkal, když byly roboti blízko (viz Reálné fungování), odeslala se zpráva spolehlivě.

Přijímající mBot

Program 2

Program 2 je celkem přímočarý, až na jednu drobnost. Oproti vysílajícímu robotovi je název zprávy v podmínce v uvozovkách, jinak se program pro arduino nezkompiluje. Ve stejném dokumentu jako výše jsem se dočetl, že zpráva nejde použít k ničemu jinému, než čekání. To se mi nepotvrdilo, normálně jsem ji zobrazil na display robota. Zajímavé je, že na display se zobrazí bez uvozovek. Co jsem nezjistil je, jak dlouho je proměnná čitelná. Ihned po obdržení to funguje, po 5 sekundách už tam hodnota není. Takže lepší bude si zprávu hned po obdržení uložit do proměnné.

Reálné fungování

Dalším zklamáním je dosah. Když byli roboti k sobě otočení předkem, reagoval přijímající robot zhruba ve vzdálenosti 30 cm. Pokud se přibližoval zezadu, bylo to jen asi 20 cm.

Celkově je asi největší překážkou vzdálenost robotů, na kterou to funguje. Ale alespoň něco, na drobnou synchronizaci práce robotů se může hodit.

Líbil se vám tento článek? Podělte se:
Facebooktwitterredditlinkedinmail