Satura rādītājs:

LED sloksnes Atari Pong Arcade Machine: 8 soļi
LED sloksnes Atari Pong Arcade Machine: 8 soļi

Video: LED sloksnes Atari Pong Arcade Machine: 8 soļi

Video: LED sloksnes Atari Pong Arcade Machine: 8 soļi
Video: PONG: Espectacular maquina recreativa (Arcade) 🕹❤️ - SPLAU Centro Comercial Cornellá. 2024, Jūlijs
Anonim
LED sloksnes Atari Pong arkādes mašīna
LED sloksnes Atari Pong arkādes mašīna

Mani sauc Gabriels Podevins, un tas ir mans pirmais nesaprotamais. Pašlaik esmu 16 gadus veca vidusskolniece, kurai patīk radīt un veidot lietas, vienlaikus interesējoties par elektroniku, robotiku, shēmām un programmēšanu. Es ceru, ka jums šis noderīgais atradums būs noderīgs.

Šajā pamācībā es jums parādīšu, kā izveidot retro stila Atari tenisa spēli retro arkādes futrālī. Iepriekš redzamo videoklipu varat redzēt projekta demonstrācijai, kā arī vienu projektu un abos attēlos varat redzēt gatavo projektu un lietu. Šīs neaizskaramās beigās es iedziļināšos kodā un kā to rediģēt, lai to personalizētu.

Pamata detaļu saraksts tiks sadalīts sadaļās: Instrumenti, montāžas daļas un sastāvdaļas

Jums būs nepieciešami šādi rīki:

- Urbis

- Lodāmurs

- Skrūvgriezis (atbilst skrūvēm, kuras jūs nolemjat izmantot)

- Multi metrs

- Jums ir pieejams cirkulācijas zāģis, lentzāģis vai lāzera griezējs

-Vadu griezējs vai šķēres

- Līmes pistole

Daļas, kas jums būs nepieciešamas salikšanai, ietvers

- Koka līme

- 10 collas ar vienu collu koka bloki

- liela ceturtdaļas collu koka vai izvēlēta koka loksne

- 24 skrūves, kuru garums ir puse collas

- 14 x 6,5 collas LED izkliedējošās plastmasas (pēc izvēles)

- sarkana un zila elektriskā lente

Jums būs nepieciešami šādi komponenti:

- 2 100k omi potenciometri

- 8 metri individuāli adresējamas Led sloksnes (30 gaismas diodes uz metru)

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

- vairākus metrus stieples vai vairāku krāsu vadus

- maiņstrāvas līdz līdzstrāvas strāvas adapteris, kas izvada 6V caur mucas ligzdas spraudni

- 1 arduino Uno R3

ja jums nav piekļuves tādam Arduino Uno R3 kā es, varat izveidot tādu, kādu es izmantošu šajā projektā, kurā tiek izmantots atmel328-pu procesors. Izpildiet šo saiti, lai uzzinātu, kā izveidot savu

Ja izmantojat arduino uno, turpiniet ar pirmo darbību.

1. darbība: izveidojiet LED masīvu

LED masīva veidošana
LED masīva veidošana
LED masīva veidošana
LED masīva veidošana
LED masīva veidošana
LED masīva veidošana

Šis solis ir vienkāršākais laikietilpīgais solis, jo ir jāveic visas lodēšanas darbības.

-lai sāktu, jums būs nepieciešams 10 3/4 collas un 6 1/2 collu koka gabals.

-kad esat ieguvis savu koka gabalu, paņemiet savu Led sloksni un sagrieziet 26 segmentus ik pēc 10 gaismas diodēm vai ik pēc 6 1/2 collas.

-pēc segmentu sagriešanas pielīmējiet tos pie koka vertikāli, kā parādīts attēlos, kas parādīti pirmajā attēlā.

-kad esat pielīmējis sloksnes un ļāvis tām nokārtoties, mēs sāksim lodēt.

-jums būs nepieciešams trīs dažādu krāsu vads

-tai jābūt savienotai ar visiem pozitīvajiem savienojumiem ar vienu vadu un visiem negatīvajiem savienojumiem ar vienu vadu, kamēr pēdējais vads savelks kopā vadītās sloksnes. Otrie attēli šī soļa sākumā ir diagramma, kas parādīs, kā savienot vadus.

-Visbeidzot, pēc to lodēšanas jūs vienkārši iesaiņosiet elektrisko sloksni uz lodēšanas savienojumiem ar atbilstošajām krāsām. kā parādīts trešajā attēlā iepriekš.

-beidzot mēs izveidosim savienojumu ar Arduino. jūsu digitālā ieeja vai vidējais vads pieslēgsies jums ar 6 kontaktu digitālo ieeju, un jūsu zeme un pozitīvais savienojas ar tāfeles pozitīvajām un negatīvajām sliedēm.

2. darbība: lāpstiņu vadība

Lāpstiņu vadības ierīces
Lāpstiņu vadības ierīces
Lāpstiņu vadības ierīces
Lāpstiņu vadības ierīces
Lāpstiņu vadības ierīces
Lāpstiņu vadības ierīces

Lai veiktu šo ļoti vienkāršo darbību, viss, kas jums jādara, ir pielodēt trīs vadus pie katra potenciometra. ja turat potenciometru tā, lai lodēšanas punkti būtu vērsti pret jums, kreisā zariņš būs pozitīvs, jo tiks izvadīts centrālais zariņš, bet labais - saspiests. kā parādīts iepriekš redzamajā diagrammā

kad esat pielodējis vadus, mēs tos savienosim ar Arduino. jūs pozitīvie un negatīvie savienojas ar atbilstošām pozitīvām un negatīvām lietavām. potenciometru izejas vadi pieslēgsies dažādām arduino ieejām. viens pieslēgsies (A0) spraudnim, bet otrs - (A1) kontaktdakšai.

3. darbība: lietas griešana

Korpusa griešana
Korpusa griešana
Korpusa griešana
Korpusa griešana
Korpusa griešana
Korpusa griešana
Korpusa griešana
Korpusa griešana

šī daļa sniegs jums izmērus un leņķus, kas jums būs jāsamazina

**** ļoti svarīgi ***** pārliecinieties, ka jūsu koks ir ceturtdaļas collu biezs (1/4 collas)

arī izgriežot detaļas, neaizmirstiet marķēt detaļas

griezējamā pamatdaļa tiks apzīmēta ar apakšējo, aizmugurējo, augšējo, priekšējo augšējo, priekšējo apakšējo daļu…. redzams attēlos sākumā

daļas izmēri

- Apakšā: 13 3/4 collas X 10 1/4 collas

- Aizmugure: 13 3/4 collas X 15 1/2 collas

- Augšā: 13 3/4 collas X 6 1/2 collas

- Priekšējā apakšdaļa: 13 3/4 collas X 4 1/4 collas

- Dial Panel: 13 3/4 collas X 6 collas

- Iekšējā augšdaļa: 13 3/4 collas X 3 1/4 collas

- LED apšuvums: 6 1/4 collas X 1 collas (sagrieziet divus no tiem)

- LED iekšējā apakšdaļa: 13 1/4 collas X 4 1/2 collas

- iekšējais aizmugures LED panelis: 13 1/4 collas X 9 collas

- Bloki: 1 collas X 1 collas X 1 collas (sagriezti 10 bloki)

- Akrila panelis: 13 3/4 collas X 6 1/2 collas

Iepriekš redzamajos attēlos būs redzami sānu paneļa daļas leņķi un izmēri. arī jums vajadzēs izgriezt divas no šīs daļas

4. solis: lietas montāža

Korpusa montāža
Korpusa montāža
Korpusa montāža
Korpusa montāža
Korpusa montāža
Korpusa montāža

Šajā instrukcijas punktā jūs esat gandrīz pabeidzis visu. droši vien domā, ka man ir visas šīs detaļas un izgriezumi, ko man ar tām darīt. Šis pēdējais solis jums pateiks, kā salikt lietu.

-Pirmā lieta, pie kuras mēs ejam, ir sākt lietas vākšanu. šeit jums noderēs visi koka izgriezumi no iepriekšējā soļa.

-Lai sāktu montāžu, mums būs nepieciešami 4 no 1x1x1 koka blokiem, pamatne, divi sānu paneļi, aizmugure un priekšējā apakšdaļa. novietojiet 4 blokus katrā apakšējā stūrī un atstājiet ceturtdaļu collu starp malu un bloku, kā parādīts otrajā attēlā soļa sākumā.

-Tālāk jums būs jāizurbj daži caurumi no koka un blokiem. kad esat to izdarījis, tad uz leju.

-Tālāk mēs uzliksim sānu paneļus. Novietojiet paneļus uz ceturtdaļas collu spraugas bloka ārējā pusē. caur sānu paneli un koka bloku izurbiet izmēģinājuma caurumu un ieskrūvējiet paneļus. atkārtojiet darbību otrā pusē.

-Pēc sānu paneļu pabeigšanas. mēs uzliksim priekšējo apakšējo paneli. novietojiet paneli vienā līmenī ar dibenu, un sānos urbiet izmēģinājuma caurumus blokos un pieskrūvējiet paneli.

-Beidzot mēs uzliksim muguru. dariet to pašu, ko darījāt ar priekšējo apakšējo paneli, un ieskrūvējiet atpakaļ.

-Šajā brīdī jums ir pamats, uz kura balstīties, un izpratne par to, kā mēs apkopojam šo lietu.

-Šī nākamā daļa ir nedaudz grūtāka, jo jūs strādājat ar mazāku platību. lai sāktu, mums būs vajadzīgas visas augšējās daļas un 6 bloki.

-Ielieciet līdz šim uzbūvēto uz muguras un novietojiet blokus stūros ceturtdaļas collu attālumā no augšas. (kā parādīts trešajā attēlā sākumā)

-urbiet sānos un aizmugurē esošos caurumus un ieskrūvējiet tos.

-Tagad mēs saliksim pārējo augšdaļu

-Paņemiet augšējo paneli un novietojiet to uz klučiem, izurbiet izmēģinājuma caurumus un ieskrūvējiet augšējo daļu. Pēc somu valodas, kas uzmanīgi apgriež montāžu otrādi ***, un katrā stūrī ievietojiet bloku paralēli malai. urbt izmēģinājuma caurumus no sānu paneļiem un pieskrūvēt tos pie bloka. pagrieziet korpusu atpakaļ vertikāli un urbiet caurumus augšpusē blokos un ieskrūvējiet to.

-Šī ligzdas daļa ir nedaudz viltīga. jums būs nepieciešams priekšējais augšējais panelis un pēdējie divi bloki. vispirms urbiet izmēģinājuma caurumus iepriekšējos blokos caur augšējo priekšējo paneli un ieskrūvējiet to. Tagad ņemiet pēdējos divus blokus un novietojiet tos stūrī un pieskrūvējiet sānu paneli un priekšējo augšējo paneli pie blokiem. vēlreiz pagrieziet korpusu otrādi un novietojiet iekšējo augšējo paneli uz bloka un ieskrūvējiet to.

-jums vajadzētu atstāt kaut ko līdzīgu (parādīts šī soļa pirmajā attēlā)

nākamais solis izskaidros pārējo montāžu.

5. solis: montāžas pabeigšana

Montāžas pabeigšana
Montāžas pabeigšana
Montāžas pabeigšana
Montāžas pabeigšana
Montāžas pabeigšana
Montāžas pabeigšana

Līdz šim brīdim jūs esat gandrīz pabeidzis lietu un izveidojis tikai dažas lietas, kas jāievieš, un jums tiks darīts.

Tagad atliek tikai uzstādīt elektroniku.

-Mēs sāksim, urbjot caurumus jūsu potenciometra skalas panelī. jūtieties brīvi urbt caurumus vietās, kur, jūsuprāt, būtu ērti. manā gadījumā abiem potenciometriem esmu ievietojis caurumus 2 1/2 collas no apakšas un 3 1/2 collas no sāniem.

-Kad esat izurbis caurumus, mēs uzliksim šo paneli uz korpusa. bet tā vietā, lai to pieskrūvētu, mēs to līmēsim, vienkārši ielieciet lielu daudzumu līmes gar korpusa malu un novietojiet paneli un turiet to ar dažām skavām vai kaut ko smagu.

-Pēc līmes žāvēšanas mēs ievietosim elektroniskās detaļas. Bet vispirms mums būs jānoņem aizmugurējais panelis.

-Kad aizmugure ir izslēgta, iesaku novietot korpusu uz leju, lai būtu vieglāk ievietot gaismas diodes un citas sastāvdaļas.

-Tagad, kad jums ir aizmugure, mēs ievietosim potenciometru korpusa iekšpusē, vienkārši izlaižot tos caur tikko izurbtajiem caurumiem un ieliekot lielu daudzumu karstas līmes.

*** piesardzīgi ***-Esiet ļoti uzmanīgs, ievietojot LED bloku, jo lodēšanas punkti var būt trausli.

-Tagad mēs esam nonākuši pie vissvarīgākās daļas, ievietojot LED masīvu. vienkārši ievietojiet tāfeli, kā parādīts otrajā attēlā.

-Kad esat ieguvis savu led iekšējo paneli un novietojiet to korpusa iekšpusē tieši zem LED masīva aizmugurējā paneļa. šis gabals man varētu būt cieši pieguļošs. arī ļaujiet tai nožūt, pirms turpināt.

-Jūs esat sasniedzis pēdējo daļu. Es iesaku šīs pēdējās daļas (LED iekšējā aizmugure) vienu pusi krāsot melnā vai baltā krāsā, lai kontrasts starp gaismas diodēm un šo daļu būtu.

-Mēs zinām, novietojiet to tieši aiz LED pamatnes un viegli nospiediet pret gaismas diodes aizmuguri, lai tās netiktu pārvietotas. pēc ievietošanas uzklājiet līmi gar malu, lai novērstu tās pārvietošanos. parādīts trešajā attēlā.

**** Apsveicam, ka esat pabeidzis visu montāžu !!!

turpiniet līdz pēdējam solim, lai kodētu spēli

6. darbība: kods

Vēlreiz apsveicu ar sasniegto tik tālu.

šajā sadaļā es jums parādīšu kodu un to, kā panākt, lai tas darbotos papildus kodā iekļautajām lietām, kuras varat mainīt un personalizēt.

bet pirms mēs iedziļināsimies, ka jums būs nepieciešama arī (adafruit_NeoPixel-master) lejupielāde.

Lai instalētu galveno, atveriet savu arduino programmu

1. dodieties uz skici

2. atvērtā bibliotēka

3. noklikšķiniet uz (add.zip bibliotēka)

4. atlasiet (adafruit_NeoPixel-master) failu un esat pabeidzis

zem šī es esmu ielīmējis spēles kodu.

#iekļaut

#iekļaut

garā bumbaXabs = 12;

gari ballYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int indekss;

int fps = 50;

int airēšanas platums = 3;

int paddlemax = 9 - lāpstiņas platums + 1;

int knobseg = 1023 / (paddlemax);

int airis1 = 4;

int airis2 = 4;

#define NUMPIXELS 260

#definējiet PIN 6

Adafruit_NeoPixel pikseļi = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

void setup () {

pikseļi.sākas ();

Sērijas sākums (9600);

}

void loop () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pikseļi.parādīt ();

detectCollision ();

kavēšanās (fps);

}

void clearScreen () {

par (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 (paddle1);

ja (ballvelX> 0 && ballXabs> = 25) {// saduras ar labo sienu

Serial.println ("CollisionX");

rezultāts1 (); // ballvelX*=-1;

}

ja (ballvelX <0 && ballXabs <= 0) {// saduras ar kreiso sienu

Serial.println ("CollisionX");

rezultāts2 (); // ballvelX*=-1;

}

ja (ballvelY> 0 && ballYabs> = 9) {// saduras augšējā siena

Serial.println ("SadursmeY"); lodīšu Y *= -1;

}

ja (ballvelY <0 && ballYabs <= 0) {// saduras ar apakšējo sienu

Serial.println ("SadursmeY");

lodīšu Y *= -1;

}

// atklāt 2. lāpsta sadursmi

ja ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + airēšanas platums - 1)))

{// saduras labā siena

Serial.println ("CollisionPaddle");

lodīšu līmenisX *= -1;

}

// noteikt 1. lāpsta sadursmi

ja ((ballvelX = airis1) && (ballYabs <= airis1 + lāpstiņas platums - 1)))

{// saduras labā siena

Serial.println ("CollisionPaddle");

lodgalvaX *= -1;

}

}

void updatePaddle1 () {

int poga = analogRead (A0);

airis1 = apaļa ((gara) poga / (gara) knobseg);

}

void updatePaddle2 () {

int poga2 = analogRead (A1);

lāpstiņa2 = apaļa ((gara) poga2 / (gara) knobseg);

}

void displayBall () {

ballX = apaļš (ballXabs);

ballY = apaļš (ballYabs);

ja (ballX % 2! = 0) {

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

ja (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // ballcolor kreisā puse

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // lodītes krāsas labā puse

}

ja (ballY! = 9) {pixels.setPixelColor (indekss - 1, pikseļi. Krāsa (30, 0, 0)); // bumbiņas krāsas apakšējās malas

}

ja (ballY! = 0) {pixels.setPixelColor (indekss + 1, pikseļi. Krāsa (30, 0, 0)); // bumbiņas krāsas augšējās malas

}

}

cits {

indekss = ballY + 10 * ballX; ja (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // bumbas kreisā puse vienmērīgā rindā

}

ja (ballX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // bumbas labā puse pat rindā

}

ja (ballY! = 9) {

pixels.setPixelColor (indekss + 1, pikseļi. krāsa (30, 0, 0)); // bumbas apakšējās malas vienmērīgas rindas

}

ja (ballY! = 0) {pixels.setPixelColor (indekss - 1, pikseļi. Krāsa (30, 0, 0)); // bumbas augšējās malas vienmērīgas rindas

}

}

pixels.setPixelColor (indekss, pixels. Color (255, 0, 0)); /// bumbiņas krāsas centrs

}

void displayPaddle1 () {

par (int i = 0; i <lāpstiņas platums; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));

}

}

void displayPaddle2 () {

par (int i = 0; i <lāpstiņas platums; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));

}

}

anulēts rezultāts1 () {

resetBall (0);

}

void score2 () {

resetBall (1);

}

void resetBall (int atskaņotājs) {

kavēšanās (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = spēlētājs? 1: -1;

lodīšu Y = 1;

clearScreen ();

kavēšanās (1000);

displayBall ();

pikseļi.parādīt ();

kavēšanās (1000);

displayPaddle1 ();

displayPaddle2 (); pikseļi.parādīt (); kavēšanās (2000); }

7. solis: apdare

Apdare
Apdare

Kad esat augšupielādējis kodu, aizmugurējā panelī izurbiet caurumu, kas ir pietiekami liels mucas ligzdas strāvas adapterim. pievienojiet to arduino un beidzot salieciet aizmuguri.

Daļu sarakstā es iekļāvu arī akrila LED difuzoru, ko tagad varat novietot virs gaismas diodēm un pielīmēt

Kad esat to izdarījis, esat gatavs spēlēt un izbaudīt konkurējošo spēļu stundas pret ģimeni un draugiem.

Visbeidzot es vēlos jūs apsveikt ar projekta pabeigšanu.

Ja jums ir kādas problēmas, sazinieties ar mani šeit, un es labprāt palīdzētu atrisināt problēmu.

Ieteicams: