
Edmund Richardson
0
4729
478
Pong byl vůbec první videohra, která dosáhla masového trhu. Poprvé v historii, koncept a “video hra” byl přiveden do rodinného domu, díky Atari 2600 - takže je správné, že tomuto historickému skvostu vzdáváme trochu pocty. Nyní to můžete znovu zažít (je to poněkud nudná hratelnost) pomocí Arduino a některých běžných komponent.
Nebudu lhát - je nepravděpodobné, že se vaše dcera vzdá svého Nintendo DS, a nebude to poskytovat hodiny zábavy celé rodině - ale je to úžasný a snadný projekt, který vylepšuje vaše Arduino kódování. A pokud právě začínáte, nezapomeňte se podívat na našeho průvodce Arduino pro začátečníky.
Vyrobíme dva základní ovladače a video se na váš televizor dostane prostřednictvím standardního kompozitního video kabelu.
Chcete-li tento projekt posunout na další úroveň, můžete si vytisknout přílohu ve 3D. Uživatel YouTube PotentPrintables to udělal!
Požadavky na Arduino Pong
- 470 ohm odpor x1
- 1k ohm odpor x1
- Potenciometr 10 k Ohm (twiddly variabilní rezistor) x2
- Arduino x1 (jakákoli verze)
- RCA zástrčka x1 (Pokud máte více než jeden, můžete také připojit zvuk. Jeden pro video je jen minimum)
- Stiskněte tlačítko přepínač x1
- 10k ohm odpor x1
Zde si také stáhnete knihovnu TV Out Arduino - získejte TVoutBeta1.zip, nejnovější vydání. Umístěte výsledné složky do svého / arduino / knihovny adresář a restartujte Arduino IDE, pokud je již otevřeno.
Testování TV výstupu
Vezměte si RCA zástrčku a odstraňte vnější vrstvu. Shromážděte stínění, otočte jej a odložte stranou. To je vaše země. Uprostřed by měl být další kabel s plastovým stíněním - opět jej odstrčte, abyste měli signální vedení.
Pájejte rezistory 470 ohmů a 1 k ohmy do středního signálního vedení vaší RCA zástrčky - to poskytuje synchronizační signál a skutečný video signál kombinovaný pro vytvoření analogového video vstupu. 470 ohmový rezistor by měl být zasunut do digitálního IO pinu D07, zatímco 1k ohmový rezistor jde na pin D09.
Tyto kolíky jsou nastaveny knihovnou, kterou importujeme, takže je nemůžete změnit. Jeden z vašich pinů Arduino GND by měl jít na stínění (vně) RCA.
Nyní můžete pokračovat a načíst v příkladu; Ačkoli jsou poskytovány jak PAL, tak NTSC, nemělo by to opravdu záležet na moderních digitálních televizích - demo NTSC pro mě fungovalo dobře, přestože jsem byl ve Velké Británii. Připojte se k televizoru a měli byste získat krásnou retro 3D krychli. Oooooh jo - už jsi nadšený? jsem.
Testování vstupů analogového potenciometru
Dobře, máme televizní výstup funkční, teď se pojďme podívat na ovladače. Zapojení “hrnce” není tak kritický - každý by měl mít 3 piny a ten střední téměř vždy vytváří výstupní signál. Zapojte to do A0 a A1 (jeden pro každý pot). Na jednom z postranních kolíků - na tom nezáleží - zapojte + 5V. Druhý kolík na druhé straně by měl jít na zem.
Tady jsem je oba položil čelem na jednu prkénko, protože mám jen krátké dráty. U leštěného produktu budete chtít použít starý síťový kabel, který vám poskytne trochu vzdálenosti (takže si můžete hrát na pohovce a hrát).
Dále nahrajte jeden ze základních příkladů, které jsou dodávány s Arduino - analogovým vstupem. Tato ukázka bude blikat palubní LED rychleji nebo pomaleji v závislosti na vstupu na A0.
To netestuje druhý pot A1, ale pokud máte A0 zapojený hned, tak nevidím, jak byste udělali chybu na A1, takže předpokládejme, že je vše dobré a pokračujte dál.
Přidejte přepínač Start
Nakonec přidáme startovací spínač na D02. Postup naleznete v schématu zapojení. Tento přepínač bude použit ke spuštění hry, když je v nabídce.
The Pong Code
Používáme nějaký kód, který původně napsal Lamonica, upravený duboisvb pro dva hráče a aktualizoval jsem je, aby používal nejnovější beta verzi knihovny TV out. Můžete zobrazit a stáhnout kód z tohoto pastebin.
Je to docela dlouhý, ale jednoduchý kód, který by ode mě neměl vyžadovat žádné vysvětlení. Stejně jako většina her se spoléhá na stav hry (menu, ve hře, hra nad) a čte vstupní hodnoty obou ovladačů a přepíná každou iteraci smyčky. Kromě toho jsou to metody kreslení obrazovky, míče, pádla a logiky hry.
Tento kód zahrnuje audio výstup příliš: Nemohl jsem najít žádné další konektory RCA, které by to otestovaly, ale pokud nějaké máte, připojte signální pin přímo k D11 a měli byste získat nějaké příjemné retro tóny.
Abych byl upřímný, nevěděl jsem, že Arduino dokáže televizní výstup bez nějakého nesmírně složitého kódování; Knihovna TV out to opravdu usnadňuje. I když nejste v retro hrách, použití tohoto základního televizního výstupu je skvělý způsob, jak využít stávající zařízení jako levné monitorovací zařízení. Můžete samozřejmě také výstup barev.
Myslíš si, že půjdeš na Arduino Pong, nebo si možná uděláš svůj vlastní remake retro videohry? Pokud máte, řekněte nám to v komentářích!