IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Arduino micro - contrôleur de jeu USB


Sujet :

Arduino

  1. #1
    Membre du Club
    Homme Profil pro
    pompier
    Inscrit en
    Janvier 2020
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : pompier

    Informations forums :
    Inscription : Janvier 2020
    Messages : 84
    Points : 41
    Points
    41
    Par défaut Arduino micro - contrôleur de jeu USB
    Bonjour à tous,

    je vol sur simulateur et j'ai très envi de programmer un "collectif" pour hélicoptère. C'est l'équivalent de la manette des gaz pour un avion.

    Je trouve un peu partout sur le Web, la bibliothèque "Joystick" mais je n'arrive pas à faire reconnaitre mon arduino micro comme contrôleur de jeu.
    Quelqu'un aurait-il une idée.

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 787
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 787
    Points : 5 598
    Points
    5 598
    Par défaut
    Citation Envoyé par hugobeauce Voir le message
    mais je n'arrive pas à faire reconnaitre mon arduino micro comme contrôleur de jeu.
    Quelqu'un aurait-il une idée.
    il faudrait savoir quel logiciel vous utilisez et qu'est-ce qu'il attend comme périphérique d'entrée.


    je suppose que vous parlez de cette bibliothèque, avez vous essayé les exemples ?

  3. #3
    Membre du Club
    Homme Profil pro
    pompier
    Inscrit en
    Janvier 2020
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : pompier

    Informations forums :
    Inscription : Janvier 2020
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    Je viens de voir que ma carte est une nano et non une micro.
    Je sais qu'il y a une application que permet de flasher le processeur, pour convertir la carte en HID

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 787
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 787
    Points : 5 598
    Points
    5 598
    Par défaut
    Citation Envoyé par hugobeauce Voir le message
    Je sais qu'il y a une application que permet de flasher le processeur, pour convertir la carte en HID
    regardez du côté de https://github.com/NicoHood/HoodLoader2 si c'est une "vrai" arduino et pas un clone à base de CH340...

  5. #5
    Membre du Club
    Homme Profil pro
    pompier
    Inscrit en
    Janvier 2020
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : pompier

    Informations forums :
    Inscription : Janvier 2020
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    merci pour votre retour.

    Quand je regarde sur internet, la nano a un ATmega328 mais dans Flip, il il a uniquement ATmega32U... et si je selectionne, et lance le reste, tout reste grisé et je ne peux pas faire la suite du process.

    Du coup, j'ai une arduino Mega et j'arrive à la flasher avec UnoJoy, mais je n'ai que 14 boutons alors que j'ai beaucoup plus de pin.

    j'utilise le gitHub/UnoJoy

    j'ai mis le code "UnoJoyArduinoSample" - j'ai lancé "UnoJoyDriverInstaller" - puis "turnIntoJoystick"
    Quand je reconnect l'arduino, il apparait en USB controleur de jeu

    Pour le moment, j'ai mis le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    #include "UnoJoy.h"
     
    void setup(){
      setupPins();
      setupUnoJoy();
    }
     
    void loop(){
      // Always be getting fresh data
      dataForController_t controllerData = getControllerData();
      setControllerData(controllerData);
    }
     
    void setupPins(void){
      // Set all the digital pins as inputs
      // with the pull-up enabled, except for the 
      // two serial line pins
      for (int i = 2; i <= 12; i++){
        pinMode(i, INPUT);
        digitalWrite(i, HIGH);
      }
      pinMode(A4, INPUT);
      digitalWrite(A4, HIGH);
      pinMode(A5, INPUT);
      digitalWrite(A5, HIGH);
    }
     
    dataForController_t getControllerData(void){
     
      // Set up a place for our controller data
      //  Use the getBlankDataForController() function, since
      //  just declaring a fresh dataForController_t tends
      //  to get you one filled with junk from other, random
      //  values that were in those memory locations before
      dataForController_t controllerData = getBlankDataForController();
      // Since our buttons are all held high and
      //  pulled low when pressed, we use the "!"
      //  operator to invert the readings from the pins
      controllerData.triangleOn = !digitalRead(2);
      controllerData.circleOn = !digitalRead(3);
      controllerData.squareOn = !digitalRead(4);
      controllerData.crossOn = !digitalRead(5);
      controllerData.dpadUpOn = !digitalRead(6);
      controllerData.dpadDownOn = !digitalRead(7);
      controllerData.dpadLeftOn = !digitalRead(8);
      controllerData.dpadRightOn = !digitalRead(9);
      controllerData.l1On = !digitalRead(10);
      controllerData.r1On = !digitalRead(11);
      controllerData.selectOn = !digitalRead(12);
      controllerData.startOn = !digitalRead(A4);
      controllerData.homeOn = !digitalRead(A5);
     
      // Set the analog sticks
      //  Since analogRead(pin) returns a 10 bit value,
      //  we need to perform a bit shift operation to
      //  lose the 2 least significant bits and get an
      //  8 bit number that we can use  
      controllerData.leftStickX = analogRead(A0) >> 2;
     
     
      // And return the data!
      return controllerData;
    }
    J'ai mis un potentiomètre classique sur le pin A0 et la variation est très propre.
    L'amplitude totale, s'effectue sur un tour complet du bouton.
    Pour des raisons techniques, j'aurai besoin que l'amplitude totale corresponde à 1/4 de tour.

    Il y a-t-il un moyen de programmer ?

    J'ai également des encodeurs rotatifs, du coup serait ce possible d'avoir le même effet?
    avec quel code et comment connecter les pin?

  6. #6
    Membre du Club
    Homme Profil pro
    pompier
    Inscrit en
    Janvier 2020
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : pompier

    Informations forums :
    Inscription : Janvier 2020
    Messages : 84
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    et bien ça y est enfin... avec un peu de persévérance j'y suis arrivé.

    J'ai enregistré le fichier https://github.com/AlanChatham/UnoJoy/tree/master

    puis j'ai téléversé "MegaJoyArduinoSample.ino"

    ensuite j'ai flashé ma carte en lançant "MegaJoy - Attack !"

    Et puis tadaaaaaaa. Au niveau du contrôleur de jeu, on visualise 2 cartes Arduino car il y a plus de bouton que ce que l'affichage n'accepte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arduino Micro allumer LED
    Par dr0fitch dans le forum Arduino
    Réponses: 2
    Dernier message: 21/01/2021, 17h33
  2. Programmer un jeu (space invader) avec Java Micro Edition
    Par Alain Defrance dans le forum Java ME
    Réponses: 5
    Dernier message: 16/06/2009, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo