Comment recréer le jeu Classic Pong en utilisant Arduino

Pong a été le premier jeu vidéo à atteindre le marché de masse. Pour la première fois dans l'histoire, le concept d'un jeu vidéo a été introduit dans la maison familiale, grâce à l'Atari 2600 - il est donc juste que nous rendions un petit hommage à ce joyau historique.

Pong a été le premier jeu vidéo à atteindre le marché de masse.  Pour la première fois dans l'histoire, le concept d'un jeu vidéo a été introduit dans la maison familiale, grâce à l'Atari 2600 - il est donc juste que nous rendions un petit hommage à ce joyau historique.
Publicité

Arduino Pong Pong a été le premier jeu vidéo à atteindre le marché de masse. Pour la première fois dans l'histoire, le concept de «jeu vidéo» a été introduit dans la maison familiale, grâce à l'Atari 2600 - il est donc juste que nous rendions un petit hommage à ce joyau historique. Maintenant, vous pouvez revivre ce jeu (certes un peu ennuyeux) en utilisant un Arduino et certains composants communs.

Je ne vais pas mentir - il est peu probable que votre fille abandonne sa Nintendo DS, et cela ne va pas fournir des heures de plaisir pour toute la famille - mais c'est un projet génial et facile à améliorer votre codage Arduino. Et si vous débutez, n'oubliez pas de consulter le guide Arduino de notre débutant.

Nous allons créer deux contrôleurs de base, et la vidéo sortira sur votre téléviseur via un câble vidéo composite standard.

Exigences pour Arduino Pong

  • Résistance 470 ohms x1
  • Résistance 1k ohm x1
  • Potentiomètre de 10k ohms ( résistance variable twiddly) x2
  • Arduino x1 (n'importe quelle version)
  • Connecteur RCA x1 (si vous en avez plus d'un, vous pouvez aussi brancher le son, un pour la vidéo est un strict minimum)
  • Commutateur à bouton- poussoir x1
  • Résistance 10k ohm x1

Arduino Pong

Vous pouvez également télécharger la bibliothèque TV Out Arduino à partir d'ici - téléchargez TVoutBeta1.zip, la dernière version. Placez les dossiers résultants dans votre répertoire / arduino / libraries et redémarrez l'IDE Arduino s'il est déjà ouvert.

Tester la sortie TV

Prenez votre prise RCA et dépouillez la couche externe. Rassemblez le blindage, tournez-le et rangez-le d'un côté. C'est ton terrain. Dans le centre devrait être un autre câble avec blindage en plastique - encore une fois, dépouiller cela afin que vous ayez votre ligne de signal.

Jeu de Arduino Pong

Souder les deux résistances de 470 ohms et 1k ohms à la ligne de signal central de votre prise RCA - ceci fournit un signal de synchronisation et le signal vidéo réel, combinés pour produire l'entrée vidéo analogique. La résistance de 470 ohms doit être insérée dans la broche d'E / S numérique D07, tandis que la résistance de 1 kohm doit passer à la broche D09.

Ces broches sont définies par la bibliothèque que nous importons, vous ne pouvez donc pas les modifier. Une de vos broches Arduino GND devrait aller à la protection (à l'extérieur) de la RCA.

Jeu de Arduino Pong

Maintenant vous pouvez aller de l'avant et charger dans un exemple; Bien que PAL et NTSC soient fournis, cela ne devrait pas vraiment importer avec les téléviseurs numériques modernes - la démo NTSC a bien fonctionné pour moi, même si j'étais au Royaume-Uni. Branchez votre téléviseur, et devrait obtenir un joli cube 3D rétro. Oooooh ouais - tu es encore excité? Je suis.

Jeu de Arduino Pong

Tester les entrées du potentiomètre analogique

Ok, nous avons la sortie TV qui fonctionne, maintenant allons-y avec les contrôleurs. Le câblage des «pots» n'est pas si critique - chacun devrait avoir 3 broches, et le central produit presque toujours le signal de sortie. Câbler cela à A0 et A1 (un pour chaque pot). Sur l'une des épingles latérales - peu importe laquelle - câbler + 5V. L'autre broche de l'autre côté devrait aller au sol.

Ici, je les ai placés tous les deux face à une seule planche à pain, car je n'ai que des fils courts. Pour un produit poli, vous aurez besoin d'utiliser un vieux câble de réseau pour vous donner un peu de distance (de sorte que vous pouvez réellement vous asseoir sur le canapé pour jouer).

Projet Arduino Pong

Ensuite, chargez l'un des exemples d'esquisses de base fournis avec l'Arduino - l'entrée analogique. Cette démo fera clignoter la LED intégrée plus rapidement ou plus lentement, en fonction de l'entrée sur A0.

Il ne teste pas l'autre pot A1, mais si A0 est branché, je ne vois pas comment vous commettriez une erreur sur A1, alors supposons que tout va bien et passons à autre chose.

Ajouter un commutateur de démarrage

Enfin, nous allons ajouter un commutateur de démarrage sur D02. Reportez-vous au schéma de câblage ici pour savoir comment faire cela. Ce commutateur sera utilisé pour démarrer le jeu dans le menu.

Projet Arduino Pong

Le code Pong

Nous utilisons un code écrit à l'origine par Lamonica, modifié par duboisvb pour deux joueurs, et mis à jour par moi-même pour utiliser la dernière version bêta de la bibliothèque de sortie TV. Vous pouvez voir et télécharger le code de cette pastebin.

C'est un code assez long mais simple qui ne devrait pas nécessiter d'explication de ma part. Comme la plupart des jeux, il repose sur un état de jeu (menu, in-game, jeu terminé), et lit les valeurs d'entrée des deux contrôleurs et le commutateur à chaque itération de la boucle. Au-delà, il y a les méthodes pour dessiner l'écran, la balle, les pagaies et la logique du jeu.

Projet Arduino Pong

Notez que le code inclut également la sortie audio : je n'ai pas trouvé de prises RCA supplémentaires pour tester cela, mais si vous en avez, câbler la broche de signal directement à D11, et vous devriez obtenir des tons rétro agréables.

Arduino Pong

Pour être honnête, je ne savais pas que Arduino pouvait même faire de la TV sans un codage extrêmement complexe; la bibliothèque de sortie TV le rend vraiment facile. Même si vous n'êtes pas dans le jeu rétro, l'utilisation de cette sortie TV de base est une excellente façon d'utiliser l'équipement existant comme un dispositif de moniteur bon marché. Vous pouvez bien sûr aussi imprimer la couleur.

Pensez-vous que vous allez essayer Arduino Pong, ou peut-être faire votre propre remake rétro jeu vidéo? Dites-nous dans les commentaires si vous avez!

In this article