Quantcast
Channel: Tutoriály – Bastlírna HWKITCHEN
Viewing all articles
Browse latest Browse all 133

MBot a čáry – 1. díl

$
0
0

Ne nezačínám fantazírovat a s mBotem se rozhodně nemůžete věnovat magii a temným čárám (alespoň pokud vím :-)). Zato umí mBot velmi dobře jezdit po nakreslených čárách, popřípadě, jako dobře vychovaný robůtek umí čáru respektovat a nepřekračovat hranici. V minulém díle jsme se učili pracovat s LED Matrix a dnes se podíváme, jak robota zkrotit na čáře a používat snímač čáry.

MBot umí jezdit po čárách. Toto kouzlo mu umožňuje modul snímače čáry (Line Followeru), který je umístěný zpravidla v přední části robota (využít lze samozřejmě i jinde). Modul obsahuje dva senzory schopné snímat odražené IR záření (modul obsahuje dvě dvojkombinace LED vyzařující IR záření s fototranzistory které jsou schopné číst a přijímat IR záření odražené od blízké plochy). Podle intenzity přijímaného záření modul oznamuje mBotovi jestli vidí černou barvu (méně odraženého záření), nebo bílou barvu (více odraženého záření).

Snímač čáry – Line Follower

Snímač čáry pro mBota
MBot – modul snímače čáry

Jednoduchý snímač čáry, o kterém je v tomto článku řeč, snímá dvěma senzory dva stavy (černá/bílá) svého okolí. Při vzájemné kombinaci různých stavů, které mohou při snímání okolí nastat, je možné vyhodnotit jejich čtyři různé kombinace. MBot pak může být naprogramován na reakce na tyto čtyři stavy. Výsledkem může být i poměrně sofistikované chování robota.

Snímač čáry a jeho stavy

mBot – čtyři stavy snímače čar

Z předchozí grafiky, kde jsou popsané čtyři stavy snímače čar, které mohou nastat vyplývají i reakce, které by mBot na danou situaci měl mít naprogramované. Proto si prohlédneme screen prvního programu, který umožňuje pohyb po čáře.

Program umožňující mBotovi pohyb po čáře

Čára ovšem nemusí sloužit pouze jako dráha, po které by robot mohl chodit, ale třeba také jako hranice, kterou mBot nemůže překročit. Na několika předváděcích akcích jsme v Domečku této schopnosti mBota s úspěchem použili při demonstraci, kdy se robot samostatně pohyboval po stole. Byl schopen volně jezdit po bílé desce stolu, jakmile se ovšem senzorem dostal za hranu desky vyhodnotil si výsledek tak, že vidí černou barvu (a tudíž hranici), couvl, otočil se a pokračoval v projíždění.

Hranice může být zároveň i obrysem bludiště, které musí mBot samostatně projet. Není tedy třeba v klubovně stavět bludiště s opravdovými stěnami. V pohodě si vystačíte s černou páskou a bílou deskou stolu a můžete si dětmi vyrobit improvizovanou únikovou hru – ale o tom asi v jiném díle mého seriálu :-).

mbot - program - čára jako hranice
mbot – program – čára jako hranice

Popis programu: Po stisknutí tlačítka se spustí program v nekonečné smyčce. Pak mohou pro robota nastat tři různé stavy, na které má naprogramované reakce. Jednak je to stav, kdy nevidí žádnou hranici – prostě jede dopředu rychlostí 100 a svítí zelenou barvou. A pak jsou dva velmi podobné stavy, kdy „vidí“ hranici buď levým senzorem, nebo pravým. V tomto případě přeruší jízdu dopředu, rozsvítí červené světlo a půl sekundy couvá. Poté v závislosti pokud mBot viděl hranici levým, nebo pravým senzorem se náhodně zatočí buď doleva, nebo dobrava (s příslušnou světelnou signalizaci) a pokračuje v jízdě dopředu.

Tip: Při hraní si s čarami je možné si to trošku začít komplikovat. Zkuste si třeba naprogramovat na situaci, kdy budou na dráze překážky, nebo bude dráha přerušena.

Program, který mBotovi umožňuje obcházet překážky na čáře

Popis programu: mBot, který pracuje s tímto programem má vpodstatě dva základní režimy, podle kterých se chová. Jednak je to běžný režim sledování čáry, který je odvozený od programu umožňujícího chůzi po čáře a další režim je spuštěný pokud ultrazvukový senzor zaregistruje před robotem překážku bližší než 5 cm. V tomto případě se otočí doleva a opisuje obloukovou dráhu dokud nenarazí na čáru. Pokud narazí na čáru pokračuje dál v běžném provozu jízdou po čáře.

Tip: Program s detekci překážky, který jsem vám předložil, nefunguje vždy. Je stavěný na určitou velikost překážky. Pokud by byla překážka větší než je předpokládáno, mBot by si s touto situací neporadil a vrazil do ní. Zkuste tento problém vyřešit :-).

Program, který umožňuje mBotovi jet po přerušované čáře

Popis programu: Pro chod programu je deklarována proměnná testCary do které je ukládán stav počtu testů pokud mBot hledá čáru (nabývá hodnot 0, nebo 1). V případě, že robot jede po čáře je testCary stabilně na hodnotě 0. Pokud se mBot dostane do režimu sledování čáry 3, čili když nevidí přerušenou čáru, jede 1s rychlostí 100 dopředu a pak se otáčí o 90° doleva a hledá čáru a poté o 180° doprava a opět hledá čáru. V případě, že v režimu hledání čáry čáru nalezne, přestane ji hledat a okamžitě normálně vyrazí vpřed. Pokud čáru nenalezne přepne se do klidového režimu, kdy čeká na operátora a signalizuje ukončení jízdy.

Doufám, že se vám toto prvotní seznámení se světem čar líbilo. Příští článek se do tohoto tématu vrhneme ještě o něco podrobněji a představíme si sofistikovanější modul pro sledování čáry, který může mBot používat.

mBot programy ke stažení

Program jízda po čáře

Program jízda s definovanou hranicí

Program jízda s překážkou

Program jízda po přerušované čáře


Viewing all articles
Browse latest Browse all 133

Trending Articles


Re: Prosím o určení autora - google nepomáhá


Nelze se přihlásit na Facebook přes PC


Prodám Flexi pass - 3 200


Markéta Reinischová: Chceme s Filipem Jankovičem dítě!


Od: Martina


Podzemlje - epizoda 62


Defender


Plynový kotel DAKON DS 22G - 2 500


Gymnastické řemínky na hrazdu zn. Reisport, vel. č. 2: 590


P: NooK Soundelirium THE 12.6


Qube SP26 ( XTA DP226 ) signal processor - 12 000


Narovnání,vylisování bankovek


Javorina Holubyho chata


Tinylab: Tlačítka


Levasan Maxx není gel na klouby, nýbrž hnus


RNS315 couvací kamera


Kde najdu GameInput Service ve win 10?


Redmi Note 11 Pro+ 5G (PISSARO)


MV3 Vermona, Klingenthal, NDR


Hradcany 30h fialova razena 11 1/2 11 3/4



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>