Remote control

Experimenty s všesměrovým robotem mě přivedly na nápad postavit si vlastní univerzální a programovatelné dálkové ovládání. Mezi základní požadavky patřilo, aby obsahovalo dva joysticky, alfanumerický displej a programovatelná tlačítka nebo spínače. Následně přibyl do plánu ještě akcelerometr ke snímání náklonu. Pro komunikaci jsem zvolil bluetooth modul connectBlue OBS410i, který mi jako vzorek poskytla firma spezial electronic. Zbývalo asi nejzásadnější rozhodnutí - jaký použít mikrokontrolér. Vzhledem k výše zmíněným požadavkům už nepostačuje Atmega328 ze standardního Arduina, proto jsem hledal čip s více vstupy a výstupy. Na internetu jsem objevil projekt Sanguino, který umožňuje programovat Atmegu644p pomocí Arduino IDE, což se mi zdálo naprosto ideální. Atmega644p navíc disponuje dvěma sériovými porty, takže jeden může být natrvalo propojen s bluetooth modulem a druhý zůstane volný pro USB-UART převodník (k programování).

Blokové schéma

Stavba

Vzhledem ke značné velikosti LCD displeje jsem se rozhodl umístit ho nad desku plošných spojů a připojit pinovou lištou. Samotná DPS obsahuje jen málo součástek, které jsou nezbytně nutné pro chod Atmegy a LCD displeje, dále pak už jen konektory k připojení všech požadovaných zařízení. Přímo na DPS je v dutinkové liště zasunutý modul akcelerometru MMA7260, kterému jsem se podrobněji věnoval v samostatném článku.

Pro bluetooth modul OBS410i jsem navrhnul samostatnou malou desku s indikační RGB LED a několika nezbytnými odpory. Výhoda tohoto řešení je, že desku lze jednoduše odpojit, vymontovat a použít jinde, případně nahradit jiným komunikačním modulem. OBS410i je na desce uchycen pomocí speciálního board-to-board konektoru, není tedy třeba na něj přímo pájet vodiče.

Joysticky jsem objednal z Dealextreme, bohužel mají montážní otvory příliš blízko pohyblivé části, proto jsem je namontoval na podkladové plastové destičky. Navíc bylo třeba připájet rezistor R5 s hodnotou 10k (SMD provedení velikosti 1206), aby fungovalo tlačítko. Až později jsem objevil jiný typ joysticku, se kterým by se pravděpodobně pracovalo lépe. Princip funkce všech těchto joysticků je velmi jednoduchý, obsahují dva potenciometry (pro osu x a y) zapojené jako děliče napětí. Na výstupu tedy naměříme hodnotu napětí od 0 do 5 V přímo úměrnou výchylce joysticku v příslušné ose.

Pro stavbu dálkového ovládání jsem použil univerzální plastovou krabičku KP22. Vyřízl jsem otvory pro displej a joysticky, namontoval přepínače, tlačítka, konektor pro USB-UART převodník a konektor pro napájení z adaptéru.

Následující fotografie zachycují montáž desky s elektronikou, joysticků a nakonec i bluetooth modulu do krabičky. Bohužel se mi nepodařilo vhledem k vnitřnímu uspořádání umístit desku s bluetooth modulem tak, aby indikační LED byla viditelná. Prozatím jsem to neřešil, protože LED je nezbytně nutná pouze při technických potížích, kdy je třeba mít přehled o stavu modulu.

K zadnímu dílu krabice je suchým zipem uchycený napájecí akumulátor - pětičlánek NIMH. Do budoucna bych ho rád nahradil držákem na mikrotužkové akumulátory Sanyo Eneloop. Rovněž bych chtěl dořešit i nabíjení bez vyndávání akumulátorů.

Soubory ke stažení

Hotové dálkové ovládání

Na projektu jsem pracoval ve volném čase s přestávkami (někdy dost dlouhými...) od podzimu roku 2012 a hardwarově je až některé drobnosti hotový, software budu nadále rozvíjet. Aktuálně využívám dálkové ovládání především s všesměrovým robotem, nicméně plánuji vyzkoušet ho například s robotickým ramenem Lynxmotion.

- Stránka vytvořena 27. června 2013 -