Table des matières:

Contrôleur de jeu USB Paddle : 7 étapes (avec photos)
Contrôleur de jeu USB Paddle : 7 étapes (avec photos)

Vidéo: Contrôleur de jeu USB Paddle : 7 étapes (avec photos)

Vidéo: Contrôleur de jeu USB Paddle : 7 étapes (avec photos)
Vidéo: [TUTO] Comment régler le problème de compatibilité des manettes ou gamepad sur jeu PC windows 2024, Novembre
Anonim
Contrôleur de jeu de palette USB
Contrôleur de jeu de palette USB
Contrôleur de jeu de palette USB
Contrôleur de jeu de palette USB
Contrôleur de jeu de palette USB
Contrôleur de jeu de palette USB

Mon fils passait une soirée de jeux vidéo rétro pour son anniversaire, et le matin du jour, j'ai décidé de voir si je pouvais fabriquer une paire de contrôleurs de jeu USB pour Pong à l'aide d'une imprimante 3D et de l'électronique de ma réserve. Bien que j'aie réussi à les faire fonctionner à temps, les gens étaient trop occupés avec d'autres jeux pour Pong à la fin.

Les contrôleurs peuvent être utilisés pour Pong avec l'émulateur de niveau circuit DICE ou avec ma version pygame assez précise, pour les jeux Atari 2600 avec un émulateur et pour une fonctionnalité de type Etch-a-Sketch avec un programme de peinture comme Tux Paint.

Il existe trois modes commutables:

  • Émulation de la pagaie Stelladaptor: ils devraient fonctionner avec tous les logiciels d'émulation Atari 2600 qui prennent en charge le Stelladaptor; en mode Stelladaptor, les palettes fonctionnent comme un joystick à deux axes et deux boutons, chaque palette contrôlant un axe et un bouton
  • émulation de double joystick: chaque palette fonctionne comme un joystick avec un seul bouton (le mouvement de la palette se traduisant par un mouvement sur les deux axes du joystick)
  • souris: chaque palette contrôle une direction de mouvement pour une souris absolue, et les boutons sont des boutons de souris; avec un programme de peinture, vous pouvez obtenir un appareil de haute technologie similaire à un Etch-a-Sketch.

Fournitures

Tu auras besoin de:

  • pilule bleue stm32f103c8t6
  • 2x potentiomètre linéaire (je recommanderais 20K-100K)
  • 2x micro-interrupteur de largeur 12 mm avec bouton
  • Imprimante 3D
  • divers (filament, fils, soudure, fer à souder, colle chaude)

Étape 1: Préparer la carte et l'environnement Arduino

Préparer la carte et l'environnement Arduino
Préparer la carte et l'environnement Arduino
Préparer la carte et l'environnement Arduino
Préparer la carte et l'environnement Arduino
  1. Soudez les six broches d'en-tête au milieu de votre carte stm32f103c8t6.
  2. Vérifiez la résistance entre A12 et 3,3V. Il devrait être de 1,5K pour une compatibilité USB plus complète. De nombreuses cartes ont à la place 10K. Si vous en faites partie, soudez idéalement une résistance de 1,8K de A12 à 3,3V, bien que vous ayez peut-être de la chance et que vos ordinateurs fonctionnent avec le 10K.
  3. Installez un chargeur de démarrage. Il y a des instructions à l'étape 2 de ce Instructable. Une chose à noter est la taille du flash signalée par le démonstrateur STM. S'il s'agit de 32 Ko, vous avez un faux stm32f103c8 qui est probablement un stm32f103c6 renommé. Ce projet devrait toujours fonctionner avec cela, mais notez que vous avez le faux tableau pour une étape future.
  4. Installez Arduino, Arduino Zero et le noyau basé sur libmaple de Roger en suivant les instructions de l'étape 3 de l'Instructable que vous avez utilisé à l'étape précédente. Ignorez les instructions de la bibliothèque à cette étape.
  5. Téléchargez la dernière version de ma bibliothèque USB Composite et décompressez-la dans votre dossier Arduino/Libraries.
  6. Téléchargez mon croquis de paddlecontrollers et décompressez-le dans votre dossier Arduino.
  7. Dans Arduino, allez dans Outils | Conseil | Série générique STM32F103C, à moins que vous n'ayez la fausse carte c6, auquel cas choisissez plutôt Generic STM32F103C6/fake STM32F103C8. Si vous n'êtes pas sûr de ce que vous avez, choisir la fausse option est en fait plus sûr.

Étape 2: Télécharger

Télécharger
Télécharger

Branchez la carte dans l'adaptateur USB de votre ordinateur, chargez le croquis du paddlecontroller et cliquez sur le bouton Télécharger (flèche pointant vers la droite). Si tout se passe bien, le croquis devrait être téléchargé et le tableau devrait apparaître sur votre ordinateur sous la forme d'un joystick à deux axes et à deux boutons appelé "Stelladaptor". Sous Windows, vous pouvez le vérifier avec Windows-R, joy.cpl[enter].

Bien sûr, cela ne fera rien tant que le reste du matériel n'est pas assemblé.

Étape 3: Imprimer

Imprimer
Imprimer
  1. Téléchargez les fichiers stl et/ou scad depuis ma page Thingiverse pour ce projet. Veuillez noter que le bouton de la palette est modifié à partir d'ici.
  2. Si la largeur de votre boîtier de microrupteur est différente de 12 mm, vous devrez ajuster le paramètre de largeur du bouton dans le fichier paddlemain-standalone.scad. Vous pouvez le faire dans OpenSCAD ou dans Thingiverse Customizer.
  3. Vous devrez peut-être ajuster les mesures dans le fichier paddleknob.scad pour les adapter à votre potentiomètre.
  4. Imprimez ces fichiers (ne faites qu'une seule copie des fichiers "2x" si vous ne voulez qu'une pagaie). J'ai utilisé du PLA, mais l'ABS devrait aussi bien fonctionner.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x support pcbnarrower.stl
    • 2x buttoncap110.stl (facultatif)
    • 1x 12.stl (facultatif; imprimer dans une couleur différente et coller pour étiqueter les deux palettes)

Étape 4: Câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage

Vous devrez faire passer quatre fils de la carte stm32f103c à chaque contrôleur de palette. Vous pouvez utiliser de vieux cordons USB pour ces fils. Il m'est arrivé d'avoir de beaux fils autonomes à partir d'un câble Ethernet que j'ai lié avec un film rétractable.

Chaque palette a un microrupteur et un potentiomètre. Utilisez un multimètre pour identifier une paire de broches adjacentes (non diagonales) sur le microrupteur qui sont connectées/déconnectées en appuyant sur le bouton. Je vais étiqueter ces broches S1 et S2 dans le schéma. Les trois broches du potentiomètre que j'ai étiquetées P1, P2 et P3 de haut en bas, en regardant du dessous du potentiomètre, avec les broches pointant vers la droite.

Poussez les quatre fils de la planche à travers le trou sur le côté du boîtier de la pagaie (paddlemain.stl).

Lors de la connexion des fils au microrupteur, poussez d'abord les fils à travers les trous sur le côté du boîtier de la palette et soudez au commutateur pendant que le commutateur se trouve à l'extérieur du boîtier. Tirez ensuite l'interrupteur vers le boîtier, en faisant en sorte que les broches et les fils attachés s'insèrent dans les trous. J'ai coupé les épingles inutiles.

Les deux pagaies:

  • P1 à S1
  • P1 à carte 3.3V (3.3)
  • P3 à bord GND (G)

Pagaie 1:

  • P2 à bord A1
  • S2 à bord A2

Pagaie 2:

  • P2 à bord A3
  • S2 à bord A4

Testez maintenant les connexions en vous connectant à votre ordinateur et en utilisant un programme de test de joystick. Sous windows, Windows-R, joy.cpl[enter], sélectionnez Stelladaptor, cliquez sur Properties. La palette 1 doit contrôler l'axe X et le premier bouton; la palette 2 doit contrôler l'axe Y et le deuxième bouton.

Étape 5: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

Les micro-interrupteurs peuvent être collés (la colle chaude a fait le travail pour moi) dans leurs emplacements sur le côté de la boîte à palettes. Les capuchons des boutons peuvent être enclenchés, avec un peu de colle chaude pour plus de stabilité.

Le potentiomètre se fixe au grand trou en haut de la boîte à palettes. Le bouton doit glisser et coller. Agrandissez les trous avec une perceuse au besoin. Poussez le couvercle inférieur en ajoutant un peu de colle chaude si vous le souhaitez.

Le panneau de pilule bleu s'insère à l'intérieur de la glissière PCB, qui se visse ensuite au bas du boîtier du convertisseur, qui a également un couvercle qui peut le recouvrir.

J'ai ajouté un peu de Shoe Goo où les fils rencontrent le boîtier pour protéger les fils. Et j'ai collé des étiquettes "1" et "2" sur les palettes.

Étape 6: Modes de fonctionnement

Modes de fonctionnement
Modes de fonctionnement
Modes de fonctionnement
Modes de fonctionnement

Les palettes ont trois modes de fonctionnement. Vous pouvez changer le mode de fonctionnement en appuyant sur une combinaison particulière de boutons tout en les branchant sur un port USB, en les relâchant une fois que les LED de la carte cessent de clignoter. Une fois que vous avez changé de mode de fonctionnement, il sera enregistré dans la mémoire flash et restera jusqu'à ce que vous le changiez. (Donc, si vous ne voulez pas changer de mode, n'appuyez sur aucun bouton pendant que vous branchez les palettes sur un port USB.) Voici les options:

  • Bouton de palette gauche uniquement: un joystick à deux axes et deux boutons, chaque axe et bouton étant contrôlés par une palette. De plus, les palettes s'identifient comme un Stelladaptor, un adaptateur USB abandonné pour les contrôleurs Atari 2600, et donc les émulateurs Atari 2600 comme Stella et Z26 qui sont compatibles Stelladapter devraient fonctionner parfaitement.
  • Les deux boutons de palette: chaque palette affiche un joystick distinct. Le joystick a un bouton opérationnel, et tourner la palette déplace le joystick en diagonale, de sorte que l'axe X ou Y fonctionne pour la palette.
  • Bouton de palette droit uniquement: les palettes s'affichent sous la forme d'une souris absolue à deux boutons. Vous pouvez maintenant l'utiliser de la même manière qu'un Etch-a-Sketch avec un programme de dessin.

Étape 7: Pong

Pong
Pong
Pong
Pong

Pong était le grand jeu de pagaie original. Je recommande la version originale, car les clones n'incluent souvent pas toutes les belles fonctionnalités subtiles, comme les changements de vitesse avec des coups répétés, l'angle change en fonction de la partie de la raquette qui frappe la balle, ou la position subtile mais pas facilement prévisible du service après un raté. Pour une analyse minutieuse de l'original, voir ici.

L'une des meilleures façons de jouer à Pong est d'utiliser l'émulateur de niveau circuit DICE si votre ordinateur est suffisamment rapide pour l'utiliser à pleine vitesse. (Mon ordinateur portable Windows l'est, mais le Raspberry PI 3+ est beaucoup trop lent.) Je recommande la version 0.8.

Si vous utilisez le mode Stelladaptor dans les palettes, allez dans Paramètres | Configurez les entrées… dans DICE et choisissez Joystick 1 et Absolute pour Player 1 Paddle, et réglez à la fois Horizontal et Vertical sur Joy 1 X-Axis. Faites ensuite la même chose pour Player 2 Paddle, sauf avec l'axe Y.

Si votre ordinateur est trop lent pour DICE, j'ai créé une version Python3+pygame dont les timings et les fonctionnalités sont censés être très proches du Pong original (je remercie le Dr Hugo Holden de l'aide à cet égard).

Conseillé: