Table des matières:

Console de jeu maison - "NinTIMdo RP": 7 étapes (avec photos)
Console de jeu maison - "NinTIMdo RP": 7 étapes (avec photos)

Vidéo: Console de jeu maison - "NinTIMdo RP": 7 étapes (avec photos)

Vidéo: Console de jeu maison -
Vidéo: Mon SteamDeck à un problème... 2024, Novembre
Anonim
Image
Image
Console de jeu maison
Console de jeu maison

Lien vers une page Web avec des explications plus détaillées, une liste de pièces et des fichiers

timlindquist.me

Ce projet consistait à créer un système de jeu portable qui pourrait également servir d'ordinateur portable. L'objectif était de créer une console à la fois fonctionnelle et esthétique.

Liste des pièces:

docs.google.com/spreadsheets/d/1Ay6-aW4nAt…

Étape 1: Imprimer le boîtier

Imprimer le cas
Imprimer le cas
Imprimer le cas
Imprimer le cas

Pour imprimer l'appareil, téléchargez mes fichiers de modèle 3D et envoyez-les à votre imprimante 3D. L'imprimante que j'ai utilisée était une Prusa i3 Mk2 avec un filament en plastique noir. La qualité d'impression s'est avérée être la meilleure dans un réglage de résolution moyenne. Assurez-vous d'ajouter du matériau structurel sous l'appareil (les poignées auront l'air médiocres sans cela). Les pièces du dos ont été imprimées avec le dos au ras du plateau. Les pièces avant ont été imprimées avec la face avant au ras du plateau. Si je devais imprimer un autre boîtier, je voudrais utiliser une nouvelle couleur telle que le violet atomique pour montrer les éléments internes. Si vous êtes comme moi et que vous avez un lit d'impression de 8 pouces avec lequel travailler, vous devrez imprimer la version en 4 pièces qui sera assemblé après impression. Cependant, si votre lit est assez grand pour être fait en une seule pièce, imprimez les plaques avant et arrière en une seule unité et évitez la douleur de les assembler.

Fichiers modèles:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Étape 2: Assemblage du boîtier

Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier
Assemblage du boîtier

Pour assembler, joignez d'abord les pièces avant droite et gauche en insérant une cheville métallique dans les trous d'alignement. Ensuite, placez de la super colle sur les joints et fixez la moitié ensemble. Répétez le processus pour les nantis en bas à droite et à gauche. Après cela, vous devriez vous retrouver avec une moitié avant et arrière assemblée. Il est maintenant temps de fixer les 5 entretoises métalliques pour fusionner les plaques avant et arrière. La façon la plus simple de le faire est d'abord d'obtenir les entretoises à la bonne longueur. 13 mm de profondeur à l'arrière 5 mm de profondeur à l'avant. Faites donc les entretoises de 18 mm ou légèrement moins. Je l'ai fait en plaçant une entretoise plus longue dans un étau et en utilisant une meuleuse pour réduire la taille. Assurez-vous de ne meuler que d'un côté car vous aurez besoin des fils de l'autre. Une fois que vous avez obtenu la bonne longueur, collez tout le broyeur sur les côtés sur la face avant en utilisant de la colle de gorille ordinaire et laissez-le sécher. Assurez-vous qu'ils sont tous debout pendant ce processus. Une fois sèche, grattez l'excellente colle qui a gonflé pour que les faces puissent être affleurantes une fois assemblées. Maintenant, voyez si vous pouvez insérer la plaque arrière sur les entretoises pour la joindre à l'avant. Vissez ensemble à travers la plaque arrière pour fixer. Collez l'écran en alignant le cadre avec le tube duel Gorilla Epoxy. J'en ai mis trop quand j'ai fait ça et ça a débordé sur l'écran. Heureusement que ça déteint ! Serrez et laissez sécher pendant un moment, puis tapissez le dos avec de la colle Gorilla ordinaire.

**Remarque: essayez de ne pas mettre de colle CA fine (super colle) à l'extérieur car elle "brûlera" le PLA et tachera une couleur blanche.

Étape 3: Circuits

Circuits
Circuits
Circuits
Circuits
Circuits
Circuits

Circuit des boutons:

La capture de toutes les pressions sur les boutons se fait à l'aide d'un Teensy ++ 2.0. Les broches numériques du microcontrôleur sont utilisées pour tous les boutons-poussoirs binaires. Les broches analogiques sont utilisées pour les boutons qui ont plusieurs états tels que les joysticks. Pour câbler les broches numériques, câblez simplement la broche numérique au commutateur, ayez l'autre extrémité du commutateur câblée à la terre. Lorsque le bouton est enfoncé, il tire la broche haute tension vers le bas pour que le contrôleur le détecte. Vous n'avez pas à vous soucier des résistances car elles sont incluses sur la carte Teensy. Pour câbler les broches analogiques, vous devrez polariser votre appareil analogique avec une tension haute et basse et lire un niveau de tension compris dans cette plage sur la broche analogique. Pour les joysticks il y a 3 entrées pour chaque axe. Fournissez un 5V à l'une des broches, GND à une autre et la ligne de lecture de tension à la dernière. Assurez-vous de le brancher correctement ou cela ne fonctionnera pas (utilisez un multimètre pour voir si la tension de sortie change sur la bonne broche.) Essentiellement, le joystick est une résistance variable qui fonctionne comme un diviseur de tension. La tension de sortie sur la broche de lecture variera entre 0 et 5V en fonction de la position des manettes. (Habituellement, la polarisation 5V et GND sont sur les broches d'entrée externes du joystick et celle du milieu sera votre broche de lecture de tension variable. Si 5V et GND sont différents des miens, vos commandes seront inversées, cela peut être corrigé dans le logiciel ou le recâblage).

Circuit d'alimentation:

La batterie Anker à trois cellules alimente l'ensemble de l'appareil. Pour allumer/éteindre l'appareil, la sortie du régulateur de batterie est câblée à un interrupteur puis à Raspberry Pi. Étant donné que l'appareil peut consommer jusqu'à 2 A, un simple interrupteur à bascule de 250 mA ne peut pas gérer les besoins en courant. Au lieu de cela, vous pouvez utiliser le commutateur pour contrôler la tension de grille sur un transistor PMOS afin de servir de commutateur. Reliez le 5V de la batterie à la source d'un transistor PMOS et à l'interrupteur. L'autre extrémité du commutateur est câblée à la grille du transistor PMOS et à une résistance de 10K connectée à GND (lorsque le commutateur est ouvert pour empêcher la grille de flotter, il le relie à GND via la résistance). Le drain est câblé à l'entrée 5V du Raspberry Pi avec la terre. Pour charger la batterie, connectez simplement la carte de dérivation micro USB femelle aux broches de charge appropriées (étend l'entrée au boîtier). J'ai caché cet interrupteur dans la prise d'air à l'arrière de l'appareil. À l'origine, je prévoyais plutôt que le bouton de la batterie allume et éteigne l'appareil en le maintenant enfoncé pendant une certaine durée. Malheureusement, je n'ai plus de place et j'ai dû procéder à la mise en œuvre simple. Cette conception alternative est illustrée dans le schéma ci-dessous.

Circuits audio:

Pour l'audio, je voulais que le son soit naturellement lu par les haut-parleurs (s'il n'est pas coupé) et redirigé vers les écouteurs s'ils sont branchés. Heureusement, de nombreuses prises casque femelles 3,5 mm sont mécaniquement capables de le faire. Lorsqu'une fiche mâle est insérée, les fils des haut-parleurs se plient et créent un circuit ouvert, empêchant ainsi le signal d'atteindre les haut-parleurs. Étant donné que les haut-parleurs ont une charge plus importante, le signal audio doit être amplifié pour pouvoir l'entendre. Cela se fait à l'aide d'un amplificateur stéréo de classe D que j'ai trouvé sur adafruit. Il suffit de polariser l'amplificateur avec 5V et GND. Nous n'avons pas d'entrées audio différentielles, donc câblez les haut-parleurs gauche et droit aux bornes positives et reliez les bornes négatives à GND. Le gain est ajusté à l'aide du cavalier. J'ai réglé le gain au maximum et je modifie l'amplitude des signaux audio de sortie via un logiciel pour régler le volume. Pour couper le son de l'appareil, j'ai un transistor NMOS contrôlant la polarisation 5V. Cette grille de transistors NMOS est contrôlée par le Teensy. Un problème que j'ai est qu'un bruit à haute fréquence constant est présent dans les haut-parleurs externes. Je vais analyser cela sur un oscilloscope, cela peut provenir de la polarisation 5V en raison d'une commutation du régulateur au niveau de la batterie ou les lignes peuvent capter des RF quelque part. Assurez-vous également de tordre les lignes droite et gauche pour minimiser les interférences électromagnétiques (EMI).

Étape 4: Circuits périphériques

Circuits périphériques
Circuits périphériques
Circuits périphériques
Circuits périphériques

Ce circuit comprend les supports USB et l'indicateur LED. Commandez le PCB dans mon lien et coupez-le en deux le long de la ligne pointillée à l'aide d'une scie à ruban. Côté USB, soudez tous les deux ports USB femelles sur la carte. Côté LED, soudez les 5 LED et les 5 résistances en série. 5V, GND, D+, D-peuvent être étendus en utilisant des fils des USB dessoudés du Raspberry PI au PCB. Le PCB LED peut être placé de manière à ce que la lumière brille à travers les trous sur le dessus du boîtier. Câblez 5 sorties PWM du Teensy aux LED avec GND. En faisant varier le cycle de service, vous pouvez modifier la luminosité des LED.

Acheter PCB:

Étape 5: Programmation

La programmation
La programmation
La programmation
La programmation
La programmation
La programmation

Ados:

Si vous l'avez câblé exactement de la même manière que moi, vous pouvez simplement utiliser le code que j'ai fourni sur Github. Cependant, je vous recommande de l'écrire vous-même, car vous comprendrez mieux le système et pourrez facilement le manipuler et le personnaliser à votre guise. La programmation est très simple, il s'agit vraiment d'écrire un tas d'instructions if pour vérifier si vos boutons ont été enfoncés. Un jeu d'instructions utile de PJRC. Vous pouvez utiliser l'IDE Arduino pour écrire votre code ainsi que pour le télécharger sur Teensy.

CODE:

github.com/timlindquist/Nintimdo-RP

Boutons numériques: cet exemple me montre en train de vérifier si la broche numérique 20 a été enfoncée, puis de sortir la commande de joystick série correcte. Vous pouvez choisir n'importe quel 1 à 32 pour le bouton puisque Retropie effectue de toute façon une configuration de mappage de contrôleur au début. Joystick.button (boutons: 1-32, enfoncé = 1 relâché = 0)

Boutons analogiques:

Dans l'exemple, le joystick droit vertical est câblé à la broche analogique 41. La fonction analogRead(pin) reçoit un niveau de tension compris entre 0 et 5V et renvoie une valeur de 0 à 1023. Une position centrale idéale correspondrait à 2,5V ou 512, Cependant, ce n'était pas le cas pour mon stick analogique, donc un ajustement a dû être fait. Cela a été fait grâce à un remappage illustré ci-dessous. Après cela, je devais vérifier si les limites n'étaient pas dépassées 0 à 1023. Enfin, la commande de joystick analogique a été envoyée en série pour être le bouton analogique Z à l'aide de Joystick. Z (valeur 0 à 1023).

Étape 6: Station d'accueil en option

Station d'accueil en option
Station d'accueil en option
Station d'accueil en option
Station d'accueil en option
Station d'accueil en option
Station d'accueil en option

Quai:

Cette construction ne serait pas complète sans une station d'accueil pour le chargement et une connexion TV facile, j'en ai donc conçu une dans les images ci-dessous. Les modèles 3D sont disponibles avec les autres dans mon package Github.

Des modèles:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Étape 7: Résultats

Résultats
Résultats
Résultats
Résultats
Résultats
Résultats
Résultats
Résultats

Avec le recul, j'aurais aimé utiliser le port de sortie HDMI avec un PCB au lieu d'un support mural femelle pré-acheté. Cela aurait économisé beaucoup de place en réalité j'ai dû rentrer le câble en spirale pour éviter de le couper et de ressouder les 19 fils. Je suis déchiré à l'idée d'utiliser une batterie plus petite car la hauteur de la cellule était mon facteur limitant dans l'épaisseur de l'ensemble de l'appareil. Cependant, réduire cela aurait un impact négatif sur la durée de vie de ma batterie.

Au total, cela m'a coûté environ 350 $ à faire. Cela n'inclut pas le raspberry pi que j'ai cassé en essayant de réduire la taille… Toujours heureux de l'avoir essayé. C'était un projet d'été amusant pour voir si je pouvais le rendre aussi compact que possible tout en intégrant de nombreuses fonctionnalités intéressantes à l'intérieur.

Conseillé: