Connecter manette xbox filaire a carte arduino uno R3

Bonjour,
Dans le cadre d'un projet, je souhaite connecter une manette xbox filaire à ma carte arduino uno. J'ai une carte Arduino Uno R3 et une manette Xbox360, je souhaite faire une disposition qui est la suivante :

  • L'alimentation se fait par réseau, avec un barrel plug 12v que je branche donc dans le port noir de ma carte arduino
  • La manette et branché grace à un Adaptateur connecteur USB 2.0 Femelle vers USB B mâle.

Mon professeur m'a dit que c'était possible de faire cette disposition la mais, avec un code que j'ai trouvé sur internet, ca ne fonctionne pas. La manette ne s'allume pas.

Est ce que la disposition de mon matériel est bonne ? Si oui auriez vous un code d'exemple pour que je puisse tester car j'en ai pas trouvé d'autre et je suis très débutant en codage.

Bien à vous.

Bonjour @broonss , pourriez-vous mettre le code, svp :slight_smile:

Oui bien sur,
il s'agit d'un code pour controler un moteur pas a pas .

#include <XboxController.h>
#include <Stepper.h>

// Configuration des broches du moteur
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

// Configuration de la manette Xbox
XboxController xbox;

void setup() {
  // Configuration de la vitesse du moteur
  myStepper.setSpeed(10);

  // Configuration de la manette Xbox
  xbox.begin();
  xbox.setLedOn(1);
}

void loop() {
  // Lecture des entrées de la manette Xbox
  xbox.read();

  // Déplacer le moteur dans la direction du joystick gauche
  int joystickX = xbox.getAnalogHat(LeftHatX);
  if (joystickX < 100) {
    myStepper.step(stepsPerRevolution);
  } else if (joystickX > 150) {
    myStepper.step(-stepsPerRevolution);
  }
}

Je ne suis pas un expert en terme de manette de jeux, mais en cherchant sur le net, on voit que les joysticks sont similaires en tous points a ceux ci : https://fr.aliexpress.com/item/1005003495565987.html.
Pourrais-tu mettre le lien de ton adaptateur 12 V, et celui de ton chargeur USB. Sinon, je dirai que ta disposition est bonne :+1:
Pandaroux007 :fox_face:

P.S : je ne suis pas un expert là dessus, donc je ne suis pas sur de t'être d'un grande aide... :confused:

Sur internet, les tutos abondent pour contrôler un moteur pas a pas avec un joystick, mais je ne voie pas ce qui peux poser problème a par le matériel ( sur l'alimentation ), mais pour le code je me demande si cette vidéo ne t'expliquera pas mieux, car sur ce point je ne peux pas donner mon avis : Comment contrôler des moteurs pas à pas facilement !!! - YouTube

Bonjour broonss

C'est quoi comme adapteur, as-tu un lien ou une photo?
Quel modèle d'Arduino?

Cordialement
jpbbricole

Salut, @jpbbricole

Bonjour pandaroux007

Et, surtout, c'est dans le titre :woozy_face:, je ne devais pas être bien réveillé :wink:

Cordialement
jpbbricole

Mais non...
Je vous remercie d'être intervenue, car je ne voie vraiment pas ce qui peu ne pas fonctionner dans ce montage, a par le matériel.

Édit : @broonss pourriez vous poster les liens des adaptateurs et de votre carte Uno ?

Cordialement,
Pandaroux007 :fox_face:

Lien adaptateur : https://www.amazon.fr/dp/B00XBTWFXW?psc=1&ref=ppx_yo2ov_dt_b_product_details

Lien carte arduino : https://www.amazon.fr/Arduino-A000066-Mémoire-flash-32/dp/B008GRTSV6/ref=sr_1_5?keywords=arduino+uno+r3&qid=1679246214&sr=8-5

Pour la prise j'ai pas de lien car je l'avais déja.

Tout le matériel fonctionne, le seul qui peut potentiellement ne pas fonctionner c'est l'adaptateur je vais essayer d'en tester un autre

Tout le matériel fonctionne car lorsque je test un code qui fait simlement tourner le moteur sans commande, ca fonctionne.
Donc il n'y a que l'adaptateur que je ne peux pas être sur à 100% qu'il fonctionne

@broonss pourriez vous mettre le schéma de câblage du moteur sur l'Arduino et de l'Arduino avec la Xbox. Votre moteur est il un 28BYJ-48 (si oui, avec ou sans UNL2003, avec ou sans la librairie Stepper.h ? ).

Bonsoir broonss

Ca ne peut pas fonctionner avec un simple adapteur USB.
Cherches Arduino Xbox360 pour voir comment faire.

Cordialement
jpbbricole

Ca ne peut pas fonctionner avec un simple adapteur USB.

Pourquoi ? :thinking:
Sur quel lien doit-on cliquer ?

Bonsoir pandaroux007

Pour brancher directement, il faut un shield USB host
Il n'est que voir tout les "bricolages" pour voir que ce n'est pas si simple.

Cordialement
jpbbricole

Je ne comprend pas, c'est pour la carte arduino ? :woozy_face: :thinking:

Une carte Arduino n'a pas de puce qui permet d'être le maître de la connections USB.
De plus les puces permettent de base que de faire du CDC, soit de gérer des profiles port série

Je ne sais pas le profile utilisé par une manette XBox, mais normalement c'est celui qui gère les joystick, je suppose

Bonjour
Engénéral les réalisations associant une carte Arduino basique et un périphérique USB nécessite l'ajour de la fonctionnalité Hôte USB

le circuit intégré MAX3421E apporte cela avec la librairie adaptée
Il est présent sur divers Shields HOST ou modules , accompagne d'une bibliothèque comportant le profils USB qui va bien pour le périphérique ciblé.

Bonsoir pandaroux007

Oui, connecter un câble USB directement sur son connecteur USB, ne peut fonctionner avec un Uno, il faudrait, au minimum un Leonardo ou un Micro.
Si c'était si facile il n'y aurait pas tout ces "bricolages" avec tout ces fils extraits du boitier.

Cordialement
jpbbricole

Bonsoir @jpbbricole

Je doute que cela suffise
Les cartes Leonardo , Micro avec leur USB natif offrent la possibilité de quelques profils pour jouer un rôle de pérphérique USB HID souris, joystick...
pas la possibilité de jouer un rôle d'Hôte USB

le MAX3421E en shield , module... (+ bibliothèque appropriée) est,(à ma connaissance) nécessaire à ces 2 cartes , comme toute autre carte Arduino' basique pour devenir 'Hôte USB'...

Existe-t-il une bidoulle sans circuit intégré spécialisé 'Hôte USB' ? une bidouille évitant l'USB et enexploitant directement certains composants de la manette ?

@al1fch Je pense aussi, qu'il faut une carte Shield dédié et un code capable de l'exploiter