Innholdsfortegnelse:

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

Video: LED Strip Atari Pong Arcade Machine: 8 trinn

Video: LED Strip Atari Pong Arcade Machine: 8 trinn
Video: LED PONG Arcade Game Rental by Castle Party Rental - New for 2019 2024, November
Anonim
LED Strip Atari Pong Arcade Machine
LED Strip Atari Pong Arcade Machine

Mitt navn er Gabriel Podevin, og dette er min aller første intructable. Jeg er for tiden en 16 år gammel videregående student som liker å lage og bygge ting mens han er veldig interessert i elektronikk, robotikk, kretser og programmering. Jeg håper du kan finne denne ufeilbare finne dette nyttig.

I denne instruksen vil jeg vise deg hvordan du lager et Atari Pong -spill i retrostil inne i en retro arkadekasse. Du kan se videoen ovenfor for en demo av prosjektet, du kan også se det ferdige prosjektet og saken alene og i de to bildene. På slutten av denne uforgjengelige vil jeg dykke dypere inn i koden og hvordan jeg kan redigere den for å tilpasse den.

Den grunnleggende delelisten vil bli delt inn i seksjonene: Verktøy, monteringsdeler og komponenter

Verktøyene du trenger vil omfatte følgende:

- Bore

- Loddejern

- Skrutrekker (matcher skruene du bestemmer deg for å bruke)

- Multimåler

- sirkulerende sag, båndsag eller laserskærer har du tilgang til en

-Wire cutter eller saks

- Limpistol

Deler du trenger for montering inkluderer

- Trelim

- 10 en tomme for en tommers treblokker

- stort ark med kvart tommers tre eller tre etter eget valg

- 24 skruer en halv tomme i lengden

- 14 x 6,5 tommer ledd diffuserende plast (valgfritt)

- rødt og blått elektrisk tape

Komponentene du trenger er:

- 2 100k ohm potensiometre

- 8 meter individuelt adresserbar LED -stripe (30 lys per meter)

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

- flere meter wire eller flere farger av wire

- vekselstrømadapter til vekselstrøm som sender ut 6v gjennom en fatkontakt

- 1 arduino Uno R3

Hvis du ikke har tilgang til en Arduino Uno R3 som meg selv, kan du bygge en som jeg vil bruke i dette prosjektet som bruker en atmel328-pu-prosessor. Følg denne lenken for å lære hvordan du bygger ditt eget

Hvis du bruker en arduino uno, fortsett til trinn én.

Trinn 1: Bygg LED Array

Bygger LED Array
Bygger LED Array
Bygger LED Array
Bygger LED Array
Bygger LED Array
Bygger LED Array

Dette trinnet er det enkleste tidkrevende trinnet på grunn av all lodding du må gjøre.

-til å begynne med trenger du en 10 3/4 tommer med 6 1/2 tommer stykke tre.

-Når du har treverket ditt, ta tak i Led -stripen og kutt 26 segmenter hver 10. LED eller hver 6 1/2 tomme.

-etter å ha klippet segmentene, lim dem ned til treet ditt vertikalt som vist på de følgende bildene vist på det første bildet ovenfor.

-Når du har limt strimlene ned og latt dem sette seg, begynner vi å lodde.

-Du trenger tre ledninger i forskjellige farger

-Den skal være koblet til alle positive som er koblet til en ledning og alle negative tilkobling til en ledning mens den siste ledningen vil slange led -stripene sammen. De andre bildene i begynnelsen av dette trinnet er et diagram som viser deg hvordan du kobler ledningene.

-Til slutt, etter at du har loddet dem, vil du ganske enkelt pakke inn en stripe elektrisk på loddetilkoblingene med de tilsvarende fargene. som vist på det tredje bildet ovenfor.

-sist vil vi koble til Arduino. din digitale inngang eller den midterste ledningen vil koble til den digitale inngangen med 6 pinner, og din jordede og positive vil koble til de positive og negative skinnene på brettet.

Trinn 2: Paddle -kontrollene

Padlekontrollene
Padlekontrollene
Padlekontrollene
Padlekontrollene
Padlekontrollene
Padlekontrollene

For dette veldig enkle trinnet er det bare å lodde tre ledninger til hvert potensiometer. Hvis du holder potensiometeret med loddepunktene vendt vekk fra deg, vil den venstre tappen være positiv, senterstiften blir sendt ut og den høyre tappen blir malt. som vist i diagrammet ovenfor

Når du har loddet ledningene på, kobler vi dem til Arduino. du possitive og negative vil koble til det tilsvarende positive og negative regnet. du sender ut ledninger på potensiometrene vil koble til forskjellige innganger på arduinoen. den ene vil koble til (A0) pluggen og den andre vil koble til (A1) pluggen.

Trinn 3: Klippe saken

Klipper saken
Klipper saken
Klipper saken
Klipper saken
Klipper saken
Klipper saken
Klipper saken
Klipper saken

denne delen vil gi deg dimensjoner og vinkler på hva du trenger å kutte

**** veldig viktig ***** sørg for at treverket ditt er en centimeter tykt (1/4 tommer)

også når du kutter ut deler, husk å merke delene dine

den grunnleggende delen som skal kuttes, er merket med bunn, bakside, topp, front øverst, foran nederst …. vist på bildene i begynnelsen

del dimensjoner

- Bunn: 13 3/4 tommer X 10 1/4 tommer

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

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

- Bunn foran: 13 3/4 tommer X 4 1/4 tommer

- Oppringingspanel: 13 3/4 tommer X 6 tommer

- Indre topp: 13 3/4 tommer X 3 1/4 tommer

- LED -sidespor: 6 1/4 tommer X 1 tommer (kutt to av disse)

LED indre bunn: 13 1/4 tommer X 4 1/2 tommer

- indre bakside LED -panel: 13 1/4 tommer X 9 tommer

- Blokker: 1 tommer X 1 tommer X 1 tommer (kutt 10 blokker)

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

Bildene ovenfor viser deg vinklene og dimensjonene på sidepaneldelen. også må du kutte to av denne delen

Trinn 4: Kassemontering

Kassemontering
Kassemontering
Kassemontering
Kassemontering
Kassemontering
Kassemontering

På dette tidspunktet i disse instruksjonene har du nesten fullført det hele. sette din sannsynlig tenker jeg har alle disse delene og cutouts hva gjør jeg med dem. Dette siste trinnet vil lære deg hvordan du monterer saken din.

-Det første vi skal gjøre er å begynne å montere saken. det er her alt du vedklipp fra forrige trinn kommer godt med.

-For å begynne monteringen trenger vi 4 av 1x1x1 treblokker basen, de to sidepanelene, baksiden og frontbunnen. plasser de 4 blokkene på hvert hjørne av bunnen og la en kvart tomme være mellom kanten og blokken som vist på det andre bildet ved tigging av trinnet.

-påfølgende må du bore noen styrehull fra gjennom skogen og blokkene. når du har gjort den skruen til bunnen.

-Neste skal vi sette på sidepanelene. Plasser panelene på kvart tommers gap på utsiden av blokken. bor et pilothull gjennom sidepanelet og treblokken og skru inn panelene. Gjenta for den andre siden.

-Etter å ha fullført sidepanelene. vi skal sette på det nedre frontpanelet. plasser panelet i flukt med bunnen og sidene bor styrehullene i blokkene og skru på panelet.

-Til slutt vil vi legge på ryggen. gjør det samme som du gjorde med det nedre frontpanelet og skru deg inn igjen.

-På dette punktet har du et grunnlag å bygge på og en forståelse for hvordan vi samler denne saken.

-Denne neste delen er litt mer utfordrende fordi du jobber med et mindre område. For å begynne trenger vi alle toppdelene og 6 blokker.

-Legg det du har bygget så langt på ryggen, og legg blokkene i hjørnene en kvart tomme fra toppen. (som vist på det tredje bildet i begynnelsen)

-bor hullene til sidene og baksiden og skru dem inn.

-nå skal vi sette sammen resten av toppen

-Ta det øverste panelet og legg det på blokkene. Bor hull i hullene og skru inn toppen. Etter at du finsk som snur forsiden opp ned *** forsiktig *** og legg en blokk i hvert hjørne parallelt med kanten. bor styrehull fra sidepanelene og skru dem til blokken. snu saken tilbake oppreist og bor styrehull gjennom toppen inn i blokkene og skru den inn.

-den reirdelen er litt vanskelig. du trenger frontpanelet og de to siste blokkene. bor først et pilothull i de forrige blokkene gjennom det øverste frontpanelet og skru det inn. Ta nå de siste to blokkene og legg dem inne i hjørnet og skru sidepanelet og det fremre toppanelet til blokkene. snu saken opp og ned igjen og legg det indre toppanelet på blokken og skru det inn.

-Du bør sitte igjen med noe slikt (vist på det første bildet av dette trinnet)

neste trinn vil forklare resten av forsamlingen.

Trinn 5: Fullfør monteringen

Fullføring av forsamlingen
Fullføring av forsamlingen
Fullføring av forsamlingen
Fullføring av forsamlingen
Fullføring av forsamlingen
Fullføring av forsamlingen

På dette tidspunktet har du nesten fullført saken og bygget bare noen få ting du skal sette på plass, og du vil være ferdig.

Nå gjenstår det bare å installere elektronikken.

-Vi begynner med å bore hull i oppringingspanelet for potensiometeret ditt. bor gjerne hullene der du føler det ville være behagelig. i mitt tilfelle har jeg plassert hullene 2 1/2 tommer fra bunnen og 3 1/2 tommer fra siden for begge potensiometrene.

-Når du har boret hullene, legger vi dette panelet på saken. men i stedet for å skru den fast, limer vi den. Bare legg en generøs mengde lim langs kantkassen og legg på panelet og hold det med noen klemmer eller noe tungt.

-Når limet er ferdig tørket, legger vi i de elektroniske delene. Men først må vi fjerne bakpanelet.

-Når baksiden er av, anbefaler jeg at du plasserer saken foran og gjør det lettere å sette lysdiodene og andre komponenter inne.

-Nå som du har ryggen av, vil vi plassere potensiometeret inne i saken ved ganske enkelt å sette dem gjennom hullene vi nettopp boret og legge en sjenerøs mengde varmt lim.

*** forsiktig ***-Vær ekstremt forsiktig når du setter inn LED-matrisen fordi loddepunktene kan være skjøre.

-Nå har vi nådd den viktigste delen, å sette inn led -matrisen. Bare legg brettet inn som vist på det andre bildet.

-Gå inn det ledde indre panelet ditt og legg det inne i saken rett under LED -bakpanelet. dette stykket kan passe godt til meg. la det også tørke før du fortsetter.

-Du har nådd den siste delen. Jeg anbefaler å male den ene siden av denne siste delen (LED innvendig rygg) svart eller hvit for en kontrast mellom lysdiodene og denne delen.

-Vi vet at du plasserer dette rett bak LED -støtten og trykker lett mot baksiden av lysdiodene for å unngå at de beveger seg. en gang satt inn, påfør lim langs kanten for å forhindre at den beveger seg. vist på det tredje bildet.

**** gratulerer med at du har fullført hele forsamlingen !!!

fortsett til det siste trinnet for å kode spillet

Trinn 6: Koden

Gratulerer nok en gang med at du har kommet så langt.

i denne delen vil jeg vise deg koden og hvordan du får den til å fungere i tillegg til ting i koden du kan endre og tilpasse den.

men før vi går inn på at du trenger (adafruit_NeoPixel-master) har jeg også koblet nedlastingen.

for å installere master, åpne arduino -programmet

1. gå til skisse

2. åpen inkluderer bibliotek

3. klikk (add.zip bibliotek)

4. velg filen (adafruit_NeoPixel-master) og du er ferdig

under dette har jeg limt inn koden for spillet.

#inkludere

#inkludere

lang ballXabs = 12;

lang ballYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int indeks;

int fps = 50;

int padlebredde = 3;

int paddlemax = 9 - padlebredde + 1;

int knobseg = 1023 / (paddlemax);

int padle1 = 4;

int paddle2 = 4;

#define NUMPIXELS 260

#definere PIN 6

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

ugyldig oppsett () {

pixels.begin ();

Serial.begin (9600);

}

void loop () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

piksler.vis ();

detectCollision ();

forsinkelse (fps);

}

void clearScreen () {

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

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

}

}

void updateBall () {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void detectCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (padle1);

hvis (ballvelX> 0 && ballXabs> = 25) {// kolliderer høyre vegg

Serial.println ("CollisionX");

poengsum1 (); // ballvelX*=-1;

}

hvis (ballvelX <0 && ballXabs <= 0) {// kolliderer venstre vegg

Serial.println ("CollisionX");

poengsum2 (); // ballvelX*=-1;

}

hvis (ballvelY> 0 && ballYabs> = 9) {// kolliderer toppvegg

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

}

hvis (ballvelY <0 && ballYabs <= 0) {// kolliderer bunnveggen

Serial.println ("CollisionY");

ballvelY *= -1;

}

// oppdag kollisjon mellom padle 2

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

{// kolliderer høyre vegg

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

// oppdag kollisjon med padle 1

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

{// kolliderer høyre vegg

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

}

void updatePaddle1 () {

int knott = analogRead (A0);

padle1 = rund ((lang) knott / (lang) knobseg);

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

padle2 = rund ((lang) knott2 / (lang) knobseg);

}

void displayBall () {

ballX = rund (ballXabs);

ballY = rund (ballYabs);

hvis (ballX % 2! = 0) {

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

hvis (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // venstre side av ballcolor

}

hvis (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // høyre farge på ballen

}

hvis (ballY! = 9) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // undersiden av kulens farge

}

hvis (ballY! = 0) {pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // oversiden av ballfargen

}

}

annet {

indeks = ballY + 10 * ballX; hvis (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // venstre side av ballen jevn rad

}

hvis (ballX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // høyre side av ballen jevn rad

}

hvis (ballY! = 9) {

pixels.setPixelColor (indeks + 1, pixels. Color (30, 0, 0)); // undersiden av ballen jevn rad

}

hvis (ballY! = 0) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // oversiden av ballen jevn rad

}

}

pixels.setPixelColor (indeks, pixels. Color (255, 0, 0)); /// senter for ballfarge

}

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));

}

}

ugyldig score1 () {

resetBall (0);

}

ugyldig score2 () {

resetBall (1);

}

void resetBall (int player) {

forsinkelse (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = spiller? 1: -1;

ballvelY = 1;

clearScreen ();

forsinkelse (1000);

displayBall ();

piksler.vis ();

forsinkelse (1000);

displayPaddle1 ();

displayPaddle2 (); piksler.vis (); forsinkelse (2000); }

Trinn 7: Etterbehandling

Etterbehandling
Etterbehandling

Når du har lastet opp koden, borer du et hull i bakpanelet som er stort nok til fatningsadapteren. koble den til arduinoen og sett til slutt tilbake på baksiden.

Jeg inkluderte også LED -diffusor akryl på delelisten du kan nå plassere den over lysdiodene og lime den ned

Etter at du har gjort dette er du klar til å spille og nyte timene med konkurransedyktige spill mot familie og venner.

Til slutt vil jeg gratulere deg med prosjektet.

Kontakt meg her hvis du har problemer, og jeg vil gjerne hjelpe deg med å løse problemet.

Anbefalt: