Obsah:

Arkádový stroj LED Strip Atari Pong: 8 kroků
Arkádový stroj LED Strip Atari Pong: 8 kroků

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

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

Jmenuji se Gabriel Podevin a toto je můj úplně první nestrukturovatelný. V současné době jsem 16letý student střední školy, který miluje vytváření a stavění věcí a velmi se zajímá o elektroniku, robotiku, obvody a programování. Doufám, že můžete najít tuto nestrukturovatelnou, která vám pomůže.

V tomto návodu vám ukážu, jak vytvořit retro hru Atari Pong uvnitř retro arkádového pouzdra. Na výše uvedeném videu můžete vidět ukázku projektu, můžete také vidět hotový projekt a samotný případ a na dvou obrázcích. Na konci této nestrukturovatelné se ponořím hlouběji do kódu a jak jej upravit tak, aby jej bylo možné personalizovat.

Seznam základních dílů bude rozdělen do sekcí: Nástroje, montážní díly a součásti

Nástroje, které budete potřebovat, budou zahrnovat následující:

- Vrták

- Páječka

- šroubovák (odpovídající šroubům, které se rozhodnete použít)

- Multimetr

- oběhová pila, pásová pila nebo laserová řezačka máte k jedné přístup

-Řezačka drátu nebo nůžky

- Tavná pistole

Součástí budou díly, které budete potřebovat k montáži

- Lepidlo na drevo

- 10 bloků dřeva jeden palec na jeden palec

- velký list čtvrtpalcového překližkového dřeva nebo dřeva dle výběru

- 24 šroubů o délce půl palce

- 14 x 6,5 palců LED difuzního plastu (volitelně)

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

Požadované součásti jsou:

- 2 100k ohm potenciometry

- 8 metrů individuálně adresovatelného LED pásu (30 LED na metr)

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

- několik metrů drátu nebo více barev drátu

- napájecí adaptér střídavého proudu na stejnosměrný proud, který má výstup 6v přes konektor typu barel jack

- 1 arduino Uno R3

pokud nemáte přístup k Arduino Uno R3 jako já, můžete si postavit takový, jaký budu používat v tomto projektu, který používá procesor atmel328-pu. Pomocí tohoto odkazu se dozvíte, jak si vytvořit vlastní

Pokud používáte arduino uno, pokračujte prvním krokem.

Krok 1: Sestavení pole LED

Budování LED pole
Budování LED pole
Budování LED pole
Budování LED pole
Budování LED pole
Budování LED pole

Tento krok je nejjednodušší časově náročný krok kvůli veškerému pájení, které musíte provést.

-Na začátek budete potřebovat kus dřeva o rozměrech 10 3/4 palce x 6 1/2 palce.

-až budete mít kus dřeva, vezměte si LED pásek a ořízněte 26 segmentů každých 10 LED nebo každých 6 1/2 palce.

-Po řezání segmentů je přilepte svisle k vašemu dřevu, jak ukazuje následující obrázky zobrazené na prvním obrázku výše.

-Po tom, co jste lepili proužky dolů a nechali je usadit, začneme pájet.

-budete potřebovat tři různě barevné dráty

-mělo by být zapojeno se všemi klady připojenými k jednomu vodiči a všemi negativy připojenými k jednomu drátu, zatímco poslední vodič spojí LED pásky dohromady. Druhý obrázek na začátku tohoto kroku je diagram, který vám ukáže, jak připojit vodiče.

-Konečně poté, co je pájíte, jednoduše omotáte na vaše pájecí spoje proužek elektřiny odpovídajícími barvami. jak ukazuje třetí obrázek výše.

-posledně se připojíme k Arduinu. váš digitální vstup nebo váš střední vodič se k vám připojí digitální vstup 6 pinů a vaše zem a kladný vodič se připojí k kladným a záporným kolejnicím na desce.

Krok 2: Paddle Controls

Paddle Controls
Paddle Controls
Paddle Controls
Paddle Controls
Paddle Controls
Paddle Controls

Pro tento velmi jednoduchý krok budete muset ke každému potenciometru připájet tři vodiče. pokud držíte potenciometr pájecími body směrem od sebe, bude levý hrot kladný, bude vycházet středový hrot a pravý hrot bude uzemněn. jak je znázorněno na obrázku výše

jakmile připájíte vodiče, připojíme je k Arduinu. vaše pozitivní a negativní se tam spojí s odpovídajícími pozitivními a negativními dešti. vaše výstupní vodiče na potenciometrech se připojí k různým vstupům na arduinu. jeden se připojí ke konektoru (A0) a druhý ke konektoru (A1).

Krok 3: Řezání pouzdra

Řezání pouzdra
Řezání pouzdra
Řezání pouzdra
Řezání pouzdra
Řezání pouzdra
Řezání pouzdra
Řezání pouzdra
Řezání pouzdra

tato část vám poskytne rozměry a úhly toho, co budete muset řezat

**** velmi důležité ***** ujistěte se, že vaše dřevo je čtvrt palce silné (1/4 palce)

také při vyřezávání dílů nezapomeňte své díly označit

základní část k řezání bude označena spodní, zadní, horní, přední horní, přední spodní…. zobrazené na obrázcích na začátku

rozměry dílu

- Dole: 13 3/4 palce X 10 1/4 palce

- Zadní strana: 13 3/4 palce X 15 1/2 palce

- Nahoře: 13 3/4 palce X 6 1/2 palce

- Přední spodní část: 13 3/4 palce X 4 1/4 palce

- Panel vytáčení: 13 3/4 palce x 6 palců

- Vnitřní horní část: 13 3/4 palce X 3 1/4 palce

- LED vlečka: 6 1/4 palce x 1 palec (odstřihněte dva z nich)

- LED spodní dno: 13 1/4 palce x 4 1/2 palce

- vnitřní zadní LED panel: 13 1/4 palce X 9 palců

- Bloky: 1 palec X 1 palec X 1 palec (řez 10 bloků)

- Akrylový panel: 13 3/4 palce X 6 1/2 palce

Výše uvedené obrázky vám ukážou úhly a rozměry části bočního panelu. také budete muset snížit dva z této části

Krok 4: Sestavení pouzdra

Sestava skříně
Sestava skříně
Sestava skříně
Sestava skříně
Sestava skříně
Sestava skříně

Tímto bodem těchto pokynů jste téměř celou věc dokončili. asi si myslíte, že mám všechny tyto části a výřezy, co s nimi udělám. Tento poslední krok vás naučí, jak sestavit kufr.

-První věc, o kterou se chystáme, je začít sestavovat případ. zde se vám budou hodit všechny výřezy ze dřeva z předchozího kroku.

-K zahájení montáže budeme potřebovat 4 bloky dřeva 1x1x1, základnu, dva boční panely, zadní a přední dno. umístěte 4 bloky do každého rohu dna a ponechte čtvrt palce mezi okrajem a blokem, jak je znázorněno na druhém obrázku, při žebrání kroku.

-dále budete muset vyvrtat několik pilotních děr skrz dřevo a bloky. jakmile ten šroub uděláte, pak dolů.

-Následně nasadíme boční panely. Panely umístěte na mezeru čtvrt palce na vnější straně bloku. vyvrtejte pilotní otvor skrz boční panel a dřevěný blok a přišroubujte panely. Opakujte pro druhou stranu.

-Po dokončení bočních panelů. nasadíme přední spodní panel. umístěte panel do roviny se dnem a po stranách vyvrtejte pilotní otvory do bloků a panel přišroubujte.

-Konečně se oblékneme. udělejte to samé, co jste udělali s předním spodním panelem a zašroubujte zpět.

-V tomto bodě máte základ, ze kterého můžete vycházet, a pochopení toho, jak tento případ sestavujeme.

-Tato další část je trochu náročnější, protože pracujete s menší oblastí. pro začátek budeme potřebovat všechny horní části a 6 bloků.

-Položte to, co jste doposud postavili, a umístěte bloky do rohů čtvrt palce od vrcholu. (jak ukazuje třetí obrázek na začátku)

-vyvrtejte pilotní otvory pro boky a záda a zašroubujte je.

-Nyní sestavíme zbytek vrcholu

-vezměte horní panel a položte jej na bloky, vyvrtejte pilotní otvory a zašroubujte vršek. Poté, co finsky obrátíte sestavu vzhůru nohama *** opatrně *** a do každého rohu umístěte blok rovnoběžně s hranou. vyvrtejte pilotní otvory z bočních panelů a přišroubujte je k bloku. otočte pouzdro vzpřímeně a vyvrtejte pilotní otvory skrz vrchol do bloků a zašroubujte je.

-tato část hnízda je trochu ošidná. budete potřebovat přední horní panel a poslední dva bloky. nejprve vyvrtejte pilotní otvory do předchozích bloků horním předním panelem a přišroubujte je. Nyní vezměte poslední dva bloky a vložte je dovnitř do rohu a přišroubujte boční panel a přední horní panel k blokům. znovu otočte pouzdro dnem vzhůru a položte vnitřní horní panel na blok a zašroubujte jej.

-mělo by vám něco takového zůstat (zobrazeno na prvním obrázku tohoto kroku)

další krok vysvětlí zbytek sestavy.

Krok 5: Dokončení montáže

Dokončení montáže
Dokončení montáže
Dokončení montáže
Dokončení montáže
Dokončení montáže
Dokončení montáže

V tomto okamžiku jste téměř dokončili případ a stavbu, jen pár věcí, které musíte dát na místo, a budete hotovi.

Nyní zbývá jen nainstalovat elektroniku.

-Začneme vyvrtáním otvorů do panelu číselníku pro váš potenciometr. klidně vyvrtejte otvory tam, kde cítíte, že by to bylo pohodlné. v mém případě jsem umístil otvory 2 1/2 palce od dna a 3 1/2 palce od boku pro oba potenciometry.

-Jakmile vyvrtáte otvory, umístíme tento panel na pouzdro. ale místo toho, abychom jej přišroubovali, jednoduše jej přilepíme na okraj skříně a naneseme na něj velké množství lepidla, panel umístíme a přidržíme ho některými svorkami nebo něčím těžkým.

-Po zaschnutí lepidla vložíme elektronické součástky. Nejprve však budeme muset odstranit zadní panel.

-Jakmile je zadní strana vypnutá, doporučuji umístit pouzdro zepředu dolů, aby bylo snazší umístit diody LED a další součásti dovnitř.

-Nyní, když máte zadní stranu, umístíme potenciometr do pouzdra jednoduchým prostrčením otvorů, které jsme právě vyvrtali, a nanesením velkorysého množství horkého lepidla.

*** pozor ***-Při vkládání pole LED buďte velmi opatrní, protože pájecí body mohou být křehké.

-Teď jsme dosáhli nejdůležitější části, vložením led pole. jednoduše vložte desku, jak je znázorněno na druhém obrázku.

-Jakmile získáte vnitřní LED panel a umístěte jej do pouzdra přímo pod zadní panel LED pole. tento kousek by mi mohl těsně sedět. také nechte uschnout, než budete pokračovat.

-Dosáhli jste poslední části. Doporučuji natřít jednu stranu této finální části (vnitřní LED zpět) černou nebo bílou pro kontrast mezi LED a touto částí.

-Budeme vědět, že to umístíme přímo za zadní stranu LED a lehce zatlačíme na zadní stranu LED, aby se nepohybovaly. po nanesení naneste lepidlo podél okraje, aby se zabránilo jeho pohybu. zobrazeno na třetím obrázku.

**** Gratulujeme, dokončili jste celou sestavu !!!

pokračujte posledním krokem ke kódování hry

Krok 6: Kód

Ještě jednou gratuluji, že jste se dostali tak daleko.

v této sekci vám ukážu kód a jak ho zajistit, aby kromě věcí v kódu bylo možné jej změnit a přizpůsobit.

ale než se do toho pustíme, budete potřebovat (adafruit_NeoPixel-master), který jsem také propojil se stahováním.

pro instalaci předlohy otevřete svůj program arduino

1. přejděte na skicu

2. otevřít zahrnout knihovnu

3. klikněte (knihovna add.zip)

4. vyberte soubor (adafruit_NeoPixel-master) a máte hotovo

pod to jsem vložil kód pro hru.

#zahrnout

#zahrnout

dlouhý míčXabs = 12;

dlouhý míčYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int index;

int fps = 50;

int šířka pádla = 3;

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

int knobseg = 1023 / (paddlemax);

int pádlo1 = 4;

int pádlo2 = 4;

#define NUMPIXELS 260

#definovat PIN 6

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

neplatné nastavení () {

pixely.begin ();

Serial.begin (9600);

}

prázdná smyčka () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixely.show ();

detectCollision ();

zpoždění (fps);

}

void clearScreen () {

pro (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) {// srazí pravou zeď

Serial.println ("CollisionX");

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

}

if (ballvelX <0 && ballXabs <= 0) {// srazí levou zeď

Serial.println ("CollisionX");

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

}

if (ballvelY> 0 && ballYabs> = 9) {// srazí horní stěnu

Serial.println ("CollisionY"); ballvelY *= -1;

}

if (ballvelY <0 && ballYabs <= 0) {// srazí spodní stěnu

Serial.println ("CollisionY");

ballvelY *= -1;

}

// detekce kolize pádla 2

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

{// srazí pravou zeď

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

// detekce kolize pádla 1

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

{// srazí pravou zeď

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

}

zrušit updatePaddle1 () {

knob int = analogRead (A0);

pádlo1 = kulatý ((dlouhý) knoflík / (dlouhý) knoflík);

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

pádlo2 = kulatý ((dlouhý) knoflík2 / (dlouhý) knoflík);

}

zrušit displayBall () {

ballX = kulatý (ballXabs);

ballY = kulatý (ballYabs);

if (ballX % 2! = 0) {

index = (9 - ballY) + 10 * ballX;

if (ballX! = 0) {

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

}

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

}

if (ballY! = 9) {pixels.setPixelColor (index - 1, pixely. Color (30, 0, 0)); // spodní strany barvy koule

}

if (ballY! = 0) {pixely.setPixelColor (index + 1, pixely. Color (30, 0, 0)); // horní strany barvy koule

}

}

jinak {

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

pixely.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixely. Color (30, 0, 0)); // levá strana koule sudá řada

}

if (ballX! = 25) {

pixely.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixely. Color (30, 0, 0)); // pravá strana koule sudá řada

}

if (ballY! = 9) {

pixely.setPixelColor (index + 1, pixely. Color (30, 0, 0)); // spodní strany rovnoměrné řady koulí

}

if (ballY! = 0) {pixels.setPixelColor (index - 1, pixely. Color (30, 0, 0)); // horní strany rovnoměrné řady koulí

}

}

pixely.setPixelColor (index, pixely. Color (255, 0, 0)); /// střed barvy koule

}

zrušit displayPaddle1 () {

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

}

}

zrušit displayPaddle2 () {

pro (int i = 0; i <šířka 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) {

zpoždění (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = hráč? 1: -1;

ballvelY = 1;

clearScreen ();

zpoždění (1000);

displayBall ();

pixely.show ();

zpoždění (1000);

displayPaddle1 ();

displayPaddle2 (); pixely.show (); zpoždění (2000); }

Krok 7: Dokončení

Dokončování
Dokončování

Jakmile kód nahrajete, vyvrtejte do zadního panelu dostatečně velkou díru pro napájecí adaptér barel jack. zapojte ho do arduina a nakonec znovu sestavte záda.

Do seznamu součástí jsem také zahrnoval akrylový LED difuzor, který nyní můžete umístit přes LED a přilepit

Poté, co to uděláte, jste připraveni hrát a užívat si hodiny soutěžních her proti rodině a přátelům.

Na závěr bych vám chtěl poblahopřát k dokončení projektu.

Pokud máte nějaké problémy, kontaktujte mě zde a já vám rád pomůžu problém vyřešit.

Doporučuje: