Cuprins:

Benzi LED Atari Pong Arcade Machine: 8 pași
Benzi LED Atari Pong Arcade Machine: 8 pași

Video: Benzi LED Atari Pong Arcade Machine: 8 pași

Video: Benzi LED Atari Pong Arcade Machine: 8 pași
Video: TVneWs - O mama beata cade cu copilul în brate ! 2024, Iulie
Anonim
Benzi LED Atari Pong Arcade Machine
Benzi LED Atari Pong Arcade Machine

Numele meu este Gabriel Podevin și acesta este primul meu intructibil. În prezent sunt un elev de liceu de 16 ani, căruia îi place să creeze și să construiască lucruri în timp ce este foarte interesat de electronică, robotică, circuite și programare. Sper că veți putea găsi acest lucru intructibil util.

În acest instructiv vă voi arăta cum să creați un joc Atari Pong în stil retro într-o carcasă retro arcade. Puteți vedea videoclipul de mai sus pentru o demonstrație a proiectului, puteți vedea și proiectul finalizat și carcasa singur și în cele două imagini. La sfârșitul acestui intructabil, mă voi scufunda mai adânc în cod și cum să îl editez pentru a-l personaliza.

Lista pieselor de bază va fi împărțită în secțiunile: Unelte, piese de asamblare și componente

Instrumentele de care veți avea nevoie vor include următoarele:

- Burghiu

- Ciocan de lipit

- Șurubelniță (potrivind șuruburile pe care decideți să le utilizați)

- Multimetru

- ferăstrăul circulant, ferăstrăul cu bandă sau tăietorul cu laser este dacă aveți acces la unul

-Tăietor de sârmă sau foarfece

- Pistol de lipit

Piesele de care veți avea nevoie pentru asamblare vor include

- Lipici de lemn

- 10 blocuri de lemn de un centimetru pe centimetru

- foaie mare din lemn stratificat de un centimetru sau lemn la alegere

- 24 șuruburi lungime de jumătate de centimetru

- 14 x 6,5 inci de plastic difuz cu led (opțional)

- bandă electrică roșie și albastră

Componentele de care veți avea nevoie sunt:

- 2 potențiometre de 100k ohm

- 8 metri de bandă LED adresabilă individual (30 led-uri pe metru)

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

- câțiva metri de sârmă sau mai multe culori de sârmă

- adaptor de curent alternativ la c.c.

- 1 arduino Uno R3

dacă nu aveți acces la un Arduino Uno R3 ca mine, puteți construi unul ca cel pe care îl voi folosi în acest proiect care folosește un procesor atmel328-pu. Urmați acest link pentru a afla cum să vă construiți propriul

Dacă utilizați un arduino uno, continuați cu pasul unu.

Pasul 1: Construirea matricei LED

Construirea matricei LED
Construirea matricei LED
Construirea matricei LED
Construirea matricei LED
Construirea matricei LED
Construirea matricei LED

Acest pas este cel mai simplu pas consumator de timp, datorită lipirii pe care trebuie să o faceți.

-pentru început veți avea nevoie de o bucată de lemn de 10 3/4 inch pe 6 1/2 inch.

-de îndată ce ai bucata de lemn, ia-ți banda LED și taie 26 de segmente la fiecare 10 led-uri sau la fiecare 6 1/2 de inch.

-După tăierea segmentelor lipiți-le pe lemn pe verticală, așa cum se arată în următoarele imagini prezentate în prima imagine de mai sus.

-de îndată ce ați lipit benzile și le-ați lăsat să se așeze, vom începe să lipim.

-vei avea nevoie de trei fire colorate diferite

-Ar trebui să fie conectat cu toate pozitivele conectate la un fir și toate negativele conectate la un fir, în timp ce ultimul fir va înfășura benzile led împreună. A doua imagine de la începutul acestui pas este o diagramă care vă va arăta cum să conectați firele.

-În cele din urmă, după ce le-ați lipit, veți înfășura pur și simplu o bandă de electricitate pe conexiunile de lipit cu culorile corespunzătoare. așa cum se arată în a treia imagine de mai sus.

-în cele din urmă ne vom conecta la Arduino. intrarea digitală sau firul din mijloc se vor conecta la intrarea digitală cu 6 pini, iar masa și pozitivul se vor conecta la șinele pozitive și negative de pe placă.

Pasul 2: comenzile paddle

Comenzile pentru padel
Comenzile pentru padel
Comenzile pentru padel
Comenzile pentru padel
Comenzile pentru padel
Comenzile pentru padel

Pentru acest pas foarte simplu, tot ce va trebui să faceți este să lipiți trei fire la fiecare potențiometru. dacă țineți potențiometrul cu punctele de lipit îndreptate spre voi, vârful din stânga va fi pozitiv, vârful din centru va fi ieșit și vârful din dreapta va fi măcinat. așa cum se arată în diagrama de mai sus

după ce ați lipit firele, le vom conecta la Arduino. voi posesivi și negativi vă veți conecta la ploile pozitive și negative corespunzătoare. cablurile de ieșire pe potențiometre se vor conecta la diferite intrări de pe arduino. unul se va conecta la mufa (A0), iar cealaltă se va conecta la mufa (A1).

Pasul 3: tăierea carcasei

Tăierea cazului
Tăierea cazului
Tăierea cazului
Tăierea cazului
Tăierea cazului
Tăierea cazului
Tăierea cazului
Tăierea cazului

această parte vă va oferi dimensiunile și unghiurile pe ceea ce va trebui să tăiați

**** foarte important ***** asigurați-vă că lemnul dvs. are o grosime de un sfert de inch (1/4 inch)

de asemenea, atunci când tăiați piese, nu uitați să vă etichetați piesele

partea de bază de tăiat va fi etichetată jos, spate, sus, față sus, față jos…. afișat în imagini la început

dimensiunile piesei

- Partea de jos: 13 3/4 inci X 10 1/4 inci

- Spate: 13 3/4 inci X 15 1/2 inci

- Sus: 13 3/4 inci X 6 1/2 inci

- Partea din față: 13 3/4 inci X 4 1/4 inci

- Panou de apelare: 13 3/4 inci X 6 inci

- Partea superioară interioară: 13 3/4 inci X 3 1/4 inci

- siding cu LED: 6 1/4 inch X 1 inch (tăiați două dintre acestea)

- Fund interior interior: 13 1/4 inci X 4 1/2 inci

- panou interior LED din spate: 13 1/4 inci X 9 inci

- Blocuri: 1 inch X 1 inch X 1 inch (tăiate 10 blocuri)

- Panou acrilic: 13 3/4 inci X 6 1/2 inci

Imaginile de mai sus vă vor arăta unghiurile și dimensiunile părții panoului lateral. de asemenea, va trebui să tăiați două din această parte

Pasul 4: Asamblarea cazului

Asamblarea cazului
Asamblarea cazului
Asamblarea cazului
Asamblarea cazului
Asamblarea cazului
Asamblarea cazului

În acest moment, în aceste instrucțiuni aproape că ați terminat totul. pune-ți probabil gândul că am toate aceste părți și decupaje ce fac cu ele. Acest ultim pas vă va instrui cum să vă asamblați cazul.

-Primul lucru pe care îl vom face este să începem să asamblăm cazul. aici vă sunt la îndemână toate decupajele din lemn din pasul anterior.

-Pentru a începe asamblarea, vom avea nevoie de 4 dintre blocurile de lemn 1x1x1 de bază, cele două panouri laterale, partea din spate și partea din față. așezați cele 4 blocuri pe fiecare colț al fundului și lăsați un sfert de centimetru între margine și bloc așa cum se arată în imaginea a doua la cerșirea pasului.

-Înainte va trebui să găuriți niște găuri pilot din lemn și blocuri. odată ce ați făcut șurubul, apoi în partea de jos.

-În continuare vom pune panourile laterale pe. Așezați panourile pe spațiul de un sfert de inch pe partea exterioară a blocului. găuriți o gaură pilot prin panoul lateral și blocul de lemn și înșurubați panourile. Repetați pentru cealaltă parte.

-După completarea panourilor laterale. vom pune panoul frontal inferior. așezați panoul la același nivel cu partea inferioară, iar părțile laterale găuriți găurile pilot în blocuri și înșurubați panoul.

-În cele din urmă vom pune spatele. faceți la fel ca și cu panoul frontal inferior și înșurubați-vă înapoi.

-Până în acest moment, aveți o bază pe care să o construiți și o înțelegere a modului în care asamblăm acest caz.

-Această parte următoare este puțin mai dificilă datorită faptului că lucrați cu o zonă mai mică. pentru a începe, vom avea nevoie de toate părțile superioare și de 6 blocuri.

-Puneți ceea ce ați construit până acum pe spatele său și așezați blocurile în colțuri la un sfert de centimetru de sus. (așa cum se arată în a treia imagine la început)

-forati orificiile pilot pentru laterale si spate si insurubati-le.

-acum vom asambla restul vârfului

-Luați panoul superior și așezați-l pe blocuri găuriți găurile pilot și înșurubați partea superioară. După finlandeză, care vă întoarceți ansamblul cu susul în jos *** cu atenție *** și așezați un bloc în fiecare colț paralel cu marginea. găuriți găurile pilot din panourile laterale și înșurubați-le de bloc. întoarceți carcasa înapoi în poziție verticală și găuriți găurile pilot prin partea superioară în blocuri și înșurubați-o.

-această parte a cuibului este puțin dificilă. veți avea nevoie de panoul frontal superior și de cele două blocuri finale. mai întâi găuriți un orificiu pilot în blocurile anterioare prin panoul frontal superior și înșurubați-l. Acum vă duceți ultimele două blocuri și plasați-le în interior în colț și înșurubați panoul lateral și panoul superior frontal la blocuri. întoarceți din nou carcasa cu susul în jos și așezați panoul superior interior pe bloc și înșurubați-l.

-ar trebui să rămâi cu așa ceva (prezentat în prima imagine a acestui pas)

pasul următor va explica restul adunării.

Pasul 5: Finalizarea asamblării

Finalizarea Asamblării
Finalizarea Asamblării
Finalizarea Asamblării
Finalizarea Asamblării
Finalizarea Asamblării
Finalizarea Asamblării

În acest moment aproape că ați finalizat cazul și ați construit doar câteva lucruri de pus în aplicare și veți fi terminat.

Acum nu mai rămâne decât instalarea electronice.

-Vom începe prin găuri în panoul de apelare pentru potențiometru. simțiți-vă liber să găuriți găurile acolo unde simțiți că ar fi confortabil. în cazul meu am plasat găurile la 2 1/2 inci de jos și la 3 1/2 inci din lateral pentru ambele potențiometre.

-După ce v-ați forat găurile, vom pune acest panou pe carcasă. dar în loc să-l înșurubăm, îl vom lipi pur și simplu puneți o cantitate generoasă de lipici de-a lungul marginii carcasei și așezați panoul și țineți-l cu niște cleme sau ceva greu.

-După ce lipiciul s-a uscat, vom introduce piesele electronice. Dar mai întâi va trebui să scoatem panoul din spate.

-După ce spatele este oprit, vă recomandăm să plasați carcasa față în jos, facilitând introducerea LED-urilor și a altor componente în interior.

-Acum aveți spatele, vom plasa potențiometrul în interiorul carcasei, pur și simplu punându-le prin găurile pe care tocmai le-am forat și punând o cantitate generoasă de adeziv fierbinte.

*** precauție *** - Fiți extrem de atenți atunci când introduceți LED-ul, deoarece punctele de lipit pot fi fragile.

-Acum am ajuns la cea mai importantă parte, introducând matricea LED. pur și simplu așezați placa așa cum se arată în a doua imagine.

-Odată obțineți panoul interior led și plasați-l în interiorul carcasei direct sub panoul din spate al matricei de LED-uri. această piesă s-ar putea să mă potrivească bine. lăsați-l, de asemenea, să se usuce înainte de a continua.

-Ai ajuns la ultima parte. Vă recomandăm să pictați o parte a acestei ultime părți (spate interioară cu LED) în alb sau negru pentru un contrast între LED-uri și această parte.

-Vom ști să plasați acest lucru direct în spatele suportului cu LED-uri și să apăsați ușor pe spatele LED-urilor pentru a le împiedica să se miște. odată introdus, aplicați adeziv de-a lungul marginii pentru a preveni mișcarea acestuia. prezentat în a treia imagine.

**** felicitări ai terminat întreaga adunare !!!

continuați până la ultimul pas pentru a codifica jocul

Pasul 6: Codul

Felicitări încă o dată pentru că ați ajuns până aici.

în această secțiune vă voi arăta codul și cum să îl faceți să funcționeze, în plus față de lucrurile din cod pe care le puteți modifica și personaliza.

dar, înainte de a intra în asta, veți avea nevoie de (adafruit_NeoPixel-master) și eu am conectat descărcarea.

pentru a instala masterul deschideți programul arduino

1. mergi la schiță

2. deschis include biblioteca

3. faceți clic pe (add.zip library)

4. selectați fișierul (adafruit_NeoPixel-master) și ați terminat

dedesubt am lipit codul jocului.

#include

#include

mingea lungăXabs = 12;

mingea lungă Yabs = 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

#define PIN 6

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

configurare nulă () {

pixeli.begin ();

Serial.begin (9600);

}

bucla nulă () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

detectCollision ();

întârziere (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 (paddle1);

if (ballvelX> 0 && ballXabs> = 25) {// ciocniți peretele drept

Serial.println ("CollisionX");

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

}

if (ballvelX <0 && ballXabs <= 0) {// se ciocnesc de peretele din stânga

Serial.println ("CollisionX");

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

}

if (ballvelY> 0 && ballYabs> = 9) {// ciocniți peretele superior

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

}

if (ballvelY <0 && ballYabs <= 0) {// ciocniți peretele inferior

Serial.println ("CollisionY");

ballvelY * = -1;

}

// detectează coliziunea paletei 2

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

{// ciocniți peretele drept

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

// detectează coliziunea paletei 1

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

{// ciocniți peretele drept

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

}

void updatePaddle1 () {

buton int = analogRead (A0);

paddle1 = buton rotund ((lung) / buton (lung));

}

void updatePaddle2 () {

butonul int2 = analogRead (A1);

paddle2 = rotund ((lung)) buton2 / (lung) knobseg);

}

void displayBall () {

ballX = round (ballXabs);

ballY = rotund (ballYabs);

if (ballX% 2! = 0) {

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

if (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // partea stângă a culorii

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // partea dreaptă a culorii mingii

}

if (ballY! = 9) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // laturile de jos ale culorii mingii

}

if (ballY! = 0) {pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // laturile superioare ale culorii mingii

}

}

altceva {

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

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // partea stângă a mingii rând uniform

}

if (ballX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // partea dreaptă a mingii rând uniform

}

if (ballY! = 9) {

pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // laturile de jos ale mingii rânduri uniforme

}

if (ballY! = 0) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // laturile superioare ale mingii rânduri uniforme

}

}

pixels.setPixelColor (index, pixels. Color (255, 0, 0)); /// centrul culorii mingii

}

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

}

}

scor nul 1 () {

resetBall (0);

}

scorul nul 2 () {

resetBall (1);

}

void resetBall (int player) {

întârziere (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = jucător? 1: -1;

ballvelY = 1;

clearScreen ();

întârziere (1000);

displayBall ();

pixels.show ();

întârziere (1000);

displayPaddle1 ();

displayPaddle2 (); pixels.show (); întârziere (2000); }

Pasul 7: Finalizare

Finisare
Finisare

După ce ați încărcat codul, găuriți o gaură în panoul din spate suficient de mare pentru adaptorul de alimentare cu mufă. conectați-l la arduino și reasamblați în cele din urmă partea din spate.

De asemenea, am inclus pe lista de piese difuzorul LED acrilic pe care îl puteți plasa acum peste LED-uri și îl puteți lipi

După ce ați făcut acest lucru, sunteți gata să jucați și să vă bucurați de orele de jocuri competitive împotriva familiei și prietenilor.

În cele din urmă aș dori să vă felicit pentru finalizarea proiectului.

Dacă aveți probleme, contactați-mă aici și aș dori să vă ajut să rezolv problema.

Recomandat: