Table des matières:

Console Arduino Pong portable : 6 étapes (avec photos)
Console Arduino Pong portable : 6 étapes (avec photos)

Vidéo: Console Arduino Pong portable : 6 étapes (avec photos)

Vidéo: Console Arduino Pong portable : 6 étapes (avec photos)
Vidéo: When The Quiet Kid Does Your Homework 💀 #electronics #arduino #engineering 2024, Juin
Anonim
Console Arduino Pong portable
Console Arduino Pong portable

DFRobot m'a contacté récemment, me demandant d'utiliser sa carte spéciale Arduino Nano et OLED. Au début, je voulais créer un vélo intelligent, et je l'ai construit dans son intégralité. Mais malheureusement, le Nano était trop faible pour exécuter et stocker le croquis massif qui était nécessaire. J'ai donc décidé de revisiter l'un de mes projets précédents, une matrice Neopixel qui faisait tourner un jeu de Pong. Je voulais plutôt le rendre portable, et un OLED de 1,7 ferait un écran parfait.

Liste des pièces:

  • Arduino nano
  • OLED
  • Conférencier

Étape 1: vidéo

Image
Image

Étape 2: Concevoir le jeu

Conception du jeu
Conception du jeu

Pour ce jeu de Pong, je voulais que ce soit relativement simple, ce qui signifiait qu'il n'y avait pas d'algorithmes de réflexion de raquette ou de balle fantaisie contrôlés par ordinateur. Fondamentalement, il y a une seule pagaie qu'un utilisateur peut déplacer vers le haut ou vers le bas, et si la balle entre en collision avec la pagaie, son vecteur d'axe x basculerait. Chaque fois que la balle est touchée, un son retentit. Lorsque l'appareil de jeu est allumé, un écran apparaît avec le titre et les instructions du jeu. De plus, ma mère a créé une petite chanson thème qui tourne en arrière-plan jusqu'à ce que le bouton du haut soit enfoncé.

Étape 3: Conception de l'appareil de jeu

Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu
Conception de l'appareil de jeu

Mon programme de CAO de prédilection est Fusion 360, j'ai donc décidé de l'utiliser pour concevoir mon appareil de jeu de pong. J'ai commencé par concevoir chaque composant utilisé: un OLED, un Arduino Nano et un haut-parleur. De cette façon, je peux voir exactement où et comment chaque composant doit s'adapter à l'intérieur du boîtier. J'ai ensuite mis le Nano et le PCB dans la partie arrière du boîtier, et l'OLED par-dessus. Ensuite était la question de savoir où placer le haut-parleur et les boutons. J'ai décidé que le haut-parleur 3W pouvait aller juste en dessous de l'écran (en le regardant du haut), et cela nécessitait également de placer une "grille" sur le haut-parleur afin que le son ne soit pas étouffé. Enfin, j'ai ajouté deux boutons sur le côté gauche pour ajouter des contrôles.

Étape 4: Construction de l'appareil

Construire l'appareil
Construire l'appareil
Construire l'appareil
Construire l'appareil
Construire l'appareil
Construire l'appareil

J'ai commencé par imprimer en 3D chaque partie, composée de la moitié inférieure, de la moitié supérieure et de 2 boutons. Ensuite, j'ai soudé une embase femelle au 4x6cm et l'ai câblé au Nano. Cela permet non seulement de retirer facilement l'OLED, mais cela l'élève également au-dessus de l'Arduino Nano. Vérifiez le schéma pour les informations de câblage. Ensuite, j'ai câblé les deux boutons, ainsi qu'une simple carte de dérivation micro USB pour l'alimentation. Le haut-parleur a également été fixé et l'a placé dans sa position correcte. Ma conception Fusion 360 permet à des vis mécaniques de 3 mm de maintenir l'OLED, le haut-parleur et de connecter les deux moitiés de l'appareil. Mais, je devais les rendre exacts, alors j'ai utilisé ma perceuse à colonne pour percer 8 trous: 2 pour le haut-parleur, 2 pour l'écran et 4 en dessous. Vous pouvez visiter le lien Thingiverse pour les fichiers.

Étape 5: Programmation du jeu

L'utilisation d'une interface simple était vitale pour garder le programme petit. J'ai commencé par ajouter plusieurs bibliothèques: Adafruit_GFX, Adafruit_SSD1351 et la bibliothèque Arduino Timer. Ensuite, j'ai défini mes broches et mes couleurs, telles que les broches de l'OLED et les définitions de couleurs 16 bits. Dans mon code, il existe également 4 façons de changer la façon dont le jeu se déroule, comme changer les dimensions de la raquette et la vitesse à laquelle la balle se déplace. Une section existe alors où chaque variable est définie, incluant le score et diverses coordonnées. Chaque fois que l'appareil est allumé, une image d'une balle et du texte apparaît à l'écran, ainsi qu'une petite chanson thème qui est définie plus tôt dans le code. Une fois que le jeu commence, deux minuteries sont créées, l'une qui met à jour la raquette et l'autre met à jour la balle. Chaque fois que la position de la balle est mise à jour, ses coordonnées sont vérifiées pour s'assurer qu'elle ne dépasse pas le bord de l'écran ou si elle touche une raquette. Chaque fois qu'il rebondit, son axe x ou y est inversé et une petite tonalité est émise. Regardez la vidéo au début de cet article pour voir comment le jeu se déroule.

Étape 6: jouer au pong

Jouer au pong !
Jouer au pong !
Jouer au pong !
Jouer au pong !
Jouer au pong !
Jouer au pong !
Jouer au pong !
Jouer au pong !

Le but du jeu est d'obtenir le score le plus bas possible. Il n'y a pas de limite de temps, c'est donc très agréable et même induisant la transe. Il suffit d'appuyer sur l'un des deux boutons pour déplacer la palette vers le haut ou vers le bas. Il est également possible d'ajouter un moyen de stocker le score le plus élevé en utilisant l'EEPROM de l'Arduino.

Conseillé: