Innehållsförteckning:

LED Strip Atari Pong Arcade Machine: 8 steg
LED Strip Atari Pong Arcade Machine: 8 steg

Video: LED Strip Atari Pong Arcade Machine: 8 steg

Video: LED Strip Atari Pong Arcade Machine: 8 steg
Video: Chip 8 Old Tech in a New Light 2024, November
Anonim
LED Strip Atari Pong Arcade Machine
LED Strip Atari Pong Arcade Machine

Mitt namn är Gabriel Podevin och detta är min allra första intructable. Jag är för närvarande en 16 -årig gymnasieelev som älskar att skapa och bygga saker samtidigt som jag är mycket intresserad av elektronik, robotik, kretsar och programmering. Jag hoppas att du kan hitta den här oförstörbara användbarheten.

I denna instruerbara kommer jag att visa dig hur du gör ett retro -format Atari Pong -spel i ett retro arkadfodral. Du kan se ovanstående video för en demo av projektet, du kan också se det färdiga projektet och fallet ensam och i de två bilderna. I slutet av denna oföränderliga kommer jag att dyka djupare in i koden och hur jag redigerar den för att anpassa den.

Den grundläggande listan kommer att delas in i sektionerna: Verktyg, monteringsdelar och komponenter

De verktyg du behöver kommer att innehålla följande:

- Drill

- Lödkolv

- Skruvmejsel (matchar de skruvar du väljer att använda)

- Multimätare

- cirkulationssåg, bandsåg eller laserskärare har du tillgång till en

-Wire cutter eller sax

- Limpistol

Delar som du behöver för montering inkluderar

- Trälim

- 10 en tum för en tum träklossar

- stort ark av kvartstumsskikt eller valfritt trä

- 24 skruvar en halv tum lång

- 14 x 6,5 tum LED -diffusionsplast (tillval)

- röd och blå eltejp

De komponenter du behöver är:

- 2 100k ohm potentiometrar

- 8 meter individuellt adresserbar LED -remsa (30 lysdioder per meter)

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

- flera meter tråd eller flera trådfärger

- nätadapter till nätadapter som matar ut 6v via en fatkontakt

- 1 arduino Uno R3

om du inte har tillgång till en Arduino Uno R3 som jag själv kan du bygga en som den jag kommer att använda i detta projekt som använder en atmel328-pu-processor. Följ den här länken för att lära dig hur du bygger ditt eget

Om du använder en arduino uno fortsätter du till steg ett.

Steg 1: Bygg LED -matrisen

Bygga LED -matrisen
Bygga LED -matrisen
Bygga LED -matrisen
Bygga LED -matrisen
Bygga LED -matrisen
Bygga LED -matrisen

Detta steg är det enklaste tidskrävande steget på grund av all lödning du måste göra.

-för att börja behöver du en 10 3/4 tum med 6 1/2 tum träbit.

-När du har din träbit, ta tag i din Led -remsa och skär 26 segment var 10: e led eller var 6 1/2 tum.

-efter att klippa segmenten limma dem ner till ditt trä vertikalt som visas i följande bilder som visas i den första bilden ovan.

-När du har limmat remsorna och låtit dem lösa sig börjar vi lödda.

-du behöver tre trådar i olika färger

-Det bör vara anslutet med alla positiva anslutningar till en tråd och alla negativa ansluta till en tråd medan den sista tråden kommer att leda ihop ledremsorna. De andra bilderna i början av detta steg är ett diagram som visar dig hur du ansluter ledningarna.

-Slutligen, efter att du har lödt dem, kommer du helt enkelt att linda en remsa med elektriska på dina lödanslutningar med motsvarande färger. som visas på den tredje bilden ovan.

-slutligen kommer vi att ansluta till Arduino. din digitala ingång eller din mittkabel kommer att ansluta till din digitala ingång 6 -stift och din jord och positiva kommer att ansluta till de positiva och negativa skenorna på kortet.

Steg 2: Paddlarna

Paddlarna
Paddlarna
Paddlarna
Paddlarna
Paddlarna
Paddlarna

För detta mycket enkla steg är allt du behöver göra att lödda tre ledningar till varje potentiometer. Om du håller potentiometern med lödpunkterna vända från dig kommer den vänstra tappen att vara positiv, så kommer den mittre tappen att matas ut och den högra tappen slipas. som visas i diagrammet ovan

När du väl har lödt trådarna ansluter vi dem till Arduino. du possitive och negativa kommer att ansluta till där motsvarande positiva och negativa regn. du matar ut ledningar på potentiometrarna kommer att ansluta till olika ingångar på arduino. den ena ansluter till (A0) kontakten och den andra ansluter till (A1) kontakten.

Steg 3: Skär höljet

Skär fallet
Skär fallet
Skär fallet
Skär fallet
Skär fallet
Skär fallet
Skär fallet
Skär fallet

den här delen ger dig mått och vinklar på vad du behöver klippa

**** mycket viktigt ***** se till att ditt virke är en tjocklek (1/4 tum)

Kom också ihåg att märka dina delar när du skär ut delar

den grundläggande delen som ska klippas kommer att märkas botten, baksida, topp, framsida, framsida … visas på bilderna i början

delmått

- Botten: 13 3/4 tum X 10 1/4 tum

- Rygg: 13 3/4 tum X 15 1/2 tum

- Topp: 13 3/4 tum X 6 1/2 tum

- Främre botten: 13 3/4 tum X 4 1/4 tum

- Slåpanel: 13 3/4 tum X 6 tum

- Inre topp: 13 3/4 tum X 3 1/4 tum

- LED -sidospår: 6 1/4 tum X 1 tum (skär två av dessa)

- LED Inre botten: 13 1/4 tum X 4 1/2 tum

- inre bakre LED -panel: 13 1/4 tum X 9 tum

- Block: 1 tum X 1 tum X 1 tum (skär 10 block)

- Akrylpanel: 13 3/4 tum X 6 1/2 tum

Bilderna ovan visar dig sidopanelens vinklar och mått. du måste också klippa två av den här delen

Steg 4: Fodralmontering

Skåpmontering
Skåpmontering
Skåpmontering
Skåpmontering
Skåpmontering
Skåpmontering

Vid den här punkten i dessa instruktioner har du nästan avslutat det hela. Sätt din förmodligen att jag har alla dessa delar och utskärningar vad gör jag med dem. Detta sista steg kommer att instruera dig hur du monterar ditt fall.

-Det första vi ska göra är att börja montera fallet. det är här allt du träklipp från föregående steg kommer till nytta.

-För att börja montera behöver vi 4 av 1x1x1 träblocken basen, de två sidopanelerna, baksidan och den främre botten. placera de fyra blocken i varje hörn av botten och lämna en fjärdedel tum mellan kanten och blocket som visas på den andra bilden vid tiggeriet av steget.

-nästa måste du borra några pilothål från genom träet och blocken. när du har gjort den skruven sedan till botten.

-Nästa ska vi sätta på sidopanelerna. Placera panelerna på kvartstumsgapet på blockets utsida. borra ett pilothål genom sidopanelen och träklossen och skruva in panelerna. upprepa för andra sidan.

-Efter att du har slutfört sidopanelerna. vi kommer att sätta på den främre bottenpanelen. placera panelen i linje med botten och sidorna borra pilothålen i blocken och skruva fast panelen.

-Slutligen kommer vi att sätta på ryggen. gör samma sak som du gjorde med den främre bottenpanelen och skruva in dig igen.

-I denna punkt har du en grund att bygga på och en förståelse för hur vi monterar det här fallet.

-Denna nästa del är lite mer utmanande eftersom du arbetar med ett mindre område. för att börja behöver vi alla toppdelar och 6 block.

-Lägg det du har byggt hittills på ryggen och placera blocken i hörnen en kvarts tum från toppen. (som visas på den tredje bilden i början)

-borra styrhålen för sidorna och baksidan och skruva in dem.

-Nu kommer vi att sätta ihop resten av toppen

-Ta din översta panel och placera den på blocken borra pilothålen och skruva in toppen. efter att du finska som vänder upp och ner *** försiktigt *** och placerar ett block i varje hörn parallellt med kanten. borra pilothål från sidopanelerna och skruva fast dem på blocket. vrid höljet upprätt igen och borra pilothål genom toppen i blocken och skruva in det.

-den här boet är lite knepigt. du behöver frontpanelen och de sista två blocken. borra först ett pilothål i de föregående blocken genom din övre frontpanel och skruva in den. Ta nu de sista två blocken och placera dem inuti hörnet och skruva fast din sidopanel och din främre toppanel i blocken. vänd upp och ned igen på höljet och placera den inre toppanelen på blocket och skruva fast det.

-du borde stå kvar med något liknande (visas på den första bilden i detta steg)

nästa steg kommer att förklara resten av församlingen.

Steg 5: Avsluta monteringen

Slutför monteringen
Slutför monteringen
Slutför monteringen
Slutför monteringen
Slutför monteringen
Slutför monteringen

Vid denna tidpunkt har du nästan slutfört fallet och bygget bara några saker att sätta på plats och du kommer att bli klar.

Nu återstår bara att installera elektroniken.

-Vi börjar med att borra hål i din urtavla för din potentiometer. borra gärna hålen där du känner att det skulle vara bekvämt. i mitt fall har jag placerat hålen 2 1/2 tum från botten och 3 1/2 tum från sidan för båda potentiometrarna.

-När du har borrat dina hål kommer vi att sätta den här panelen på fodralet. men istället för att skruva fast det ska vi limma det helt enkelt lägga en generös mängd lim längs höljet kanten och placera panelen på och hålla den med några klämmor eller något tungt.

-När limet har torkat kommer vi att sätta i de elektroniska delarna. Men först måste vi ta bort bakpanelen.

-När baksidan är av rekommenderar jag att du placerar fodralet nedåt så att det blir lättare att sätta in lysdioderna och andra komponenter inuti.

-Nu när du har baksidan kommer vi att placera potentiometern inuti höljet genom att helt enkelt sätta dem genom hålen vi just borrade och lägga en generös mängd varmt lim.

*** varning ***-Var extremt försiktig när du sätter in LED-matrisen eftersom lödpunkterna kan vara bräckliga.

-Nu har vi nått den viktigaste delen, att sätta in led -matrisen. placera helt enkelt tavlan i som visas på den andra bilden.

-Gå in din LED -inre panel och placera den inuti fodralet direkt under LED -arrayens bakpanel. det här stycket kan passa mig. låt det också torka innan du fortsätter.

-Du har nått den sista delen. Jag rekommenderar att måla ena sidan av denna sista del (LED inre rygg) svart eller vitt för en kontrast mellan lysdioderna och denna del.

-Vi vet att du placerar detta direkt bakom LED -baksidan och trycker lätt mot baksidan av lysdioderna så att de inte rör sig. applicera lim längs kanten för att förhindra att den rör sig. visas på den tredje bilden.

**** Grattis du har avslutat hela monteringen !!!

fortsätt till det sista steget för att koda spelet

Steg 6: Koden

Grattis än en gång till att du har kommit så här långt.

i det här avsnittet kommer jag att visa dig koden och hur du får den att fungera förutom saker i koden du kan ändra och anpassa den.

men innan vi kommer in på det behöver du (adafruit_NeoPixel-master) jag har också länkat nedladdningen.

för att installera master öppna ditt arduino -program

1. gå till skiss

2. öppna inkluderar bibliotek

3. klicka på (add.zip -bibliotek)

4. välj (adafruit_NeoPixel-master) -filen och du är klar

under detta har jag klistrat in koden för spelet.

#omfatta

#omfatta

lång ballXabs = 12;

lång bollYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int index;

int fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - paddlewidth + 1;

int knobseg = 1023 / (paddlemax);

int paddle1 = 4;

int paddle2 = 4;

#define NUMPIXELS 260

#definiera PIN 6

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

void setup () {

pixlar. börjar ();

Serial.begin (9600);

}

void loop () {

rensa skärmen();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixlar. visa ();

detectCollision ();

fördröjning (fps);

}

void clearScreen () {

för (int i = 0; i <NUMPIXELS; i ++) {

pixels.setPixelColor (i, pixlar. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void detectCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (paddle1);

if (ballvelX> 0 && ballXabs> = 25) {// kolliderar höger vägg

Serial.println ("CollisionX");

poäng1 (); // ballvelX*=-1;

}

if (ballvelX <0 && ballXabs <= 0) {// kolliderar vänster vägg

Serial.println ("CollisionX");

poäng2 (); // ballvelX*=-1;

}

if (ballvelY> 0 && ballYabs> = 9) {// kolliderar övervägg

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

}

if (ballvelY <0 && ballYabs <= 0) {// kolliderar bottenväggen

Serial.println ("CollisionY");

bollY *= -1;

}

// upptäcka paddel 2 -kollision

if ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))

{// kolliderar höger vägg

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

// upptäcka paddel 1 -kollision

if ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))

{// kolliderar höger vägg

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

}

void updatePaddle1 () {

int knopp = analogRead (A0);

paddla1 = rund ((lång) vred / (lång) knobseg);

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

paddle2 = rund ((lång) knopp2 / (lång) knobseg);

}

void displayBall () {

ballX = rund (ballXabs);

ballY = rund (ballYabs);

if (ballX % 2! = 0) {

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

om (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixlar. Color (30, 0, 0)); // vänster sida av bollfärg

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixlar. Color (30, 0, 0)); // höger sida av bollens färg

}

if (ballY! = 9) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // bollfärgens undersidor

}

if (ballY! = 0) {pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // bollens färgsidor

}

}

annat {

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

pixlar.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixlar. Color (30, 0, 0)); // vänster sida av bollen jämn rad

}

om (ballX! = 25) {

pixlar.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixlar. Color (30, 0, 0)); // höger sida av bollen jämn rad

}

om (ballY! = 9) {

pixels.setPixelColor (index + 1, pixlar. Color (30, 0, 0)); // bollens nedre sida jämn rad

}

if (ballY! = 0) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // bollens ovansidor jämn rad

}

}

pixels.setPixelColor (index, pixlar. Color (255, 0, 0)); /// mitten av bollens färg

}

void displayPaddle1 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));

}

}

void displayPaddle2 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));

}

}

void score1 () {

resetBall (0);

}

void score2 () {

resetBall (1);

}

void resetBall (int player) {

fördröjning (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = spelare? 1: -1;

kula Y = 1;

rensa skärmen();

fördröjning (1000);

displayBall ();

pixlar. visa ();

fördröjning (1000);

displayPaddle1 ();

displayPaddle2 (); pixlar. visa (); fördröjning (2000); }

Steg 7: Efterbehandling

Efterbehandling
Efterbehandling

När du har laddat upp koden borra ett hål i bakpanelen som är tillräckligt stor för din fatuttagsadapter. Anslut den till arduinoen och montera slutligen tillbaka.

Jag inkluderade också på LED -listan LED -diffusor akryl du kan nu placera den över lysdioderna och limma ner den

När du har gjort detta är du redo att spela och njuta av timmarna med tävlingsspel mot familj och vänner.

Slutligen vill jag gratulera dig till projektet.

Kontakta mig här om du har några problem så hjälper jag dig gärna att lösa problemet.

Rekommenderad: