
Peter Holmes
0
4475
227
Pong a été le tout 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 - c’est donc tout à fait juste que nous rendions un petit hommage à ce joyau historique. Maintenant, vous pouvez 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 donner des heures de plaisir à toute la famille - mais c'est un projet impressionnant 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..
Pour passer ce projet au niveau supérieur, vous pouvez imprimer en 3D un boîtier. L’utilisateur YouTube PotentPrintables a fait exactement cela!
Exigences 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 - obtenez le 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 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 doit 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 doit 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 toutes les deux 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émo fera clignoter la DEL 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 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!