HELP - Arduino R3 vers Joystick

Bonjour à tous,

Débutant dans la programmation,
Je viens de me lancer dans la fabrication d'un joystick maison qui servira sur un projet de plus grande ampleur (un simulateur moto).
Je me suis donc équipé d'une carte Arduino UNO R3 avec un lot de potentiomètre, capteur de charge, capteur de distance, boutons.

Grâce à TINKERCAD j'ai réussi à créer un code qui fonctionne et qui me renvoie les bonnes informations sur le moniteur série.

J'ai ensuite via UNOJOY configuré le ARDUINO en joystick.
Quand je teste, la croix tourne dans tous les sens et les boutons clignotent...

Est-ce qu'un de vous aurez une idée sur la procédure à réaliser avec le code suivant ?

	
	int axeX = A0; // signal de l'axe X sur entrée A0
	int axeY = A1; // signal de l'axe Y sur entrée A1
	int axeZ = A2; // signal de l'axe Z sur entrée A2
	int Rapport_Sup = 0;
	int Rapport_Inf = 0;
	int Frein_Avant = 0;
	int Frein_Arriere = 0;

	long readUltrasonicDistance(int triggerPin, int echoPin)
      {
 		 pinMode(triggerPin, OUTPUT);
 		 digitalWrite(triggerPin, LOW);
 		 delayMicroseconds(2);
 		 digitalWrite(triggerPin, HIGH);
 		 delayMicroseconds(10);
 		 digitalWrite(triggerPin, LOW);
 		 pinMode(echoPin, INPUT);
  		 return pulseIn(echoPin, HIGH);
      }

void setup ()
{
  
	pinMode (axeX, INPUT); // définition de A0 comme une entrée
	pinMode (axeY, INPUT); // définition de A1 comme une entrée
	pinMode (axeZ, INPUT); // définition de A2 comme une entrée
 	pinMode(7, INPUT);     // définition de 7 comme une entrée
  	pinMode(6, INPUT);     // définition de 6 comme une entrée
  
	Serial.begin (9600);
  
}
void loop ()
{
  
	float X, Y, Z;
	X = analogRead (axeX) * (5.0 / 1023.0);
	Y = analogRead (axeY) * (5.0 / 1023.0);
	Z = analogRead (axeZ) * (5.0 / 1023.0);
    Rapport_Sup = digitalRead(7);
  	Rapport_Inf = digitalRead(6);
 	  
	Serial.print ("Direction_Droite: ");
	Serial.print (X, 4);
	Serial.println (" V");
	Serial.print ("Direction_Gauche: ");
	Serial.print (Y, 4);
	Serial.println (" V");
	Serial.print ("Accelerateur: ");
	Serial.print (Z, 4);
	Serial.println (" V");
  
  	Serial.println ("Rapport: ");
  if (Rapport_Sup == 1)
    Serial.println("Sup");
  if (Rapport_Inf == 1)
    Serial.println("Inf");
  
 	Serial.print ("Frein_Avant: ");
  	Frein_Avant = 0.01723 * readUltrasonicDistance(5, 4);
  	Serial.print(Frein_Avant);
 	Serial.println (" cm");
  	Serial.print ("Frein_Arriere: ");
	Frein_Arriere = 0.01723 * readUltrasonicDistance(3, 2);
	Serial.print(Frein_Arriere);
  	Serial.println (" cm");
 	
  	Serial.print ("\n\n");
  
delay (1000);
 
}

Bonjour,

Comment sont câblés tes joysticks?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.