Sisällysluettelo:

LED -nauha Atari Pong Arcade Machine: 8 vaihetta
LED -nauha Atari Pong Arcade Machine: 8 vaihetta

Video: LED -nauha Atari Pong Arcade Machine: 8 vaihetta

Video: LED -nauha Atari Pong Arcade Machine: 8 vaihetta
Video: Experience the excitement of Galaxian on the Sinclair ZX Spectrum 2024, Marraskuu
Anonim
LED -nauha Atari Pong Arcade Machine
LED -nauha Atari Pong Arcade Machine

Nimeni on Gabriel Podevin ja tämä on ensimmäinen käsittämätön. Olen tällä hetkellä 16 -vuotias lukion opiskelija, joka rakastaa asioiden luomista ja rakentamista samalla kun olen erittäin kiinnostunut elektroniikasta, robotiikasta, piiristä ja ohjelmoinnista. Toivon, että löydät tämän käsittämättömän löydön tästä hyödylliseksi.

Tässä ohjeessa näytän sinulle, kuinka tehdä retro -tyylinen Atari Pong -peli retro -arcade -kotelon sisällä. Voit nähdä yllä olevan videon projektin esittelyksi, voit myös nähdä valmistuneen projektin ja kotelon yksin ja kahdessa kuvassa. Tämän intructable -ohjelman lopussa aion syventyä koodiin ja kuinka muokata sitä henkilökohtaiseksi.

Perusosaluettelo jaetaan osiin: Työkalut, kokoonpano -osat ja komponentit

Tarvitsemasi työkalut sisältävät seuraavat:

- Poraa

- Juotosrauta

- Ruuvimeisseli (vastaa ruuveja, joita päätät käyttää)

- Monimittari

- pyörivä saha, vannesaha tai laserleikkuri, jos sinulla on pääsy sellaiseen

-Langanleikkuri tai sakset

- Liimapistooli

Osat, joita tarvitset kokoonpanoon, sisältävät

- Puuliima

- 10 yhden tuuman ja yhden tuuman puupalikoita

- suuri arkki neljännes tuuman puukuitu tai puuta valinta

- 24 ruuvia, joiden pituus on puoli tuumaa

- 14 x 6,5 tuumaa led -hajotusmuovia (valinnainen)

- punainen ja sininen sähköteippi

Tarvittavat komponentit ovat:

- 2 100k ohmin potentiometriä

- 8 metriä yksilöllisesti osoitettavaa Led -nauhaa (30 lediä metriä kohti)

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

- useita metrejä lankaa tai useita värejä lankaa

- AC -DC -virtalähde, joka lähettää 6 V: n pistokeliittimen kautta

- 1 arduino Uno R3

jos sinulla ei ole pääsyä Arduino Uno R3 -laitteeseen kuten minä, voit rakentaa sellaisen, jota käytän tässä projektissa, joka käyttää atmel328-pu-prosessoria. Tästä linkistä opit rakentamaan oman

Jos käytät arduino unoa, jatka vaiheeseen 1.

Vaihe 1: LED -järjestelmän rakentaminen

LED -järjestelmän rakentaminen
LED -järjestelmän rakentaminen
LED -järjestelmän rakentaminen
LED -järjestelmän rakentaminen
LED -järjestelmän rakentaminen
LED -järjestelmän rakentaminen

Tämä vaihe on yksinkertaisin aikaa vievä vaihe kaikkien juotosten vuoksi.

-aluksi tarvitset 10 3/4 tuuman ja 6 1/2 tuuman puukappaleen.

-Kun sinulla on puukappale, tartu Led -nauhaasi ja leikkaa 26 segmenttiä 10 ledin tai 6 1/2 tuuman välein.

-liimaa segmentit leikkaamisen jälkeen liimaamalla ne puuhun pystysuoraan, kuten seuraavassa kuvassa näkyy yllä olevassa kuvassa.

-Kun olet liimaillut nauhat alas ja antanut niiden asettua, aloitamme juottamisen.

-tarvitset kolme eriväristä lankaa

-se on kytkettävä niin, että kaikki positiiviset yhdistävät yhteen johtoon ja kaikki negatiivit yhdeksi johtoon, kun taas viimeinen johto käärittää led -nauhat yhteen. Toiset kuvat tämän vaiheen alussa ovat kaavio, joka näyttää kuinka johdot liitetään.

-Lopuksi, kun olet juottanut ne, kiedo juotosliitäntöihin sähkökaistale vastaavilla väreillä. kuten yllä olevassa kolmannessa kuvassa.

-lopulta muodostamme yhteyden Arduinoon. Digitaalitulosi tai keskijohto yhdistää sinut 6 -nastaiseen digitaalituloon ja maadoitus ja positiivinen yhdistyvät levyn positiivisiin ja negatiivisiin kiskoihin.

Vaihe 2: Melaohjaimet

Melaohjaimet
Melaohjaimet
Melaohjaimet
Melaohjaimet
Melaohjaimet
Melaohjaimet

Tätä hyvin yksinkertaista vaihetta varten sinun tarvitsee vain juottaa kolme johtoa jokaiseen potentiometriin. Jos pidät potentiometriä niin, että juotoskohdat ovat poispäin sinusta, vasen piikki on positiivinen, keskimmäinen piikki lähetetään ja oikea piikki maadoitetaan. kuten yllä olevassa kaaviossa on esitetty

Kun olet juottanut johdot, yhdistämme ne Arduinoon. positiiviset ja negatiiviset yhdistävät sinne vastaavat positiiviset ja negatiiviset sateet. Potentiometrien lähtöjohdot yhdistetään arduinon eri tuloihin. toinen liitetään (A0) -pistokkeeseen ja toinen (A1) -pistokkeeseen.

Vaihe 3: Leikkaa kotelo

Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen
Kotelon leikkaaminen

tämä osa antaa sinulle mitat ja kulmat leikattavaksi

**** erittäin tärkeä ***** varmista, että puu on neljäsosa tuumaa paksu (1/4 tuumaa)

myös leikatessasi osia muista muistaa merkitä osat

leikattava perusosa on merkitty ala-, taka-, ylä-, etu- ja etuosaan…. näkyy kuvissa alussa

osan mitat

- Alaosa: 13 3/4 tuumaa X 10 1/4 tuumaa

- Takaosa: 13 3/4 tuumaa X 15 1/2 tuumaa

- Yläosa: 13 3/4 tuumaa X 6 1/2 tuumaa

- Pohja edessä: 13 3/4 tuumaa X 4 1/4 tuumaa

- Valintapaneeli: 13 3/4 tuumaa X 6 tuumaa

- Sisäosa: 13 3/4 tuumaa X 3 1/4 tuumaa

- LED -sivuraide: 6 1/4 tuumaa X 1 tuumaa (leikkaa kaksi näistä)

LED -sisäpohja: 13 1/4 tuumaa X 4 1/2 tuumaa

- sisäinen LED -paneeli: 13 1/4 tuumaa X 9 tuumaa

- Lohkot: 1 tuuma X 1 tuuma X 1 tuuma (leikkaa 10 lohkoa)

- Akryylipaneeli: 13 3/4 tuumaa X 6 1/2 tuumaa

Yllä olevat kuvat osoittavat sivupaneelin osan kulmat ja mitat. myös sinun on leikattava kaksi tätä osaa

Vaihe 4: Kotelon kokoaminen

Kotelon kokoaminen
Kotelon kokoaminen
Kotelon kokoaminen
Kotelon kokoaminen
Kotelon kokoaminen
Kotelon kokoaminen

Tässä vaiheessa näissä ohjeissa olet melkein saanut kaiken valmiiksi. luultavasti luulet, että minulla on kaikki nämä osat ja leikkaukset, mitä teen niille. Tämä viimeinen vaihe opastaa tapauksen kokoamisessa.

-Ensimmäinen asia, jonka aiomme aloittaa, on koota kotelo. tässä ovat kaikki edellisen vaiheen puuleikkaukset hyödyllisiä.

-Kokoonpanon aloittamiseksi tarvitsemme neljä 1x1x1 -puurakennetta, pohja, kaksi sivupaneelia, takaosa ja etuosa. aseta 4 lohkoa pohjan jokaiseen kulmaan ja jätä neljäsosa tuumaa reunan ja lohkon väliin, kuten on esitetty toisessa kuvassa vaiheen alussa.

-Seuraavaksi sinun on porattava hiukkasreikiä puun ja lohkojen läpi. kun olet tehnyt tämän ruuvin sitten pohjaan.

-Seuraavaksi laitamme sivupaneelit paikalleen. Aseta paneelit neljänneksen tuuman rakoon lohkon ulkopuolelle. poraa ohjausreikä sivupaneelin ja puupalkin läpi ja ruuvaa paneelit sisään. toista toisella puolella.

-Sivupaneelien valmistamisen jälkeen. laitamme etupaneelin paikalleen. aseta paneeli tasalle pohjan kanssa ja poraa esireiät lohkoihin ja ruuvaa paneeli kiinni.

-Lopulta laitamme selkänsä. tee sama kuin etupaneelin kanssa ja ruuvaa takaisin sisään.

-Tässä vaiheessa sinulla on perusta, josta rakentaa, ja ymmärrys siitä, miten kokoamme tämän tapauksen.

-Tämä seuraava osa on hieman haastavampi, koska työskentelet pienemmällä alueella. aluksi tarvitsemme kaikki yläosat ja 6 lohkoa.

-Aseta tähän mennessä rakentamasi selkänojalle ja aseta lohkot kulmiin neljänneksen tuuman päässä ylhäältä. (kuten alussa olevassa kolmannessa kuvassa)

-poraa ohjausreiät sivuille ja taakse ja ruuvaa ne kiinni.

-nyt kokoamme loput yläosasta

-Ota yläpaneelisi ja aseta se lohkojen päälle, poraa ohjausreiät ja ruuvaa yläosa sisään. poraa ohjausreiät sivupaneeleista ja ruuvaa ne lohkoon. käännä kotelo takaisin pystyyn ja poraa esireiät yläosan läpi lohkoihin ja ruuvaa se kiinni.

-Tämä pesäosa on hieman hankala. tarvitset etupaneelin ja kaksi viimeistä lohkoa. poraa ensin pilottireiät edellisiin lohkoihin ylemmän etupaneelin läpi ja ruuvaa se sisään. Ota nyt viimeiset kaksi lohkoa ja aseta ne kulmaan ja ruuvaa sivupaneeli ja etupaneeli lohkoihin. käännä kotelo jälleen ylösalaisin ja aseta sisäinen yläpaneeli lohkon päälle ja ruuvaa se kiinni.

-sinun pitäisi jättää jotain tällaista (näkyy tämän vaiheen ensimmäisessä kuvassa)

seuraava vaihe selittää loput kokoonpanosta.

Vaihe 5: Kokoonpanon viimeistely

Kokoonpanon viimeistely
Kokoonpanon viimeistely
Kokoonpanon viimeistely
Kokoonpanon viimeistely
Kokoonpanon viimeistely
Kokoonpanon viimeistely

Tässä vaiheessa olet melkein saattanut asian päätökseen ja rakentaa vain muutamia asioita paikoilleen ja olet valmis.

Nyt jää vain elektroniikan asennus.

-Aloitamme poraamalla reikiä potentiometriisi. poraa vapaasti reikiä sinne, missä se tuntuu mukavalta. minun tapauksessani olen asettanut reiät 2 1/2 tuumaa alhaalta ja 3 1/2 tuumaa sivulta molemmille potentiometreille.

-Kun olet porannut reiät, asetamme tämän paneelin koteloon. mutta sen sijaan, että ruuvaamme sen kiinni, liimaamme sen yksinkertaisesti laittamalla runsaasti liimaa kotelon reunaa pitkin ja aseta paneeli paikalleen ja pitämään sitä joissakin puristimissa tai jotain raskasta.

-Kun liima on kuivunut, laitamme elektroniset osat sisään. Mutta ensin meidän on poistettava takapaneeli.

-Kun takaosa on pois päältä, suosittelen, että asetat kotelon edestä alaspäin, jotta LEDien ja muiden komponenttien asettaminen sisään on helpompaa.

-Nyt kun sinulla on selkä, me sijoitamme potentiometrin kotelon sisään yksinkertaisesti laittamalla ne juuri porattujen reikien läpi ja laittamalla runsaasti kuumaa liimaa.

*** varoitus ***-Ole erittäin varovainen, kun asetat LED-matriisia sisään, koska juotoskohdat voivat olla hauraita.

-Nyt olemme päässeet tärkeimpään osaan, led -matriisin käyttöönottoon. yksinkertaisesti aseta lauta sisään kuten toisessa kuvassa.

-Kun saat LED -sisäpaneelin ja aseta se kotelon sisään suoraan LED -paneelin takapaneelin alle. tämä kappale voisi sopia minulle tiukasti. anna myös kuivua ennen kuin jatkat.

-Olet saavuttanut viimeisen osan. Suosittelen maalaamaan tämän viimeisen osan (LED -sisäosa) toisen puolen mustaksi tai valkoiseksi kontrastiksi LEDien ja tämän osan välillä.

-Tiedämme sijoittaa tämän suoraan LED -taustan taakse ja paina kevyesti LED -valojen takaosaa, jotta ne eivät liiku. levittämisen jälkeen levitä liimaa reunaa pitkin, jotta se ei liiku. näkyy kolmannessa kuvassa.

**** Onnea, että olet saanut koko kokoonpanon päätökseen !!!

jatka viimeiseen vaiheeseen koodataksesi peli

Vaihe 6: Koodi

Onnittelut vielä kerran siitä, että olet päässyt näin pitkälle.

tässä osassa näytän sinulle koodin ja kuinka saada se toimimaan sen lisäksi, mitä koodissa voit muuttaa ja muokata sitä.

mutta ennen kuin pääsemme siihen, tarvitset (adafruit_NeoPixel-master), jonka olen linkittänyt myös lataukseen.

asentaaksesi päälaitteen avaa arduino -ohjelma

1. Siirry luonnostelemaan

2. avoin kirjasto

3. napsauta (add.zip -kirjasto)

4. valitse (adafruit_NeoPixel-master) -tiedosto ja olet valmis

tämän alle olen liittänyt pelin koodin.

#sisältää

#sisältää

pitkä palloXabs = 12;

pitkät ballYabs = 4;

int palloX;

int ballY;

int pallotasoX = 1;

int pallotasoY = 1;

int -indeksi;

int fps = 50;

int melaleveys = 3;

int paddlemax = 9 - melon leveys + 1;

int knobseg = 1023 / (paddlemax);

int mela1 = 4;

int mela2 = 4;

#define NUMPIXELS 260

#määritä PIN 6

Adafruit_NeoPixel pikseliä = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

void setup () {

pixels.begin ();

Sarja.alku (9600);

}

void loop () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

detectCollision ();

viive (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 (mela1);

if (ballvelX> 0 && ballXabs> = 25) {// törmää oikeaan seinään

Serial.println ("CollisionX");

pisteet1 (); // pallotasoX*=-1;

}

jos (ballvelX <0 && ballXabs <= 0) {// törmää vasempaan seinään

Serial.println ("CollisionX");

pisteet2 (); // pallotasoX*=-1;

}

if (ballvelY> 0 && ballYabs> = 9) {// törmäävät yläseinään

Serial.println ("TörmäysY"); pallotasoY *= -1;

}

if (ballvelY <0 && ballYabs <= 0) {// törmäävät pohjaseinään

Serial.println ("TörmäysY");

pallotasoY *= -1;

}

// havaitse melon 2 törmäys

jos ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = mela2) && (ballYabs <= paddle2 + melaleveys - 1)))

{// törmää oikeaan seinään

Serial.println ("CollisionPaddle");

pallotasoX *= -1;

}

// tunnista mela 1 törmäys

if ((ballvelX = mela1) && (ballYabs <= mela1 + melaleveys - 1)))

{// törmää oikeaan seinään

Serial.println ("CollisionPaddle");

pallotasoX *= -1;

}

}

void updatePaddle1 () {

int nuppi = analoginen (A0);

mela1 = pyöreä ((pitkä) nuppi / (pitkä) nuppi);

}

void updatePaddle2 () {

int nuppi2 = analoginenLue (A1);

mela2 = pyöreä ((pitkä) nuppi2 / (pitkä) nuppi);

}

void displayBall () {

ballX = pyöreä (ballXabs);

ballY = pyöreä (ballYabs);

jos (palloX % 2! = 0) {

indeksi = (9 - palloY) + 10 * palloX;

jos (palloX! = 0) {

pixels.setPixelColor (pallo Y + 10 * (palloX - 1), pikseliä Väri (30, 0, 0)); // ballcolorin vasen puoli

}

if (palloX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // pallon värin oikea puoli

}

if (ballY! = 9) {pixels.setPixelColor (indeksi - 1, pixels. Color (30, 0, 0)); // pallon värin alaosat

}

if (ballY! = 0) {pixels.setPixelColor (indeksi + 1, pixels. Color (30, 0, 0)); // pallon värit

}

}

muu {

indeksi = palloY + 10 * palloX; jos (palloX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // pallon tasainen rivi vasemmalla puolella

}

jos (palloX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // pallon tasainen rivi

}

jos (ballY! = 9) {

pixels.setPixelColor (indeksi + 1, pixels. Color (30, 0, 0)); // pallon tasaiset rivit

}

if (ballY! = 0) {pixels.setPixelColor (indeksi - 1, pixels. Color (30, 0, 0)); // pallon tasaiset rivit

}

}

pixels.setPixelColor (indeksi, pixels. Color (255, 0, 0)); /// pallon värin keskipiste

}

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

}

}

mitätön pisteet1 () {

resetBall (0);

}

mitätön pisteet2 () {

resetBall (1);

}

void resetBall (int -soitin) {

viive (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = pelaaja? 1: -1;

pallotasoY = 1;

clearScreen ();

viive (1000);

displayBall ();

pixels.show ();

viive (1000);

displayPaddle1 ();

displayPaddle2 (); pixels.show (); viive (2000); }

Vaihe 7: Viimeistely

Viimeistely
Viimeistely

Kun olet ladannut koodin, poraa takapaneeliin riittävän suuri reikä piippuliittimen virtalähteelle. kytke se arduinoon ja kokoa lopuksi takaosa.

Lisäsin myös osaluetteloon akryyli -LED -diffuusorin, jonka voit nyt sijoittaa LEDien päälle ja liimata

Kun olet tehnyt tämän, olet valmis pelaamaan ja nauttimaan kilpailevista peleistä perheen ja ystävien kanssa.

Lopuksi haluan onnitella teitä hankkeen valmistumisesta.

Jos sinulla on ongelmia, ota minuun yhteyttä täällä ja autan mielelläni ongelman ratkaisemisessa.

Suositeltava: