1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Kdo si hraje nezlobí! To je asi nejpřesnější úvod k tomuto článku, protože dnes to bude o hraní. Budeme si hrát s Atari na PC, nebo telefonu či tabletu s Androidem.

Ten kdo zná staré Atari hry, jistě zná taky emulátory, jako například Atari800Win PLus 4.0 pro PC, nebo Colleen pro Android. Problém je v tom, že bez pořádného Atari joysticku to není ono. Jenže jak připojit Atari joystick k PC nebo Androidu?

Odpovědí je adaptér, neboli převodník. Dá se koupit na eBay, ale ten není dokonalý a funguje jen na určitém emulátoru. Tak proč si nevyrobit vlastní pomocí Arduina! Co že to je? Zde je vysvětlení na Wikipedii. Ve zkratce, Arduino je počítač (tzv. MCU), který má různé vsupy a výstupy, a pomocí programu se tyto vstupy/výstupy dají ovládat. A jelikož se mi zrovna jedno Arduino Micro dostalo do ruky, nebylo nic jednodušího, než si konvertor Atari Joystick<>PC/Android vyrobit. Atari joysticky mám a tak jsem se s chutí vrhnul na tvoření.

Nebudu se zde pouštět do obsáhlého návodu, jak a proč. Jednoduše Vám zde poskytnu návod, jak to vše zbastlit, včetně mého vlastního programu pro Arduino. Jen krátce pohovořím o vzniku celého dílka.

1. Co budeme potřebovat
2. Vznik a první návrh
3. Tištěný spoj
4. Program
5. Krabička
6. Nastavení emulátorů
7. Ovládání
8. Závěr

1. Co budeme potřebovat
 a) Tento návod je pro Arduino Micro, které se dá na eBay sehnat za cca 250,-. Dnes bych se rozhodnul pro lacinější variantu Arduino Micro Pro také s procesorem Atmel ATmega32U4, které stojí jen cca 100,- Bohužel má jinak piny a celý návrh by se musel předělat. Odměnou by ale byly menší rozměry a náklady, které by dohromady i s materiálem nepřesáhly 160,-
 b) Součástky: jednostraný tištěný spoj, dvě různé LED, dva 1k rezistory, 2 kusy RS232 konektorů a tlačítkový spínač do PCB.
 c) Laserovou tiskárnu a vše co je třeba pro výrobu tištěného spoje (popsáno třeba zde)
 d) Plastovou krabičku.
 e) A samozřejmě Arduino IDE, které stáhnete zde.

2. Vznik a první návrh
Na výrobu mne přivedlo několik okolností. Hraní Atari her ;-) Objev adaptéru na eBay, který jsem zakoupil a později litoval vyhozených peněz. A diskuse s kamarádem Adamem, který mi pověděl o Arduino projektu.

Vše se zdálo najednou tak snadné, že jsem se do toho bez váhání pustil. Nejdříve jsem připravil návrh v nepájivém poli. Bez velkého uvažování jsem nastrkal kontakty Joysticku k Arduinu a naprogramoval první verzi programu. Vše se ukázalo funkční, bohužel již návrh tištěného spoje naznačil, že se vše bude muset předělat. Takové zapojení by šlo obtížně přenést na jednostraný tištěný spoj a výroba oboustraného tištěného mi připadala, pro tak jednoduchý projekt, skutečně zbytečná.

  • 01_navrh_zapojeni

3. Tištěný spoj
Tištěný spoj jsem navrhnul v Corelu, jelikož je to jen bastl a použití náročných návrhových programů by bylo spíš na škodu. Jak bylo v předchozím bodu zmíněno, bylo třeba změnit prvotní zapojení i program, aby šel vyrobit jednostranný tištěný spoj a nemusel jsem se babrat s oboustraným tišťákem. Přidal jsem tam i zbytečné piny, ale když už jsem byl v tom malování, tak mi to nedalo...

Vzniklo z toho:

  • 02_tistak_navrh
  • 03_tistak_vyroba_1
  • 03_tistak_vyroba_2
  • 03_tistak_vyroba_3
  • 04_tistak_pajeni

Nakonec jsem se rozhodnul spoj pocínovat, což jak vidíte, asi nebyl nejlepší nápad. Vypadá to dost amatérsky!

4. Program
V programu bylo třeba vyřešit jednu záludnost jménem debouncing. To jsem obešel funkcí delay(), což sice není z programátorského hlediska ideální, ale funguje to. Vše je o tom, že Arduino převede vstup na pinech z joysticků na stisky kláves a pošle je po USB do emulátoru. Jednoduše řečeno, Adruino emuluje funkci klávesnice. Program je primitivní a napsat ho bylo asi tím nejjednoduším v celém projektu. Vzniklo několik verzí a poslední verze 4 je již finální produkt opovídající tištěnému spoji.

Verze 4 ke stažení zde.

Nainstalujte si Arduino IDE. Stažený zip soubor rozbalte do adresáře k projektům (Většinou složka dokumentů\Arduino), a v Arduino IDE soubor Atari_Joystick_v4.ino otevřete. Připojte Arduino USB kabelem k PC a počkejte, až si Windows nainstaluje ovladače. Potom v IDE vyberte typ a správný COM port (Nástroje>Vývojová deska>Arduino/Genduino Micro) a (Nástroje>Port>COMx). Pak už jen stačí v menu vybrat "Projekt>Nahrát Ctrl+U". A Arduino je naprogramované na svou roli Atari konvertoru.

5. Krabička
Největším problémem byla asi krabička. Neměl jsem doma nástroje na jemnou práci jako je vrtání, vyřezávání, broušení atp. Proto první krabička nedopadla zrovna ideálně, ale za určitý úspěch se to považovat dá. Naštěstí mi Ježíšek nadělil vše potřebné pro jemnou práci a příští výrobky už budou vznikat daleko jednodušeji, ale hlavně rychleji!

  • 05_slozeni_1
  • 05_slozeni_2
  • 05_slozeni_3
  • 05_slozeni_4
  • 05_slozeni_5
  • 05_slozeni_6

6. Nastavení emulátorů
Konvertor má dva módy, PC a Android. V Android módu generuje jinou klávesu po stisku tlačítka (střelba), jinak jsou oba módy stejné. Vlastně by ani módů nebylo třeba, protže Android emulátor umí jen jeden Joystick, ale pro pořádek jsem se rozhodnul pro toto řešení.

PC mód Joystick 1 - klávesové šipky (směr), Pravé Ctrl(střelba)
PC mód Joystick 2 - numerická klávesnice (směr), Enter na numerické klávesnici (střelba)

Android mód Joystick 1 - klávesové šipky (směr), Enter(střelba)
Android mód Joystick 2 - numerická klávesnice (směr), Enter na numerické klávesnici (střelba)

Podle toho musíme v emulátorech v sekci Joystick nastavit správně hodnoty. Myslím, že to nepotřebuje popis a každý to jistě zvládne sám...

  • Atari800win_setup
  • ColleenSetup

7. Ovládání
Konvertor se pro PC/Android přepíná spínačem na boku, v každém módu se rozsvítí patřičná LED. V mém případě červená pro PC mó a žlutá pro Android mód.

  • 06_zapojeni_1
  • 06_zapojeni_2

8. Závěr
A to je vše! Přikládám ještě obrazovou galerii, jak si může 43. letý mladík hrát jako starej Jarda. Nebo naopak, vyberte si. Jen si představte, že si notebook připojíte k 55" LED televizy. Tak neváhejte! Atari nebe čeká! :-)

  • 01_navrh_zapojeni
  • 02_tistak_navrh
  • 03_tistak_vyroba_1
  • 03_tistak_vyroba_2
  • 03_tistak_vyroba_3
  • 04_tistak_pajeni
  • 05_slozeni_1
  • 05_slozeni_2
  • 05_slozeni_3
  • 05_slozeni_4
  • 05_slozeni_5
  • 05_slozeni_6
  • 06_zapojeni_1
  • 06_zapojeni_2
  • hrani_1
  • hrani_2