Obsah:

Arkádový stroj LED Strip Atari Pong: 8 krokov
Arkádový stroj LED Strip Atari Pong: 8 krokov

Video: Arkádový stroj LED Strip Atari Pong: 8 krokov

Video: Arkádový stroj LED Strip Atari Pong: 8 krokov
Video: за Killer Instinct - Музыкальная история до Ultra Combo, от Arcade до SNES 2024, Júl
Anonim
Arkádový stroj LED Strip Atari Pong
Arkádový stroj LED Strip Atari Pong

Moje meno je Gabriel Podevin a toto je môj úplne prvý nezničiteľný. Momentálne som 16 -ročný stredoškolák, ktorý miluje vytváranie a stavanie vecí, pričom ho veľmi zaujíma elektronika, robotika, obvody a programovanie. Dúfam, že vám tento nezničiteľný bude nápomocný.

V tomto návode vám ukážem, ako vytvoriť retro hru Atari Pong v retro arkádovom kufríku. Vyššie uvedené video si môžete pozrieť ako ukážku projektu, môžete tiež vidieť hotový projekt a samotný prípad a na dvoch obrázkoch. Na konci tejto nezničiteľnej sa ponorím hlbšie do kódu a toho, ako ho upraviť a prispôsobiť ho.

Zoznam základných dielov bude rozdelený na sekcie: Nástroje, montážne diely a komponenty

Nástroje, ktoré budete potrebovať, budú zahŕňať nasledujúce:

- Vŕtačka

- Spájkovačka

- skrutkovač (zodpovedajúci skrutkám, ktoré sa rozhodnete použiť)

- Multi meter

- obežná píla, pásová píla alebo laserová rezačka majú k jednej prístup

-Strihač drôtov alebo nožnice

- Lepiaca pištoľ

Súčasťou budú diely, ktoré budete potrebovať k montáži

- lepidlo na drevo

- 10 blokov dreva jeden palec na jeden palec

- veľký list štvrť palcového vrstveného dreva alebo dreva podľa výberu

- 24 skrutiek s dĺžkou pol palca

- 14 x 6,5 palca LED difúzneho plastu (voliteľné)

- červená a modrá elektrická páska

Potrebné súčasti sú tieto:

- 2 100 kOhm potenciometre

- 8 metrov individuálne adresovateľného LED pásu (30 LED na meter)

www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-

- niekoľko metrov drôtu alebo viacfarebné lano

- sieťový adaptér striedavého prúdu na jednosmerný prúd, ktorý napája 6 V cez konektor typu barel jack

- 1 arduino Uno R3

Ak nemáte prístup k Arduino Uno R3 ako ja, môžete si postaviť taký, aký použijem v tomto projekte, ktorý používa procesor atmel328-pu. Nasledujte tento odkaz a zistite, ako si vytvoriť vlastnú

Ak používate arduino uno, pokračujte prvým krokom.

Krok 1: Zostavenie poľa LED

Budovanie LED poľa
Budovanie LED poľa
Budovanie LED poľa
Budovanie LED poľa
Budovanie LED poľa
Budovanie LED poľa

Tento krok je časovo najjednoduchší krok kvôli všetkému spájkovaniu, ktoré musíte vykonať.

-Na začiatok budete potrebovať kus dreva 10 3/4 palca x 6 1/2 palca.

-Akonáhle budete mať svoj kus dreva, vezmite si pásik LED a odrežte 26 segmentov každých 10 LED alebo každých 6 1/2 palca.

-Po narezaní segmentov ich prilepte zvislo k drevu, ako je to znázornené na nasledujúcich obrázkoch uvedených na prvom obrázku vyššie.

-Keď ste prúžky zlepili a nechali ich usadiť, začneme spájkovať.

-budete potrebovať tri rôzne farebné drôty

-malo by byť zapojené so všetkými pozitívami, ktoré sa pripájajú k jednému vodiču, a všetkými negatívmi, ktoré sa pripájajú k jednému vodiču, zatiaľ čo posledný vodič spojí LED pásy k sebe. Druhý obrázok na začiatku tohto kroku je diagram, ktorý vám ukáže, ako pripojiť vodiče.

-Konečne potom, čo ste ich spájkovali, jednoducho omotáte na vaše spájkovacie spoje elektrický prúd zodpovedajúcimi farbami. ako je znázornené na treťom obrázku vyššie.

-Nakoniec sa pripojíme k Arduinu. váš digitálny vstup alebo váš stredný vodič sa k vám spojí s digitálnym vstupom 6 pinov a uzemnenie a plus sa spoja s kladnými a zápornými koľajničkami na doske.

Krok 2: Pádlové ovládače

Pádlové ovládače
Pádlové ovládače
Pádlové ovládače
Pádlové ovládače
Pádlové ovládače
Pádlové ovládače

Pre tento veľmi jednoduchý krok budete musieť spájať tri vodiče ku každému potenciometru. ak držíte potenciometer spájkovacími bodmi smerom od seba, ľavý hrot bude kladný, stredný hrot bude vychádzať a pravý hrot bude uzemnený. ako je znázornené na obrázku vyššie

akonáhle spájkujete vodiče, pripojíme ich k Arduinu. vaše pozitívne a negatívne sa tam spoja s príslušnými pozitívnymi a negatívnymi dažďami. vaše výstupné vodiče na potenciometroch sa pripoja k rôznym vstupom na arduine. jeden sa zapojí do konektora (A0) a druhý do konektora (A1).

Krok 3: Vyrezanie puzdra

Rezanie puzdra
Rezanie puzdra
Rezanie puzdra
Rezanie puzdra
Rezanie puzdra
Rezanie puzdra
Rezanie puzdra
Rezanie puzdra

táto časť vám poskytne rozmery a uhly toho, čo budete musieť rezať

**** veľmi dôležité ***** uistite sa, že vaše drevo je hrubé štvrť palca (1/4 palca)

aj pri vyrezávaní dielov nezabudnite označiť svoje diely

základná časť na vystrihnutie bude označená zospodu, zozadu, zhora, predne hore, predne dole…. zobrazené na obrázkoch na začiatku

rozmery dielu

- Spodok: 13 3/4 palcov x 10 1/4 palcov

- Zadná strana: 13 3/4 palcov x 15 1/2 palcov

- Horná časť: 13 3/4 palcov x 6 1/2 palcov

- Predná spodná časť: 13 3/4 palcov x 4 1/4 palcov

- Panel vytáčania: 13 3/4 palcov x 6 palcov

- Vnútorný vrch: 13 3/4 palcov X 3 1/4 palcov

- LED vlečka: 6 1/4 palcov x 1 palec (odstrihnite dve z nich)

- Vnútorné dno LED: 13 1/4 palcov x 4 1/2 palcov

- vnútorný zadný panel LED: 13 1/4 palcov x 9 palcov

- Bloky: 1 palec x 1 palec x 1 palec (narezané 10 blokov)

- Akrylový panel: 13 3/4 palcov x 6 1/2 palcov

Vyššie uvedené obrázky vám ukážu uhly a rozmery bočného panelu. tiež budete musieť odrezať dve z tejto časti

Krok 4: Zostavenie puzdra

Zostava puzdra
Zostava puzdra
Zostava puzdra
Zostava puzdra
Zostava puzdra
Zostava puzdra

V tomto bode týchto pokynov ste takmer celú vec dokončili. pravdepodobne si myslíte, že mám všetky tieto časti a výrezy, čo s nimi urobím. Tento posledný krok vás naučí, ako zostaviť puzdro.

-Prvá vec, o ktorú sa chystáme, je začať skladať prípad. tu sa vám zídu všetky výrezy z dreva z predchádzajúceho kroku.

-Na začatie montáže budeme potrebovať 4 drevené bloky 1x1x1, dve bočné panely, zadné a predné dno. umiestnite 4 bloky do každého rohu dna a ponechajte štvrť palca medzi okrajom a blokom, ako je znázornené na druhom obrázku, pri žobraní kroku.

-Ďalej budete musieť vyvŕtať niekoľko pilotných otvorov cez drevo a bloky. akonáhle ste urobili túto skrutku, potom na dno.

-Ďalej nasadíme bočné panely. Panely položte na štvrťpalcovú medzeru na vonkajšej strane bloku. vyvŕtajte pilotný otvor cez bočný panel a drevený blok a zaskrutkujte panely. Opakujte pre druhú stranu.

-Po dokončení bočných panelov. nasadíme predný spodný panel. umiestnite panel do roviny so spodkom a po stranách vyvŕtajte pilotné otvory do blokov a panel priskrutkujte.

-Konečne sa oblečieme. urobte to isté, čo ste urobili s predným dolným panelom a zaskrutkujte späť.

-Do tohto bodu máte základ, z ktorého môžete vychádzať, a pochopenie toho, ako tento prípad zostavujeme.

-Táto ďalšia časť je o niečo náročnejšia, pretože pracujete s menšou plochou. na začiatok budeme potrebovať všetky horné časti a 6 blokov.

-Položte, čo ste doteraz postavili, na jeho chrbát a bloky umiestnite do rohov štvrť palca zhora. (ako je znázornené na treťom obrázku na začiatku)

-vyvŕtajte pilotné otvory pre boky a chrbát a zaskrutkujte ich.

-teraz zostavíme zvyšok vrcholu

-vezmite horný panel a položte ho na bloky, vyvŕtajte pilotné otvory a zaskrutkujte hornú časť. Potom, čo vo fínčine obrátite zostavu hore nohami *** opatrne *** a do každého rohu umiestnite blok rovnobežne s okrajom. vyvŕtajte pilotné otvory z bočných panelov a priskrutkujte ich k bloku. otočte puzdro vzpriamene a vyvŕtajte pilotné otvory zhora do blokov a zaskrutkujte ich.

-táto časť hniezda je trochu zložitá. budete potrebovať predný horný panel a posledné dva bloky. najskôr vyvŕtajte pilotné otvory do predchádzajúcich blokov cez horný predný panel a zaskrutkujte ich. Teraz vezmite posledné dva bloky a umiestnite ich dovnútra do rohu a priskrutkujte bočný panel a predný horný panel k blokom. znova otočte puzdro hore dnom a nasaďte vnútorný horný panel na blok a zaskrutkujte ho.

-malo by vám niečo také zostať (zobrazené na prvom obrázku tohto kroku)

ďalší krok vysvetlí zvyšok zostavy.

Krok 5: Dokončenie montáže

Dokončenie zhromaždenia
Dokončenie zhromaždenia
Dokončenie zhromaždenia
Dokončenie zhromaždenia
Dokončenie zhromaždenia
Dokončenie zhromaždenia

V tomto bode ste takmer dokončili prípad a stavbu. Stačí nainštalovať pár vecí a budete hotoví.

Teraz zostáva už len inštalácia elektroniky.

-Začneme vŕtaním dier do panela s číselníkom pre potenciometer. kľudne vyvŕtajte diery tam, kde to bude pohodlné. v mojom prípade mám otvory 2 1/2 palca zospodu a 3 1/2 palca zboku pre oba potenciometre.

-Keď vyvŕtate diery, nasadíme tento panel na puzdro. ale namiesto toho, aby sme ho priskrutkovali, budeme ho lepiť, jednoducho naneste dostatočné množstvo lepidla pozdĺž okraja skrinky a panel umiestnite a podržte pomocou svoriek alebo niečoho ťažkého.

-Po zaschnutí lepidla vložíme elektronické súčiastky. Najprv však budeme musieť odstrániť zadný panel.

-Akonáhle je zadná strana vypnutá, odporúčam vám umiestniť puzdro spredu nadol, aby ste uľahčili vloženie diód LED a ďalších komponentov dovnútra.

-Teraz, keď máte zadnú stranu, umiestnime potenciometer do puzdra jednoduchým prevlečením cez otvory, ktoré sme práve vyvŕtali, a nanesieme dostatočné množstvo horúceho lepidla.

*** pozor ***-Pri vkladaní poľa LED buďte veľmi opatrní, pretože spájkovacie body môžu byť krehké.

-Teraz sme sa dostali k najdôležitejšej časti, pričom sme zaradili pole LED. jednoducho vložte dosku, ako je znázornené na druhom obrázku.

-Keď vstúpite do vnútorného panelu LED, umiestnite ho do puzdra priamo pod zadný panel poľa LED. tento kúsok by mi mohol tesne sedieť. tiež nechajte uschnúť, než budete pokračovať.

-Dosiahli ste poslednú časť. Odporúčam natrieť jednu stranu tejto konečnej časti (vnútorný zadný diel LED) čiernou alebo bielou farbou, aby bol kontrast medzi diódami LED a touto časťou.

-Budeme vedieť, že to umiestnime priamo za podložku LED a zľahka zatlačíme na zadnú stranu diód LED, aby sa nepohybovali. po vložení naneste lepidlo pozdĺž okraja, aby ste zabránili jeho pohybu. zobrazený na treťom obrázku.

**** gratulujem, že ste dokončili celú montáž !!!

pokračujte k poslednému kroku na kódovanie hry

Krok 6: Kód

Ešte raz gratulujeme, že ste sa dostali až sem.

v tejto časti vám okrem vecí v kóde ukážem kód a spôsob, ako ho zaistiť, aby fungoval. Môžete ho zmeniť a prispôsobiť.

ale než sa do toho dostaneme, budete potrebovať (adafruit_NeoPixel-master), ktorý som prepojil aj so sťahovaním.

Ak chcete nainštalovať predlohu, otvorte program arduino

1. choďte do náčrtu

2. otvorená zahrnutá knižnica

3. kliknite na (knižnica add.zip)

4. vyberte súbor (adafruit_NeoPixel-master) a máte hotovo

pod toto som vložil kód hry.

#zahrnúť

#zahrnúť

dlhá loptaXabs = 12;

dlhá loptaYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int index;

int fps = 50;

vnútorná šírka pádla = 3;

int paddlemax = 9 - šírka pádla + 1;

int knobseg = 1023 / (paddlemax);

int pádlo1 = 4;

int pádlo2 = 4;

#define NUMPIXELS 260

#definujte PIN 6

Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

neplatné nastavenie () {

pixely.begin ();

Serial.begin (9600);

}

prázdna slučka () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixely.show ();

detectCollision ();

oneskorenie (fps);

}

void clearScreen () {

pre (int i = 0; i <NUMPIXELS; i ++) {

pixely.setPixelColor (i, pixely. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void detectCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (pádlo1);

if (ballvelX> 0 && ballXabs> = 25) {// narazí do pravej steny

Serial.println ("CollisionX");

skóre1 (); // ballvelX*=-1;

}

if (ballvelX <0 && ballXabs <= 0) {// narazí do ľavej steny

Serial.println ("CollisionX");

skóre2 (); // ballvelX*=-1;

}

if (ballvelY> 0 && ballYabs> = 9) {// narazí na hornú stenu

Serial.println („CollisionY“); guľovitýY *= -1;

}

if (ballvelY <0 && ballYabs <= 0) {// narazí na spodnú stenu

Serial.println („CollisionY“);

guľovitýY *= -1;

}

// detekcia kolízie pádla 2

if ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = pádlo2) && (ballYabs <= pádlo2 + šírka pádla - 1)))

{// narazí na pravú stenu

Serial.println („CollisionPaddle“);

ballvelX *= -1;

}

// detekcia kolízie pádla 1

if ((ballvelX = pádlo1) && (ballYabs <= pádlo1 + šírka pádla - 1)))

{// narazí na pravú stenu

Serial.println („CollisionPaddle“);

ballvelX *= -1;

}

}

void updatePaddle1 () {

int gombík = analogRead (A0);

pádlo1 = okrúhly ((dlhý) gombík / (dlhý) gombík);

}

void updatePaddle2 () {

int gombík2 = analogRead (A1);

pádlo2 = okrúhly ((dlhý) gombík2 / (dlhý) gombík);

}

zrušiť displayBall () {

ballX = guľatý (ballXabs);

ballY = guľatý (ballYabs);

if (ballX % 2! = 0) {

index = (9 - loptaY) + 10 * loptaX;

if (ballX! = 0) {

pixely.setPixelColor (ballY + 10 * (ballX - 1), pixely. Color (30, 0, 0)); // ľavá strana ballcolor

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // pravá strana farby gule

}

if (ballY! = 9) {pixely.setPixelColor (index - 1, pixely. Color (30, 0, 0)); // spodné strany guličkovej farby

}

if (ballY! = 0) {pixely.setPixelColor (index + 1, pixely. Color (30, 0, 0)); // vrchné strany guličkovej farby

}

}

inak {

index = loptaY + 10 * loptaX; if (ballX! = 0) {

pixely.setPixelColor ((9 - guľôčka Y) + 10 * (guľaX - 1), pixely. Farba (30, 0, 0)); // ľavá strana guľového rovnomerného radu

}

if (ballX! = 25) {

pixely.setPixelColor ((9 - guľaY) + 10 * (guľaX + 1), pixely. Color (30, 0, 0)); // pravá strana guľového radu

}

if (ballY! = 9) {

pixely.setPixelColor (index + 1, pixely. Color (30, 0, 0)); // spodné strany rovnomerného radu guličiek

}

if (ballY! = 0) {pixely.setPixelColor (index - 1, pixely. Color (30, 0, 0)); // horné strany guľového rovnomerného radu

}

}

pixely.setPixelColor (index, pixely. Color (255, 0, 0)); /// stred farby gule

}

zrušiť displayPaddle1 () {

pre (int i = 0; i <šírka pádla; i ++) {pixely.setPixelColor (pádlo1+i, pixely. Color (0, 0, 255));

}

}

zrušiť displayPaddle2 () {

pre (int i = 0; i <šírka pádla; i ++) {pixely.setPixelColor (NUMPIXELS - 1 - pádlo2 - i, pixely. Color (0, 0, 255));

}

}

neplatné skóre1 () {

resetBall (0);

}

neplatné skóre2 () {

resetBall (1);

}

void resetBall (int player) {

oneskorenie (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = hráč? 1: -1;

guľovitýY = 1;

clearScreen ();

oneskorenie (1000);

displayBall ();

pixely.show ();

oneskorenie (1000);

displayPaddle1 ();

displayPaddle2 (); pixely.show (); oneskorenie (2000); }

Krok 7: Dokončenie

Dokončovanie
Dokončovanie

Akonáhle nahráte kód, vyvŕtajte v zadnom paneli dostatočne veľkú dieru pre napájací adaptér so sudovým konektorom. zapojte ho do arduina a nakoniec znova zložte zadnú stranu.

Do zoznamu súčiastok som zahrnul aj LED difúzor akryl, ktorý teraz môžete umiestniť na LED diódy a prilepiť ho

Potom, čo ste to urobili, ste pripravení hrať a užiť si hodiny súťažných hier proti rodine a priateľom.

Na záver by som vám chcel zablahoželať k dokončeniu projektu.

Ak máte nejaké problémy, kontaktujte ma tu a ja vám rád pomôžem problém vyriešiť.

Odporúča: