Sådan genskabes det klassiske pong spil ved hjælp af Arduino

Pong var det første videospil, der nåede massemarkedet. For første gang i historien blev konceptet et videospil bragt ind i familiens hjem takket være Atari 2600 - så det er kun rigtigt, at vi betaler en lille hyldest til denne historiske perle.

Pong var det første videospil, der nåede massemarkedet.  For første gang i historien blev konceptet et videospil bragt ind i familiens hjem takket være Atari 2600 - så det er kun rigtigt, at vi betaler en lille hyldest til denne historiske perle.
Reklame

arduino pong Pong var det første videospil, der nåede massemarkedet. For første gang i historien blev begrebet "videospil" bragt ind i familiens hjem takket være Atari 2600 - så det er kun rigtigt, at vi betaler en lille hyldest til denne historiske perle. Nu kan du genopleve det (ganske vist noget kedeligt gameplay) ved hjælp af en Arduino og nogle fælles komponenter.

Jeg vil ikke lyve - det er usandsynligt, at din datter vil opgive sin Nintendo DS, og det kommer ikke til at give hyggelige timer til hele familien - men det er et fantastisk og let projekt at forbedre din Arduino-kodning. Og hvis du lige er begyndt, så glem ikke at tjekke vores nybegynders Arduino guide.

Vi laver to grundlæggende controllere, og videoen udsendes til dit tv via et standard komposit videokabel.

Krav til Arduino Pong

  • 470 ohm modstand x1
  • 1k ohm modstand x1
  • 10k ohm Potentiometer ( twiddly variable modstand) x2
  • Arduino x1 (enhver version)
  • RCA- stik x1 (hvis du har mere end en, kan du også tilslutte lyden. En for videoen er et minimum)
  • Tænd / sluk knap x1
  • 10k ohm modstand x1

arduino pong

Du vil også downloade TV Out Arduino biblioteket herfra - få TVoutBeta1.zip, den nyeste udgivelse. Placer de resulterende mapper i din / arduino / biblioteksmappen, og genstart Arduino IDE, hvis den allerede er åben.

Tester TV Out

Tag dit RCA-stik og fjern det ydre lag. Saml afskærmningen, vrid og læg den til den ene side. Dette er din grund. I midten skal der være et andet kabel med plastikafskærmning - igen, strip det væk, så du har din signallinie.

arduino pong spil

Loddemåler både 470 ohm og 1k ohm modstande til center signallinjen på din RCA-stik - dette giver et synkroniseringssignal og det faktiske videosignal, kombineret for at producere analog videoindgang. 470 ohm modstanden skal slås ind i digital IO pin D07, mens 1k ohm modstanden går til pin D09.

Disse stifter er indstillet af biblioteket, vi importerer, så du kan ikke ændre dem. En af dine Arduino GND-stifter skal gå til afskærmningen (udenfor) af RCA.

arduino pong spil

Nu kan du gå videre og indlæse i et eksempel; selv om både PAL og NTSC er leveret, bør det ikke rigtig gøre noget med moderne digitale tv - NTSC demo fungerede fint for mig, selvom de var i Storbritannien. Tilslut din tv, og få en dejlig retro 3D-terning. Oooooh yeah - er du spændt endnu? Jeg er.

arduino pong spil

Test Analoge Potentiometer Indgange

Okay, vi har TV-udgangen i gang, nu skal vi tage en tur med controllerne. Ledningerne på "potterne" er ikke så kritiske - hver skal have 3 ben, og den centrale producerer næsten altid udgangssignalet. Tråd det til A0 og A1 (en for hver pot). På en af ​​sidespidserne - det er ligegyldigt hvilken - ledning op + 5V. Den anden stift på den anden side skal gå til jorden.

Her har jeg lagt dem begge mod hver på enkelt brødbræt, fordi jeg kun har korte ledninger. For et poleret produkt vil du bruge nogle gamle netværkskabler til at give dig en smule afstand (så du kan faktisk sidde i sofaen for at spille).

arduino pong projekt

Herefter skal du indlæse et af de grundlæggende eksempelskitser, der følger med Arduino - den analoge indgang en. Denne demonstration blinker indbygget LED hurtigere eller langsommere, afhængigt af indgangen på A0.

Det tester ikke den anden A1 pot, men hvis du har A0 tilkoblet lige så kan jeg ikke se, hvordan du ville lave en fejl på A1, så lad os antage det er alt godt og gå videre.

Tilføj en startkontakt

Endelig tilføjer vi en startkontakt på D02. Se ledningsdiagrammet her for hvordan du gør det. Denne switch bruges til at starte spillet, når det er i menuen.

arduino pong projekt

The Pong Code

Vi bruger nogle kode oprindeligt skrevet af Lamonica, ændret af duboisvb til to spillere, og opdateret af mig selv for at bruge den nyeste beta version af tv-ud biblioteket. Du kan se og downloade koden fra denne pastebin.

Det er ret langt, men simpel kode, der ikke kræver nogen forklaring fra mig. Ligesom de fleste spil er det afhængig af en spiltilstand (menu, i spillet, spillet over) og læser inputværdierne for begge controllere og skifter hver iteration af sløjfen. Udover det er metoderne til at tegne skærmen, bolden, padlerne og spillogikken.

arduino pong projekt

Bemærk, at koden også indeholder lydudgang : Jeg kunne ikke finde flere RCA-stik til at teste det, men hvis du har nogle, så led signalstiften direkte til D11, og du skal få nogle behagelige retrotoner.

arduino pong

For at være ærlig vidste jeg ikke, at Arduino endda kunne udføre tv uden nogen uhyre kompleks kodning; tv-biblioteket gør det meget nemt. Selvom du ikke er i retro-spil, er det en god måde at bruge eksisterende udstyr på som en billig overvågningsenhed ved at bruge denne grundlæggende tv-udgang. Du kan selvfølgelig også producere farve.

Tror du, du får en tur på Arduino Pong, eller måske lav din egen retro videogame-remake? Fortæl os i kommentarerne, hvis du har!

In this article