Unojoy accelerometre

Bonjour,je cherche à utiliser un gyroscope en tant que joystick.Pour cela j'ai utilisé le programme unojoy pour faire reconnaitre l'arduino en tant que manette.
Or gerer un gyroscope et le programme unojoy est trop lourd pour une arduino seul.C'est pour cela que nous avons séparer le programme en 2 arduino.Ainsi on a dut gerer la transmission entre les 2 arduinos.Tout fonctionne parfaitement en tant qu'arduino mais des que l'on passe l'arduino contenant unojoy en tant que manette le gyroscope n'est plus recconu.Voila le programme contenu dans la manette.

#include "UnoJoy.h"
#include <SoftwareSerial.h>  
 SoftwareSerial mySerial(13,12); // RX, TX  


void setup(){
  setupPins();
  setupUnoJoy();
  
  mySerial.begin(9600);
  Serial.begin(9600);
}

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
   int var ;
  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){

  int anx;
  int anxj;
  int any;
  int nombreEnCours = 0;
  int continu=0;

  
  
  // 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  
  anxj=analogRead(A0);
  controllerData.leftStickX = anxj >> 2;
  controllerData.leftStickY = analogRead(A1) >> 2;

 
  
  
  
  
  continu=0;
           //Serial.println(); 
  while (mySerial.available()&& continu==0)
                  {
                    
                     char c = mySerial.read();
         //Serial.print(c); 
        // Si c'est un chiffre, on l'ajoute au nombre
        if ( ( c >= '0' ) && ( c <= '9' ) ) {
            nombreEnCours = ( ( nombreEnCours * 10 ) + ( c - '0' ) );
        }
         
        // Si c'est une lettre majuscule, alors on fait une action
        if ( ( c >= 'A' ) && ( c <= 'Z' ) ) {
             
            // Pour un 'A', on affiche un texte
            if ( c == 'X' ) {
                anx=nombreEnCours;
                Serial.println(anx); 
                
                //Serial.println(controllerData.rightStickX);
            }
            
            if ( c == 'Y' ) {
                any=nombreEnCours;
                //Serial.println(any);
                //Serial.println();
                continu=1;
            }
            
            // Puis on revient à 0
            nombreEnCours = 0;
                // int var = mySerial.read();

                  }
                  }


                  

      controllerData.rightStickX = (anx) >> 2; 
      controllerData.rightStickY = (any) >> 2; 
            
       //Serial.println(anx);
       //Serial.println(controllerData.rightStickX); 
      
                  
                  //Serial.println (controllerData.rightStickX);
                  //Serial.println(anx);                  
                  //Serial.println(controllerData.rightStickY);
                  Serial.println();

 /* controllerData.rightStickX = analogRead(A2) >> 2;
  controllerData.rightStickY = analogRead(A3) >> 2;
*/
  
  // And return the data!
  return controllerData;
}

Merci d'avance pour votre aide

Manque les 3/4 des informations dans votre post... connexions, composants, alimentation, type d’arduino, flashage firmware etc... vous n’avez même pas pris la peine d’indenter Le code ou d’enlever les lignes superflues ni même poster Le code avec votre gyro....

Bref...