|
|
Ardubot (3.díl)Potřetí a prozatím naposled se vracím k Ardubotovi. Stručně připomenu, že jeho první verzi jsme postavili jako jednoduchého robota vhodného i pro začátečníky a jako mozek jsme použili Arduino Duemilanove. Minule jsme ho vylepšili o palubu s pohyblivou kamerou a vetší displej. K dokončení už příliš nechybí, a proto bych rád tímto článkem celý projekt uzavřel. Úpravy hardwaruArdubot se od minulého článku dočkal pouze kosmetických úprav. Na pin Arduina číslo 13 jsem připojil 3 mm žlutou LED a namontoval ji pomocí objímky do vrchní paluby. Tato dioda indikuje funkci bootloaderu a zabliká vždy, když do Arduina začneme nahrávat nový program. Vedle ní je stejným způsobem umístěna 3 mm modrá LED, která funguje jako kontrolka bluetooth modulu. Počet přepínačů v zadní části paluby vzrostl na tři, a proto nebude na škodu vysvětlit si jejich funkci. První zleva (pohled zezadu) je připojen k pinu Arduina číslo 10 a pracovali jsme s ním už dříve, pouze jsem ho přemístil ze středu na kraj. Ve zdrojovém kódu programu je zastoupen konstantou TLAC. Prostřední přepínač propojuje piny UART-Rx a UART-Tx bluetooth modulu s piny Rx a Tx Arduina. Pravým přepínačem lze 5V pin Arduina izolovat od palubního napájení. K čemu je to dobré, jsme si vysvětlili minule. Nakonec jsem ještě vyměnil IR senzor Sharp GP2Y0A21 s rozsahem měření 10 až 80 cm za verzi GP2D120, která detekuje překážky na vzdálenost 4 až 30 cm. Finální programPro Ardubota je možné napsat velké množství programů s různou funkcí a s některými jsme se seznámili v minulých článcích. Nicméně bylo by velmi nepraktické pokaždé nahrávat do Ardubota program podle toho, zda chceme, aby se pohyboval sám nebo naopak aby například poslouchal naše instrukce z PC. Arduino disponuje poměrně velkou pamětí a proto jednotlivé programy můžeme skloubit do jednoho a při startu vybrat, který se spustí. Vzhledem k tomu, že jsme minule vylepšili Ardubota o dostatečně velký displej, použijeme ho k zobrazení jednoduchého menu. Pro přecházení mezi položkami můžeme zase šikovně využít nárazníky jako tlačítka. Každé položce menu odpovídá podprogram nebo chcete-li funkce, například autonomní mód, řízení z PC atd. Spuštění požadované položky menu provedeme přesunutím levého přepínače do přední polohy. Každý podprogram pak běží až do přesunutí přepínače do zadní polohy, kdy dojde k návratu do menu. Celý zdrojový kód se všemi podprogramy je už poměrně dlouhý, a proto jsem ho nevkládal přímo do stránky, ale můžete si jej stáhnout. Nyní si vysvětlíme jednotlivé položky menu:
K objasnění struktury celého programu by měl pomoci i vývojový diagram. Je samozřejmě velmi zjednodušený, protože při snaze obsáhnout v něm kompletní stavbu programu by došlo nejenom ke ztrátě přehlednosti, ale zabíral by také neúnosně mnoho místa. Záměrně jsem proto některé konstrukce vynechal a uvádím pouze základní kostru. Tímto je jak hardware, tak programové vybavení Ardubota hotové. Nicméně dalším vylepšením samozřejmě nic nebrání, protože zůstal dostatek volných analogových vstupů pro jiné senzory. Nabízí se například ultrazvukový dálkoměr. Otázkou zůstává, zda se dá u robota této velikosti plně využít. Každopádně vybavit si robota sonarem je určitě zajímavé. Navíc by oba senzory pro detekci překážek (IR i ultrazvukový) nemusely být umístěny nutně oba vepředu, ale IR senzor by určitě bylo vhodné přemístit do zadní části. Šlo by tak předejít zejména krizovým situacím ve velmi stísněném prostoru. Bez čidla vzadu se totiž může stát, že robot při snaze vyhnout se překážce před ním, nabourá během otáčení a couvání do překážky jiné. Zároveň bych rád upozornil na možnost použít místo Arduina klasické velikosti (Duemilanove nebo novější Uno) desku výrazně menší, která se prodává pod názvem Arduino Nano. Při rozměrech 45 x 18 mm nabízí tytéž funkce jako jeho větší sourozenci a může na palubě robota výrazně ušetřit místo. Nevýhodou je bohužel vyšší cena. Článek bych rád podpořil přibližně dvou a půl minutovým videem, na kterém je v krátkosti předvedeno, co vlastně Ardubot umí. Pro umístění videa jsem zvolil server YouTube. Doufám, že malá série článků o Ardubotovi byla alespoň trochu přínosná a všem zájemcům o stavbu přeji hodně zdaru. V případě dotazů mě neváhejte kontaktovat.
- Stránka vytvořena 21. února 2011 - |