Comment recréer le jeu classique de Pong en utilisant Arduino

Comment recréer le jeu classique de Pong en utilisant Arduino / DIY

Pong a été le tout premier jeu vidéo à atteindre le marché de masse. Pour la première fois de l'histoire, le concept de “jeu vidéo” a été introduit dans la maison familiale grâce à l’Atari 2600 - c’est donc tout à fait à juste titre que nous rendions un petit hommage à ce joyau historique. Maintenant, tu peux revivre ça (certes un gameplay plutôt ennuyeux) en utilisant un Arduino et certains composants communs.

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

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

Prérequis pour Arduino Pong

  • 470 ohm résistance x1
  • 1k ohm résistance x1
  • Potentiomètre 10k ohms (résistance variable variable) x2
  • Arduino x1 (toute version)
  • RCA prise de courant x1 (Si vous en avez plus d'un, vous pouvez aussi brancher le son. Un pour la vidéo est un strict minimum)
  • Bouton commutateur x1
  • 10k ohm résistance x1

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

Tester la sortie TV

Prenez votre fiche RCA et enlevez la couche externe. Ramassez le blindage, tournez-le et rangez-le sur le côté. Ceci est votre terrain. Au centre, vous trouverez un autre câble avec un blindage en plastique - encore une fois, retirez-le pour disposer de votre ligne de signal.

Souder les résistances de 470 ohms et de 1k ohms à la ligne de signal centrale de votre fiche 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 s'insérer dans la broche IO numérique D07, tandis que la résistance de 1 kohm va sur 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 au blindage (extérieur) du RCA.

Vous pouvez maintenant charger un exemple. Bien que PAL et NTSC soient fournis, les téléviseurs numériques modernes ne devraient pas avoir d'importance. La démo NTSC a bien fonctionné pour moi, même si je me trouvais au Royaume-Uni. Branchez-le sur votre téléviseur et obtenez un joli cube rétro en 3D. Oooooh ouais - t'es excité encore? je suis.

Tester les entrées de potentiomètre analogique

Ok, nous avons la sortie TV qui fonctionne, essayons maintenant les contrôleurs. Le câblage de la “des pots” n'est pas si critique - chacune devrait avoir 3 broches, et la centrale produit presque toujours le signal de sortie. Câblez-le à A0 et A1 (un pour chaque pot). Sur l’une des broches latérales - peu importe lequel - câblez + 5V. L'autre broche de l'autre côté devrait aller à la terre.

Ici, je les ai placées face à face sur une seule planche à pain, car je n’ai que des fils courts. Pour un produit fini, utilisez un vieux câble réseau pour vous donner un peu de distance (pour pouvoir vous asseoir sur le canapé)..

Ensuite, chargez l’un des exemples de base fournis avec l’Arduino - l’entrée analogique. Cette démonstration fera clignoter la DEL intégrée plus ou moins vite, en fonction de l'entrée sur A0.

Il ne teste pas l'autre pot A1, mais si A0 est câblé correctement, je ne vois pas comment vous feriez une erreur sur A1, alors supposons que tout soit bon et passons à autre chose..

Ajouter un interrupteur de démarrage

Enfin, nous allons ajouter un commutateur de démarrage sur D02. Reportez-vous au schéma de câblage ci-dessous pour savoir comment procéder. Cet interrupteur sera utilisé pour démarrer le jeu dans le menu..

Le code de Pong

Nous utilisons du 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 exiger aucune explication de ma part. Comme la plupart des jeux, il repose sur un état de jeu (menu, in-game, game over) et lit les valeurs d'entrée des deux contrôleurs et du commutateur à chaque itération de la boucle. Au-delà de ce sont les méthodes pour dessiner l'écran, la balle, les palettes et la logique de jeu.

Notez que le code comprend sortie audio aussi: je n'ai pas pu trouver plus de fiches RCA pour tester cela, mais si vous en avez, connectez la broche de signal directement à D11, et vous devriez obtenir des tonalités rétro agréables.

Pour être honnête, je ne savais pas qu'Arduino pouvait même faire de la télévision sans codage extrêmement complexe; la bibliothèque de sortie TV le rend vraiment facile. Même si vous n’êtes pas amateur de jeu rétro, cette sortie TV de base est un excellent moyen d’utiliser le matériel existant comme moniteur bon marché. Vous pouvez bien sûr aussi imprimer des couleurs.

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

Explorer plus sur: Arduino, Retro Gaming.