Rover Eda krok za krokem

Protože jsou někteří rychlejší, zručnější, programátorsky zdatnější nebo mají jen menší absenci než jiní, sepsal jsem následující postup. Nechci totiž, aby byl někdo zbytečně brzděn nebo jiný za ostatními vlál v závěsu a netušil. Po všech ale chci, aby se postupu pokud možno drželi. Každý tak může postupovat vlastním tempem a všichni budou spokojeni.

Jedná se pouze o hrubý postup. Detailnější informace jsou k dispozici v samostatných příspěvcích.

  1. Rover Eda v základní verzi se skládá z Arduina, dvojitého H-můstku, motorů, kol a podvozku, baterií s držákem, vypínače a sonaru. Servo motor může být přítomen a zapojen, ale zatím je jeho funkce nezaprogramována. Kladný pól baterií (+6 V) je přes vypínač zapojen do napájení H-můstku. Záporný pól baterií je přiveden na zem (GND) H-můstku. Můstek obsahuje i regulátor na +5 V, ze kterého je možné a doporučené napájet sonar a servo. Řídicí jednotka Arduino je však napájena +6 V stejně jako H-můstek! Pin je označen Vin. Zde nezapomenout na propojení společných zemí. Uchycení komponent na podvozek se nejsnáze provede za pomoci tavné pistole. Podvozek má omezenou velikost a komponent není málo. Je tedy zapotřebí vhodně rozmyslet rozmístění komponent. Abych nebránil tvůrčímu myšlení, nikomu nezasahuji do zapojení. Doporučuji však piny ENA a ENB připojit na PWM piny (s vlnovkou), kdyby někdo chtěl řídit rychlost otáčení kol.
  2. Naprogramování základní verze roveru jsem si raději vzal na starost sám, abychom měli všichni stejnou kostru programu a bylo snazší hledat případné chyby a ladit chování jednotlivých roverů.
  3. Připojení servo motoru. V tomto kroku se kontroluje a upravuje pozice hřídele v levé krajní (0°), pravé krajní (180°) a kolmé/klidové pozici (90°). Připomínám, že řídicí pin serva musí být připojen na PWM pin. Použije se kód pro ovládání serva, který se jen patřičně upraví.
  4. Zaprogramování servo motoru do roveru. V základní verzi se rover Eda otáčel do stran náhodně. Se servem se však může rozhlédnout do stran a jet tam, kde je více prostoru. O naprogramování této funkcionality se postaráme společně.
  5. Autonomní rover se dokáže vyhýbat překážkám i po tmě. Je škoda to ale nevidět. Nabízí se tedy doplnit osvětlení. Využijeme barevných LED. Zapojení nechám na vás. Můžete využít volných pinů a svícení ovládat programově nebo LED zapojit paralelně k DC motorům. Připomínám, že k LED vždy patří rezistor! Bez něho si dlouho neposvítíte. V tomto kroku si můžete procvičit dekódování velikosti rezistoru dle barevné proužkové notace. Vždy však doporučuji rezistor raději proměřit multimetrem. Vhodnou velikost rezistoru si spočteme společně.
  6. A co ta nevyužitá funkce pro jízdu vzad? Na tu přichází čas teď. Když rover zajede do úzké slepé uličky, má problém se z ní dostat. Dosud totiž umí jezdit pouze vpřed a do stran. Samostatně či ve skupinkách se pokuste rover naučit (=doprogramovat) couvat v případě, že se do takové situace dostane. Vhodné řešení pak opět bude k nalezení v samostatném příspěvku.
  7. Vozidla, která mají za sebe omezený výhled, jsou vybavena zvukovým signalizačním zařízením. A protože náš rover za sebe nevidí vůbec, ‚pípat‘ prostě musí umět. Dovybavíme ho tedy jednoduchou magnetickou sirénkou a řádně ji zaprogramujeme.
  8. Rover již umí pěkně jezdit. Je tedy na čase podívat se mu na vzhled. Tu změť drátků, propojek a komponent by bylo vhodné schovat pod karoserii. K tomu nám poslouží 3D tiskárna. Úkol je tedy zřejmý. V některém z 3D nástrojů (Tinkercad, Blender, OpenSCAD,…) namodelujte slušivou kastli, která Edovi dobře poslouží. Pokud je na vás kastle příliš těžký oříšek, namodelujte si něco jiného, co se vám bude hodit. Výstupem tohoto kroku bude 3D model ve formátu .stl.
  9. Na řadu se dostává tisk modelů. Pro někoho může být překvapením, že si 3D tiskárna nerozumí s 3D modelem (STL soubor). Tiskárna místo toho rozumí g-kódu. Zjednodušeně se jedná o posloupnost pohybů pro osy X, Y a Z a příkazů pro vytlačování nahřátého plastu. Je tedy na nás, abychom z 3D modelu takový g-kód pro tiskárnu vytvořili. Opět se nabízí více nástrojů, které k tomu lze použít. Jedním z nich je např. výrobcem naší tiskárny doporučený Slic3r PE. Tento nástroj umí kromě vygenerování g-kódu nastavit např. tloušťku tiskové vrstvy či tvorbu podpěr.
  10. Odbočka od budoucnosti k současnosti. Dosud rover jezdí autonomně, tzn. že není řízen lidskou obsluhou. Nás však řízení baví, a tak si taky chceme sami zajezdit. Jako ovladač použijeme chytrý telefon s aplikací RemoteXY a jako komunikační protokol mezi mobilem a roverem použijeme Bluetooth LE. Bystrý čtenář již tuší, že to s použitými komponentami není možné. Rover bude nutné rozšířit o BLE modul HM-10 a ten zaprogramovat.
  11. Pokud by někdo byl skutečný rychlík, může se pustit do autonomní jízdy (ano jsme zpět v hudbě budoucnosti) po černé čáře s bílým okolím. Tento úkol se řeší např. pomocí reflexních optočlenů CNY70, které v jednom pouzdře obsahují vysílací diodu i přijímací detektor. Pokud je optočlen mimo čáru, odrazí se od bílého podkladu světlo do detektoru. Pokud ale je nad černou čárou, světlo je pohlceno černou páskou a do detektoru nic neodrazí. Stačí tak na podvozek umístit několik těchto součástek a signály vyhodnocovat v řídicí jednotce.

Z důvodu časové náročnosti 3D tisku budou někteří tisknout ještě před LED osvětlením, jiní např. až při ručním ovládání roveru.

Závěrem připomenu, že jsou stále k dispozici výukové desky se kterými jsme začínali. Takže kdo by měl zájem, může si např. vyzkoušet, jak používat segmentový displej atp.