shifter + frein a main simultaion voiture pour jeux pc

Bonjour a tous,
bien voila mon soucis je ne connait rien en programmation sur l’Arduino je me suis acheter un g29 boite de vitesse et une carte Arduino Leonardo j'ai relier le tout sur la carte Arduino Leonardo j'ai fait simplement comme dans la vidéo ici DIY LOGITECH USB SHIFTER ADAPTER DRIVING FORCE - YouTube donc j'ai pris leur code copier coller et cela fonctionne correctement j'en suis très content, ce que j'aimerai ajouter ces un frein a main sur la même carte Arduino.

la vidéo du frein a main est ici HOW TO MAKE A USB ANALOG HANDBRAKE | SIM RACING DIY EBRAKE - YouTube

la question est est ce que l'on peux intégrés un autre code avec le code du g29 boite de vitesse et changer le fils jaune sur la carte Arduino A0 en A1 car mon g29 boite de vitesse l'utilise déjà le A0.

Vraisemblablement oui, s'il reste de la place dans votre arduino

Pour une réponse moins ...vague, il vaudrait mieux poster votre code (essayer de comprendre, dans l'agitation de youtube -que certains vieux PC ne peuvent pas suivre-, quel est le code et où il est est très compliqué; le temps consacré à cette capture est mieux employé à vérifier si le code existant est bien écrit )

Bonjour dbrion06

merci de m’avoir répondu aussi vite

est bien pour l’instant la boite a vitesse g29 répond très bien je pense m’acheter le frein a main et le potentiomètre qui lui sera relier sur ma carte donc je vais devoir mettre le code du frein a main avec la boite a vitesse g29 voici le code du g29 qui fonctionne parfaitement.

#include <Joystick.h>

// Create the Joystick
Joystick_ Joystick;

// H-shifter mode analog axis thresholds
#define HS_XAXIS_12        500
#define HS_XAXIS_56        780
#define HS_YAXIS_135       800
#define HS_YAXIS_246       300

// Sequential shifter mode analog axis thresholds
#define SS_UPSHIFT_BEGIN   670
#define SS_UPSHIFT_END     600
#define SS_DOWNSHIFT_BEGIN 430
#define SS_DOWNSHIFT_END   500

// Handbrake mode analog axis limits
#define HB_MAXIMUM         530
#define HB_MINIMUM         400
#define HB_RANGE           (HB_MAXIMUM-HB_MINIMUM)

// Digital inputs definitions
#define DI_REVERSE         1
#define DI_MODE            3
#define DI_RED_CENTERRIGHT 4
#define DI_RED_CENTERLEFT  5
#define DI_RED_RIGHT       6
#define DI_RED_LEFT        7
#define DI_BLACK_TOP       8
#define DI_BLACK_RIGHT     9
#define DI_BLACK_LEFT      10
#define DI_BLACK_BOTTOM    11
#define DI_DPAD_RIGHT      12
#define DI_DPAD_LEFT       13
#define DI_DPAD_BOTTOM     14
#define DI_DPAD_TOP        15

// Shifter state
#define DOWN_SHIFT         -1
#define NO_SHIFT           0
#define UP_SHIFT           1

// Shifter mode
#define SHIFTER_MODE       0
#define HANDBRAKE_MODE     1

// LED blink counter
int led=0;

// Shifter state
int shift=NO_SHIFT;

// Handbrake mode
int mode=SHIFTER_MODE;

int b[16];

int gear=0;                          // Default value is neutral

// Constant that maps the phyical pin to the joystick button.
//const int pinToButtonMap = 9;

void setup() {
   // G29 shifter analog inputs configuration 
  pinMode(A0, INPUT_PULLUP);   // X axis
  pinMode(A2, INPUT_PULLUP);   // Y axis

  pinMode(2, INPUT); 


  for(int i=0; i<16; i++) b[i] = 0;
  b[DI_MODE] =0;
  // Initialize Joystick Library
  Joystick.begin();
  
}

// Last state of the button
int lastButtonState = 0;

void loop() {

  int x=analogRead(0);                 // X axis
  int y=analogRead(2);                 // Y axis

  int _isreverse = digitalRead(2);
  int _gear_ = 0;

if( _isreverse == 1 ){

      _gear_ = 8;
      b[DI_REVERSE]= 1;

}else{ 
  

  if(b[DI_MODE]==0)                    // H-shifter mode?
  {
    if(x<HS_XAXIS_12)                  // Shifter on the left?
    {
      if(y>HS_YAXIS_135) _gear_=1;       // 1st gear
      if(y<HS_YAXIS_246) _gear_=2;       // 2nd gear
    }
    else if(x>HS_XAXIS_56)             // Shifter on the right?
    {
      if(y>HS_YAXIS_135) _gear_=5;       // 5th gear
      if(y<HS_YAXIS_246) _gear_=6;       // 6th gear
     
    }
    else                               // Shifter is in the middle
    {
      if(y>HS_YAXIS_135) _gear_=3;       // 3rd gear
      if(y<HS_YAXIS_246) _gear_=4;       // 4th gear
    }
   
  }

}
  
  
  if(gear!=6) b[DI_REVERSE]=0;         // Reverse gear is allowed only on 6th gear position
  
   if (_gear_ != gear ){
      gear = _gear_;
      desactivar();
      Joystick.setButton(gear-1, HIGH);
   }
   delay(50);
}

void desactivar(){
  // Depress virtual button for current gear
  for(int i = 0; i <= 10 ; i++ )  Joystick.setButton(i, LOW);
}

j’espère ne pas avoir fait une bêtise du copier coller car ces ma première fois sur le forum. et je vous donne le code du frein a main qu’il faudra mettre dans celui du g29 en changeant les borne A0 en A1.

// Analog eBrake-Handbrake
// PIN A0 to 10k pot output - Throttle Axis
// Use with Arduino ProMicro.
// Tested and working in DiRT RALLY + ASSETTO CORSA
// by AMSTUDIO
// 20.1.2017

#include <Joystick.h>

//create Joystick
Joystick_ Joystick;

void setup()

{pinMode(A0, INPUT); 
   Joystick.begin();}

const int pinToButtonMap = A0;

void loop()

{int pot = analogRead(A0);
int mapped = map(pot,0,1023,0,255);
{Joystick.setThrottle(mapped);}}

par contre pour moi savoir la place qu’il me reste dans l’Arduino comment je fait.
j’ai oublier de dire que ici ils utilises une carte Arduino ProMicro et que moi ces une Arduino Leonardo.
comment je dois faire pour intégrer ce code dans celui du dessus.