Table des matières:

Machine d'arcade à bande LED Atari Pong : 8 étapes
Machine d'arcade à bande LED Atari Pong : 8 étapes

Vidéo: Machine d'arcade à bande LED Atari Pong : 8 étapes

Vidéo: Machine d'arcade à bande LED Atari Pong : 8 étapes
Vidéo: История Игрового Дизайна. Часть 1: Space Invaders | Иконы Дизайна 2024, Novembre
Anonim
Machine d'arcade à bande LED Atari Pong
Machine d'arcade à bande LED Atari Pong

Je m'appelle Gabriel Podevin et c'est mon tout premier intrussable. Je suis actuellement un lycéen de 16 ans qui aime créer et construire des choses tout en étant très intéressé par l'électronique, la robotique, les circuits et la programmation. J'espère que vous pouvez trouver cet intrussable trouver cela utile.

Dans ce instructable, je vais vous montrer comment faire un jeu Atari Pong de style rétro à l'intérieur d'un boîtier d'arcade rétro. Vous pouvez voir la vidéo ci-dessus pour une démo du projet, vous pouvez également voir le projet fini et le boîtier seul et dans les deux images. À la fin de cet intructable, je plongerai plus profondément dans le code et comment le modifier pour le personnaliser.

La liste des pièces de base sera divisée en sections: Outils, pièces d'assemblage et composants

Les outils dont vous aurez besoin comprendront les suivants:

- Percer

- Fer à souder

- Tournevis (correspondant aux vis que vous décidez d'utiliser)

- Multimètre

- scie circulaire, scie à ruban ou découpeuse laser si vous en avez accès à une

-Coupe-fil ou ciseaux

- Pistolet à colle

Les pièces dont vous aurez besoin pour l'assemblage comprendront

- Colle à bois

- 10 blocs de bois d'un pouce sur un pouce

- grande feuille de contreplaqué d'un quart de pouce ou de bois au choix

- 24 vis d'un demi-pouce de longueur

- 14 x 6,5 pouces de plastique diffusant led (facultatif)

- ruban électrique rouge et bleu

Les composants dont vous aurez besoin sont:

- 2 potentiomètres 100k ohms

- 8 mètres de bande Led adressable individuellement (30 leds par mètre)

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

- plusieurs mètres de fil ou plusieurs couleurs de fil

- adaptateur d'alimentation ca vers cc qui sort 6v via une prise jack cylindrique

- 1 arduino Uno R3

si vous n'avez pas accès à un Arduino Uno R3 comme moi, vous pouvez en créer un comme celui que j'utiliserai dans ce projet qui utilise un processeur atmel328-pu. Suivez ce lien pour apprendre à créer votre propre

Si vous utilisez un arduino uno, passez à la première étape.

Étape 1: Construire la matrice de LED

Construire la matrice LED
Construire la matrice LED
Construire la matrice LED
Construire la matrice LED
Construire la matrice LED
Construire la matrice LED

Cette étape est l'étape la plus simple qui prend du temps en raison de toutes les soudures que vous devez effectuer.

-Pour commencer, vous aurez besoin d'un morceau de bois de 10 3/4 pouces par 6 1/2 pouces.

-une fois que vous avez votre morceau de bois, saisissez votre bande Led et coupez 26 segments tous les 10 leds ou tous les 6 1/2 pouces.

-Après avoir coupé les segments, collez-les sur votre bois verticalement comme le montrent les images suivantes illustrées dans la première image ci-dessus.

-une fois que vous avez collé les bandes et les avez laissées reposer, nous commencerons à souder.

-vous aurez besoin de trois fils de couleurs différentes

-il doit être câblé avec tous les positifs connectés à un fil et tous les négatifs connectés à un fil tandis que le dernier fil serpentera les bandes de led ensemble. La deuxième image au début de cette étape est un schéma qui vous montrera comment connecter les fils.

-Enfin après les avoir soudés vous enroulerez simplement une bande d'électricité sur vos connexions à souder avec les couleurs correspondantes. comme le montre la troisième photo ci-dessus.

-enfin nous allons nous connecter à l'Arduino. votre entrée numérique ou votre fil du milieu se connectera à votre entrée numérique 6 broches et votre masse et votre positif se connecteront aux rails positif et négatif de la carte.

Étape 2: les commandes de la pagaie

Les commandes de la pagaie
Les commandes de la pagaie
Les commandes de la pagaie
Les commandes de la pagaie
Les commandes de la pagaie
Les commandes de la pagaie

Pour cette étape très simple, il vous suffira de souder trois fils à chaque potentiomètre. si vous tenez le potentiomètre avec les points de soudure tournés vers vous, la broche gauche sera positive, la broche centrale étant sortie et la broche droite sera mise à la terre. comme le montre le schéma ci-dessus

une fois que vous aurez soudé les fils, nous les connecterons à l'Arduino. vous positifs et négatifs se connecteront aux pluies positives et négatives correspondantes. les fils de sortie sur les potentiomètres se connecteront à différentes entrées sur l'arduino. l'un se connectera à la prise (A0) et l'autre à la prise (A1).

Étape 3: Couper le boîtier

Couper le boîtier
Couper le boîtier
Couper le boîtier
Couper le boîtier
Couper le boîtier
Couper le boîtier
Couper le boîtier
Couper le boîtier

cette partie vous donnera les dimensions et les angles sur ce que vous devrez couper

****très important***** assurez-vous que votre bois est d'un quart de pouce d'épaisseur (1/4 pouce)

également lors de la découpe de pièces, n'oubliez pas d'étiqueter vos pièces

la partie de base à découper sera étiquetée bas, arrière, haut, avant haut, avant bas…. montré dans les images au début

cotes de la pièce

-Bas: 13 3/4 pouces X 10 1/4 pouces

-Dos: 13 3/4 pouces X 15 1/2 pouces

-Haut: 13 3/4 pouces X 6 1/2 pouces

-Bas avant: 13 3/4 pouces X 4 1/4 pouces

-Panneau de cadran: 13 3/4 pouces X 6 pouces

- Dessus intérieur: 13 3/4 pouces X 3 1/4 pouces

- Revêtement LED: 6 1/4 pouces X 1 pouce (coupez-en deux)

- Fond intérieur LED: 13 1/4 pouces X 4 1/2 pouces

- panneau LED arrière intérieur: 13 1/4 pouces X 9 pouces

-Blocs: 1 pouce X 1 pouce X 1 pouce (couper 10 blocs)

-Panneau acrylique: 13 3/4 pouces X 6 1/2 pouces

Les images ci-dessus vous montreront les angles et les dimensions de la partie du panneau latéral. aussi vous aurez besoin de couper deux de cette partie

Étape 4: Assemblage du boîtier

Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier

À ce stade de ces instructions, vous avez presque tout terminé. Mettez-vous probablement en train de penser que j'ai toutes ces pièces et ces découpes, que dois-je faire avec elles. Cette dernière étape vous expliquera comment assembler votre boîtier.

-La première chose que nous allons faire est de commencer à assembler le boîtier. c'est là que toutes les découpes de bois de l'étape précédente sont utiles.

-Pour commencer l'assemblage, nous allons avoir besoin de 4 des blocs de bois 1x1x1 la base, les deux panneaux latéraux, le dos et le fond avant. placez les 4 blocs sur chaque coin du fond et laissez un quart de pouce entre le bord et le bloc comme indiqué sur la deuxième photo au début de la marche.

-Ensuite, vous devrez percer des trous pilotes à travers le bois et les blocs. une fois que vous avez fait cette vis puis vers le bas.

-Ensuite, nous allons mettre les panneaux latéraux. Placez les panneaux sur l'écart quart de pouce sur le côté extérieur du bloc. percez un trou pilote à travers le panneau latéral et le bloc de bois et vissez les panneaux. répétez l'opération pour l'autre côté.

-Après avoir terminé les panneaux latéraux. nous allons mettre le panneau inférieur avant. placez le panneau au ras du fond et les côtés percez les avant-trous dans les blocs et vissez le panneau.

-Enfin, nous allons mettre le dos. faites la même chose que vous avez fait avec le panneau inférieur avant et revissez-vous.

-À ce stade, vous avez une base sur laquelle construire et une compréhension de la façon dont nous assemblons ce cas.

-Cette prochaine partie est un peu plus difficile en raison du fait que vous travaillez avec une zone plus petite. pour commencer, nous aurons besoin de toutes les parties supérieures et de 6 blocs.

-Posez ce que vous avez construit jusqu'à présent sur le dos et placez les blocs dans les coins à un quart de pouce du haut. (comme le montre la troisième photo au début)

-percez les avant-trous des côtés et du dos et vissez-les.

-maintenant nous allons assembler le reste du haut

-prenez votre panneau supérieur et placez-le sur les blocs percez les trous pilotes et vissez le haut. percez des avant-trous à partir des panneaux latéraux et vissez-les au bloc. retournez le boîtier à la verticale et percez des trous pilotes à travers le haut dans les blocs et vissez-le.

-cette partie du nid est un peu délicate. vous aurez besoin de votre panneau supérieur avant et de vos deux derniers blocs. Percez d'abord des trous pilotes dans les blocs précédents à travers votre panneau avant supérieur et vissez-le. Prenez maintenant les deux derniers blocs et placez-les à l'intérieur dans le coin et vissez votre panneau latéral et votre panneau supérieur avant aux blocs. retournez à nouveau le boîtier et placez le panneau supérieur intérieur sur le bloc et vissez-le.

-vous devriez vous retrouver avec quelque chose comme ça (montré dans la première image de cette étape)

la prochaine étape expliquera le reste de l'assemblage.

Étape 5: Fin de l'assemblage

Fin de l'assemblage
Fin de l'assemblage
Fin de l'assemblage
Fin de l'assemblage
Fin de l'assemblage
Fin de l'assemblage

À ce stade, vous avez presque terminé le boîtier et la construction, il vous suffit de mettre en place quelques éléments et vous aurez terminé.

Il ne reste plus qu'à installer l'électronique.

-Nous commencerons par percer des trous dans votre panneau de cadran pour votre potentiomètre. n'hésitez pas à percer les trous où vous sentez que ce serait à l'aise. dans mon cas, j'ai placé les trous à 2 1/2 pouces du bas et à 3 1/2 pouces du côté pour les deux potentiomètres.

-Une fois que vous aurez percé vos trous, nous mettrons ce panneau sur le boîtier. mais au lieu de le visser, nous le collerons simplement, mettez une quantité généreuse de colle le long du bord du boîtier et placez le panneau et maintenez-le avec des pinces ou quelque chose de lourd.

-Une fois que la colle aura fini de sécher, nous mettrons en place les pièces électroniques. Mais nous devrons d'abord retirer le panneau arrière.

-Une fois le dos éteint, je vous recommande de placer le boîtier à l'avant pour faciliter l'insertion des LED et autres composants à l'intérieur.

-Maintenant que vous avez le recul, nous allons placer le potentiomètre à l'intérieur du boîtier en le faisant simplement passer dans les trous que nous venons de percer et en mettant une quantité généreuse de colle chaude.

***Attention***-Soyez extrêmement prudent lorsque vous installez la matrice de LED car les points de soudure peuvent être fragiles.

-Maintenant, nous avons atteint la partie la plus importante, mettre le tableau de leds. placez simplement la planche comme indiqué sur la deuxième image.

-Une fois dedans, récupérez votre panneau intérieur LED et placez-le à l'intérieur du boîtier directement sous le panneau arrière de la matrice LED. cette pièce pourrait me faire un ajustement serré. laissez également sécher avant de continuer.

-Vous avez atteint la dernière partie. Je recommande de peindre une face de cette dernière partie (LED Inner Back) en noir ou blanc pour un contraste entre les LED et cette partie.

-Nous saurons placer ceci directement derrière le support LED et appuyer légèrement contre le dos des LED pour les empêcher de bouger. une fois mis en place, appliquez de la colle le long du bord pour l'empêcher de bouger. montré dans la troisième image.

**** félicitations vous avez terminé l'assemblage complet !!!

passez à la dernière étape pour coder le jeu

Étape 6: le code

Félicitations encore une fois pour être arrivé jusqu'ici.

dans cette section, je vais vous montrer le code et comment le faire fonctionner en plus des éléments du code que vous pouvez modifier et personnaliser.

mais avant d'entrer dans ce domaine, vous aurez besoin du (adafruit_NeoPixel-master) que j'ai également lié au téléchargement.

pour installer le maître ouvrez votre programme arduino

1. aller au croquis

2. ouvrir la bibliothèque d'inclusion

3. cliquez sur (bibliothèque add.zip)

4.sélectionnez le fichier (adafruit_NeoPixel-master) et le tour est joué

ci-dessous, j'ai collé le code du jeu.

#comprendre

#comprendre

long ballXabs = 12;

longs ballYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

indice entier;

entier fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - largeur de pagaie + 1;

int potardseg = 1023 / (paddlemax);

int palette1 = 4;

int palette2 = 4;

#définir NUMPIXELS 260

#définir le code PIN 6

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

void setup() {

pixels.begin();

Serial.begin(9600);

}

boucle vide() {

écran propre();

updateBall();

updatePaddle1();

updatePaddle2();

displayBall();

displayPaddle1();

displayPaddle2();

pixels.show();

détecterCollision();

délai (fps);

}

void clearScreen() {

pour (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(pagaie1);

if (ballvelX > 0 && ballXabs >= 25) { //collision mur droit

Serial.println("CollisionX");

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

}

if (ballvelX < 0 && ballXabs <= 0) { //collision mur gauche

Serial.println("CollisionX");

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

}

if (ballvelY > 0 && ballYabs >= 9) { //collision de la paroi supérieure

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

}

if (ballvelY < 0 && ballYabs <= 0) { //collision de la paroi inférieure

Serial.println("CollisionY");

ballvelY *= -1;

}

//détecter la collision de la palette 2

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

{ // collision avec le mur de droite

Serial.println("CollisionPaddle");

ballvelX *= -1;

}

//détecte la collision de la palette 1

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

{ // collision avec le mur de droite

Serial.println("CollisionPaddle");

ballvelX *= -1;

}

}

void updatePaddle1() {

potentiomètre int = lecture analogique (A0);

paddle1 = rond((long)bouton / (long)boutonseg);

}

void updatePaddle2() {

int potentiomètre2 = analogRead(A1);

paddle2 = round((long)knob2 / (long)knobseg);

}

void displayBall() {

ballX = rond(ballXabs);

ballY = round(ballYabs);

if (ballX % 2 != 0) {

index = (9 - bouleY) + 10 * bouleX;

si (bouleX != 0) {

pixels.setPixelColor(ballY + 10 * (ballX - 1), pixels. Color(30, 0, 0)); //côté gauche de la couleur de la balle

}

if (ballX != 25) { pixels.setPixelColor(ballY + 10 * (ballX + 1), pixels. Color(30, 0, 0)); //côté droit de la couleur de la balle

}

if (ballY != 9) { pixels.setPixelColor(index - 1, pixels. Color(30, 0, 0)); //couleur du dessous de la balle

}

if (ballY != 0) { pixels.setPixelColor(index + 1, pixels. Color(30, 0, 0)); //des côtés supérieurs de la couleur de la balle

}

}

autre {

index = bouleY + 10 * bouleX; si (bouleX != 0) {

pixels.setPixelColor((9 - ballY) + 10 * (ballX - 1), pixels. Color(30, 0, 0)); //côté gauche de la balle rangée paire

}

si (bouleX != 25) {

pixels.setPixelColor((9 - ballY) + 10 * (ballX + 1), pixels. Color(30, 0, 0)); //côté droit de la balle rangée paire

}

if (ballY != 9) {

pixels.setPixelColor(index + 1, pixels. Color(30, 0, 0)); //bas des côtés de la balle, rangée paire

}

if (ballY != 0) { pixels.setPixelColor(index - 1, pixels. Color(30, 0, 0)); //côtés supérieurs de la balle rangée paire

}

}

pixels.setPixelColor(index, pixels. Color(255, 0, 0)); ///couleur du centre de la boule

}

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

}

}

score nul1() {

resetBall(0);

}

score nul2() {

resetBall(1);

}

void resetBall(int player) {

retard(1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = joueur ? 1: -1;

ballvelY = 1;

écran propre();

retard(1000);

displayBall();

pixels.show();

retard(1000);

displayPaddle1();

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

Étape 7: Finition

Finition
Finition

Une fois que vous avez téléchargé le code, percez un trou dans le panneau arrière assez grand pour votre adaptateur secteur. branchez-le sur l'arduino et enfin remonter le dos.

J'ai également inclus dans la liste des pièces le diffuseur acrylique que vous pouvez maintenant placer sur les LED et le coller

Après avoir fait cela, vous êtes prêt à jouer et à profiter des heures de matchs compétitifs contre votre famille et vos amis.

Enfin, je tiens à vous féliciter pour la réalisation de ce projet.

Si vous avez des problèmes, contactez-moi ici et je serais ravi de vous aider à résoudre le problème.

Conseillé: