Besoin d'ade pour un projet de retrogamepad avec joystick analogique
-
Bonjour,
J'ai pour projet que faire une sorte de gamepad (donc une console portable avec les touches de chaque coter de l'écran)
Étant néophyte dans cet univers j'ai donc commencé à faire des recherches et je me suis rendu compte qu'il fallait aduino UNO R3 :https://www.amazon.fr/dp/B01N91PVIS/ref=as_li_ss_tl?ie=UTF8&qid=1495023587&sr=8-4&keywords=Arduino&linkCode=sl1&tag=leotechmaker-21&linkId=4e73ea193a8b45fe78ca67ee63700a6e
mais je ne sais pas quels sont les branchements ni comment faire avec les boutons classiques si quelqu'un pourrait m'éclairer sur ses sujet je le remercie grandement. -
Je sais pas ce que c'est que ce machin ni comment tu es arrivé à la conclusion qu'il te fallait ça mais a priori tu n'en as pas besoin non.
-
@voljega Bah enfaite c'est quelqu'un sur youtube qui ma inspirait ce projet (https://youtu.be/3GpDoO6CdeE?t=7m47s) je veut pas faire totalement comme lui mais pour les joysticks il dit qu'il y a besoin de ça je cite
"Un raspberry ne peut pas gérer les joysticks. Il va les gérer avec des valeurs numérique. C'est a dire que soit il sera a 0 soit il sera a 1 du coup il n'y aura pas moyen de faire des variations."
Donc je suppose qu'il a raison.je ne peut pas faire le test moi même car j'attend de faire ma liste precise de ce que j'ai besoin avant d'acheter.
-
@valentin-le-palud c'est vraiment du grand n'importe quoi seule la politesse m'empêche de dire qu'il raconte vraiment de la merde
-
@voljega a bon donc je pourrait brancher mes joysticks directement au GPIO alors ?
-
@valentin-le-palud oui sans souci d'ailleurs ton gars est tellement à l'ouest que des joysticks au sens arcade c'est numérique (1 ou 0) pas analogique du tout
-
@voljega said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
@valentin-le-palud c'est vraiment du grand n'importe quoi seule la politesse m'empêche de dire qu'il raconte vraiment de la merde
Tu fais bien de rester poli (ou plutôt tu ferais mieux) car non il ne raconte pas "vraiment de la merde".
Tu me préviendras le jour où tu trouveras comment on se sert du convertisseur analogique - numérique relié aux GPIOs du raspberry.
Un indice : i'en a pas@voljega said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
@valentin-le-palud oui sans souci d'ailleurs ton gars est tellement à l'ouest que des joysticks au sens arcade c'est numérique (1 ou 0) pas analogique du tout
D'ailleurs le gars est tellement à l'ouest qu'il n'a pas fait exprès de montrer des images d'un jeu qui tire parti des joysticks analogiques durant son explication de pourquoi un Arduino est utilisé pour gérer des valeurs analogiques.
Avant de critiquer tu te renseigneras un peu et tu verras que Recalbox ne met pas à disposition que des émulateurs d'arcade, donc avoir des joysticks analogiques est tout à fait censé, c'est même bien pratique en fait.
Avant de devenir désagréable tu devrais t'assurer d'avoir raison
.
Si non pour répondre à la vraie question de ce sujet, l'Arduino sert d'interface aux boutons et aux joysticks.
Pour ça, on utilise UnoJoy, un programme qui transforme l'Arduino en contrôleur de manette générique.
https://github.com/AlanChatham/UnoJoy
Les informations pour l'installation sont sur le GitHub.En gros l'Arduino dispose de 2 microcontrôleurs :
- Le principal, sur lequel on met notre programme en général
- Un contrôleur annexe qui gère l'interface USB
C'est ce contrôleur annexe qui nous intéresse ici. Il est de base programmé pour être une interface de communication série, par laquelle se fait l'envoi des programmes au bootloader du contrôleur principal ainsi que la communication série classique.
Avec UnoJoy, on reprogramme ce contrôleur annexe pour être agir comme un contrôleur de manette et plus comme une interface série. Le programme du contrôleur principal lui met alors à disposition les valeurs des différents inputs.Encore une fois, tout est expliqué sur le GitHub. Mais si tu ne comprends pas comment ça fonctionne, c'est pas grave, l'installation et la mise en place ne sont pas très compliquées.
Bonne soirée
-
@fardenco Merci pour ta réponse. Je me disait bien que vous aviez pas fait tous cela pour rien.
J'ai lu ce que t'as écrit et j'ai assez bien compris, et donc dans le lien GitHub j'ai survoler et je pense avoir compris mais pour les branchements c'est aussi indiquer ou pas ? et au niveau des boutons quels sont les bon: ce pour arcade avec 2 broches (dans ce style https://www.amazon.fr/Bouton-Poussoir-Commutateur-Arcade-Multicade/dp/B01LX1KN7P/ref=sr_1_15?s=computers&ie=UTF8&qid=1502233066&sr=1-15&keywords=bouton+arcade)
ou des bouton arduino (https://www.amazon.fr/Contrôle-lalimentation-électrique-commutateurs-poussoir/dp/B073ZJSJ4Z/ref=sr_1_9?ie=UTF8&qid=1502232949&sr=8-9&keywords=bouton+arduino)
et quel fil utiliser pour les relier ?
(désolé mais niveau arduino je ne mis connais vraiment pas ^^ ) -
D'ailleurs le gars est tellement à l'ouest qu'il n'a pas fait exprès de montrer des images d'un jeu qui tire parti des joysticks analogiques durant son explication de pourquoi un Arduino est utilisé pour gérer des valeurs analogiques.
Avant de critiquer tu te renseigneras un peu et tu verras que Recalbox ne met pas à disposition que des émulateurs d'arcade, donc avoir des joysticks analogiques est tout à fait censé, c'est même bien pratique en fait.
Pas vu le jeu en question (je ne vois que Mario64 dans la vidéo) mais les jeux arcade utilisant des contrôles analogiques y'en a pas énormément, et ils sont tous plutôt datés. Ils ont souvent des versions consoles qui marcheront tout aussi bien ou tout simplement les roms de ces jeux disposent de clones hackées pour fonctionner avec un joystick numérique
De même pour les consoles avant la Ps1 et la N64 les contrôles ne sont pas analogiques mais numériques que je sache et même sur la PS1 beaucoup de jeux n'utilisent pas de contrôles analogiques (qui ne sont d'ailleurs pas activés par défaut dans la PS1 pour Recalbox)
D'ailleurs les GPIO ne permettent pas de gérer L2 et R2 pour la PS1 donc je ne passerais clairement pas pas par là.
Bref pour un débutant comme semble l'être Valentin ça rajoute une couche de complexité totalement inutile, et je persiste à dire que passer par un contrôleur USB ou découper un pcb de manette sera bien plus simple et accessible.
Bref pour moi l'affirmation "Avec un Raspberry Pi ce serait pas possible de faire ça" (avoir des contrôles analogiques) est fausse et seulement vraie si tu utilises les GPIO, GPIO qui ne permettront pas d'avoir tous les contrôles pour la PS1
C'est quand même pas un mystère que 99% des projets de console portable qu'on voit ici ou ailleurs utilisant Recalbox ou une autre distrib numérique n'utilisent pas d'arduino, c'est carrément pas indispensable et le gain est très minime
Ceci dit sorry pour le "à l'ouest" qui était de trop.
et finalement c'est vrai que Valentin mentionne le contrôle analogique dès le titre, donc ça le regarde si il préfère faire ça.
-
La vraie question est : faut-il un stick analogique ou pas ? Le Pi n'a pas de convertisseurs analogique -> numérique, ce qui veut dire qu'il faut passer par un PCB externe pour réaliser ca.
-
@substring said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
La vraie question est : faut-il un stick analogique ou pas ? Le Pi n'a pas de convertisseurs analogique -> numérique, ce qui veut dire qu'il faut passer par un PCB externe pour réaliser ca
hummm avis perso, si l'on souhaite faire une console à base de rpi0, clairement non.
cette board n'est pas assez puissante pour émuler proprement la ps1/n64.
si par contre l'on souhaite intégrer un rpi3 pourquoi pas. -
@rockaddicted En voilà une réponse censée qui fait autorité
-
Merci à tous pour vos réponses !
@Substring j'ai donc bien besoin d'utiliser cet arduino où connaissez vous un moyen plus simple ?
@rockaddicted je confirme que j'utilise bien un raspberry pi 3 .
.
Edit : j'ai trouvé un projet similaire au mien (https://www.thingiverse.com/thing:1792253) Il dit qu'il utilise un carte Carte Teensy 3.2 pour pouvoir utiliser les 2 joysticks + 12 boutons, mais il dit qu'il a lui même fait le programme pour l'utiliser, quelqu'un n'aurait pas une piste pour trouver un programme similaire ?
Donc en soit utiliser l'aduino (dont j'ai accès au code) ou la carte teensy ça revient à la même chose. Le plus gros problème est surtout au niveau des branchement des joysticks et des boutons à la carte -
@valentin-le-palud tu n'as pas répondu à me première intervention
@substring said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
La vraie question est : faut-il un stick analogique ou pas ? Le Pi n'a pas de convertisseurs analogique -> numérique, ce qui veut dire qu'il faut passer par un PCB externe pour réaliser ca.
-
@substring La réponse et oui j'ai besoin de mettre deux stick analogique
-
@valentin-le-palud ben je m'emmerderais bcp moins que toi et je prendrais un pad USB que je démonterais ...
-
@substring a carrément ça fonctionnerait ? Donc je deverais acheter une manette de ps3 et je pourrais la demonter et placer les boutons de chaque coter de l'écran ?
-
@valentin-le-palud Et donc découper le PCB ? non ca ne va pas être drôle du tout là. En gros tu veux faire un gamepad WiiU avec un pi dedans ?
-
@substring Oui en gros ça ressemblerait a un gamepad WiiU. Donc enfaite problème c'est que les boutons et les joysticks sont collé au PCB
-
@valentin-le-palud said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
@fardenco Merci pour ta réponse. Je me disait bien que vous aviez pas fait tous cela pour rien.
J'ai lu ce que t'as écrit et j'ai assez bien compris, et donc dans le lien GitHub j'ai survoler et je pense avoir compris mais pour les branchements c'est aussi indiquer ou pas ? et au niveau des boutons quels sont les bon: ce pour arcade avec 2 broches (dans ce style https://www.amazon.fr/Bouton-Poussoir-Commutateur-Arcade-Multicade/dp/B01LX1KN7P/ref=sr_1_15?s=computers&ie=UTF8&qid=1502233066&sr=1-15&keywords=bouton+arcade)
ou des bouton arduino (https://www.amazon.fr/Contrôle-lalimentation-électrique-commutateurs-poussoir/dp/B073ZJSJ4Z/ref=sr_1_9?ie=UTF8&qid=1502232949&sr=8-9&keywords=bouton+arduino)
et quel fil utiliser pour les relier ?
(désolé mais niveau arduino je ne mis connais vraiment pas ^^ )Pour les boutons n'importe lequel fera l'affaire, nous on veut simplement des contacts donc tu n'as que 2 broches à connecter.
Une à la masse et l'autre à l'entrée du contrôleur (que ça soit un rasp directement ou bien l'Arduino si tu veux bel et bien des sticks analogiques)
Pour ce qui est de savoir sur quelle broche de l'arduino le relier, c'est un peu toi qui choisis en fait, car après dans le programme UnoJoy tu associes un numéro de broche à un bouton@voljega said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
D'ailleurs le gars est tellement à l'ouest qu'il n'a pas fait exprès de montrer des images d'un jeu qui tire parti des joysticks analogiques durant son explication de pourquoi un Arduino est utilisé pour gérer des valeurs analogiques.
Avant de critiquer tu te renseigneras un peu et tu verras que Recalbox ne met pas à disposition que des émulateurs d'arcade, donc avoir des joysticks analogiques est tout à fait censé, c'est même bien pratique en fait.
Pas vu le jeu en question (je ne vois que Mario64 dans la vidéo) mais les jeux arcade utilisant des contrôles analogiques y'en a pas énormément, et ils sont tous plutôt datés. Ils ont souvent des versions consoles qui marcheront tout aussi bien ou tout simplement les roms de ces jeux disposent de clones hackées pour fonctionner avec un joystick numérique
De même pour les consoles avant la Ps1 et la N64 les contrôles ne sont pas analogiques mais numériques que je sache et même sur la PS1 beaucoup de jeux n'utilisent pas de contrôles analogiques (qui ne sont d'ailleurs pas activés par défaut dans la PS1 pour Recalbox)
D'ailleurs les GPIO ne permettent pas de gérer L2 et R2 pour la PS1 donc je ne passerais clairement pas pas par là.
En effet c'est bien Mario 64, et dans ce jeu l'analogie des sticks permet par exemple de marcher, mais aussi de tourner la caméra lentement, ce qui est plutôt agréable (comme on peut voir dans la vidéo).
C'est vrai qu'il n'y a pas énormément d'émulateurs qui utilisent l'analogique, mais il y en a et on y trouve des jeux très intéressants (dont la PS1 et la N64).Bref pour un débutant comme semble l'être Valentin ça rajoute une couche de complexité totalement inutile, et je persiste à dire que passer par un contrôleur USB ou découper un pcb de manette sera bien plus simple et accessible.
Tu connais peut-être les contrôleurs Xin-Mo ? Là c'est un peu ce qu'on recrée, mais avec le support des sticks analogiques. Le câblage est le même, et la mise en place est plutôt simple et bien documentée.
Je pense que c'est bien plus simple et fiable de faire ça que de découper le pcb d'une manette, après c'est mon avis.Bref pour moi l'affirmation "Avec un Raspberry Pi ce serait pas possible de faire ça" (avoir des contrôles analogiques) est fausse et seulement vraie si tu utilises les GPIO, GPIO qui ne permettront pas d'avoir tous les contrôles pour la PS1
C'est quand même pas un mystère que 99% des projets de console portable qu'on voit ici ou ailleurs utilisant Recalbox ou une autre distrib numérique n'utilisent pas d'arduino, c'est carrément pas indispensable et le gain est très minime
Cette affirmation restera vraie tant que personne n'aura trouvé de moyen de gérer des joysticks analogiques directement depuis le rasp.
Par contre c'est vrai aussi qu'on n'est pas obligé d'utiliser des sticks analogiques, mais ça personne n'a dit le contraire
Très peu utilisent un Arduino car ça n'est utile que si tu fabriques ton contrôleur toi même (console portable ou bartop), car les autres vont simplement connecter une manette toute faire.
Donc déjà là tu enlève une bonne partie des personnes qui utilisent Recalbox, et parmis ceux qui restent, tu ne gardes que ceux qui veulent avoir des sticks analogiques. Donc oui en effet ça fait peu de personnes.Ceci dit sorry pour le "à l'ouest" qui était de trop.
Pas de problème
@rockaddicted said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
@substring said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
La vraie question est : faut-il un stick analogique ou pas ? Le Pi n'a pas de convertisseurs analogique -> numérique, ce qui veut dire qu'il faut passer par un PCB externe pour réaliser ca
hummm avis perso, si l'on souhaite faire une console à base de rpi0, clairement non.
cette board n'est pas assez puissante pour émuler proprement la ps1/n64.
si par contre l'on souhaite intégrer un rpi3 pourquoi pas.C'est clair qu'avec un pi0, c'est une mauvaise idée d'une part comme tu dis à cause des émulateurs qui sont trop lourds, mais aussi car rajouter un Arduino qui fait presque 2 fois la taille du pi0 gâche un peu l'avantage du faible encombrement
@valentin-le-palud said in Besoin d'ade pour un projet de retrogamepad avec joystick analogique:
Merci à tous pour vos réponses !
@Substring j'ai donc bien besoin d'utiliser cet arduino où connaissez vous un moyen plus simple ?
@rockaddicted je confirme que j'utilise bien un raspberry pi 3 .
.
Edit : j'ai trouvé un projet similaire au mien (https://www.thingiverse.com/thing:1792253) Il dit qu'il utilise un carte Carte Teensy 3.2 pour pouvoir utiliser les 2 joysticks + 12 boutons, mais il dit qu'il a lui même fait le programme pour l'utiliser, quelqu'un n'aurait pas une piste pour trouver un programme similaire ?
Donc en soit utiliser l'aduino (dont j'ai accès au code) ou la carte teensy ça revient à la même chose. Le plus gros problème est surtout au niveau des branchement des joysticks et des boutons à la carteEn fait avec la Teensy le principe est à peu près le même, sauf que le microcontrôleur qu'elle utilise gère l'USB directement, contrairement au Uno qui doit passer par un contrôleur annexe comme expliqué plus haut.
Les branchements sont vraiment simples, un côté du bouton va à la masse et l'autre à une des entrées numériques de l'Arduino (entre 2 et 13)
Pour les joysticks, simplement relier le curseur des potentiomètres à une entrée analogique (entre A0 et A5)Il faut vraiment voir l'Arduino ici comme un Xin-Mo qu'on paramètre soi même
Edit : en fouillant un peu, je suis tombé là dessus :
Un Xin-Mo qui dispose d'entrées analogiques, c'est juste ce qu'il faut !
https://paradisearcadeshop.com/xin-mo/2044-xin-mo-analog-controller.html
Un lien en France :
https://www.smallcab.net/encodeur-analogique-joystick-boutons-arcade-joueur-p-278.html
En fouillant tu le trouveras peut-être moins cher ailleursDescription tout en bas de cette page :
http://www.xin-mo.com/single-player-controller.html