Passer au contenu principal Passer à la recherche Passer à la navigation principale
Menu

Lire un joystick avec Arduino


Dans ce tutoriel, nous vous montrons comment lire un joystick avec une carte compatible Arduino UNO.

Avec des joysticks, vous placez vos projets sous contrôle analogique ! Ce module de joystick convient parfaitement pour une commande à 2 axes, comme celle souvent utilisée dans les bras robotisés. Le module est également idéal comme méthode d'entrée pour les jeux et les menus. 

Ce module de joystick possède 5 broches : GND, 5V, VRx, VRy et SW. L'étiquetage peut varier selon le lot, mais l'affectation et la fonction restent les mêmes. Le joystick fonctionne de manière analogique et fournit des valeurs plus précises que les joysticks numériques. Il dispose d'un bouton intégré qui peut être activé en appuyant dessus. Cela permet par exemple de programmer des fonctions de basculement (Toggle) ou de sélection (Select).

Composants nécessaires : 

  • Carte compatible Arduino UNO R3 
  • Module Joystick 
  • Câble 5 connecteurs fiches

Ignorer la galerie de produits
20
yourDroid UNO R3 carte de développement ATMEGA328P-PU compatible arduino yourDroid UNO R3 carte de développement ATMEGA328P-PU compatible arduino – Image 2

Note moyenne de 5 sur 5 étoiles

(6)
yourDroid UNO R3 carte de développement ATMEGA328P-PU compatible arduino
RBS14165

Disponible immédiatement

Prix de vente : A partir de 10,12 € Prix régulier : 12,65 €
Module Joystick 2 axes Module Joystick 2 axes – Image 2

Note moyenne de 4.17 sur 5 étoiles

(3)
Module Joystick 2 axes
RBS10042

Disponible immédiatement

Prix régulier : A partir de 1,15 €
Câbles jumper 40 broches femelle-mâle 20 cm

Note moyenne de 4.87 sur 5 étoiles

(30)
Câbles jumper 40 broches femelle-mâle 20 cm
RBS10038

Actuellement non disponible

Prix régulier : A partir de 1,09 €
Kit de démarrage pour Arduino UNO R3 RFID Kit de démarrage pour Arduino UNO R3 RFID – Image 2

Note moyenne de 4.83 sur 5 étoiles

(24)
Kit de démarrage pour Arduino UNO R3 RFID
RBS11368

Disponible immédiatement

Prix régulier : A partir de 28,95 €

Fonctionnement

Sur l'Arduino, les données des broches X et Y sont lues via des entrées analogiques. Le module joystick possède un potentiomètre pour l'axe X et un pour l'axe Y. Selon la position du joystick, une tension de sortie différente est envoyée à notre Arduino. La carte Arduino convertit la tension analogique comprise entre 0 et 5 V en valeurs allant de 0 à 1023. Le bouton fournit en permanence 2 V ; lorsqu'il est actionné, il est connecté à la masse (GND). Dans le moniteur série, nous lisons 1 en état de repos et 0 lors de l'activation.

Schéma électronique

cliquez sur les images pour les agrandir

Schéma de connexion
Joystick

Arduino
GNDMasse
+5V5V
VRxBroche analogique A0
VRyBroche analogique A1
SWBroche numérique 2


Code pour Arduino

Afficher / masquer le code
const int SW_pin = 2; // Broche du bouton
const int X_pin = A0; // Sortie X
const int Y_pin = A1; // Sortie Y

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(9600);
}

void loop() {
  Serial.print("Bouton : ");
  Serial.print(digitalRead(SW_pin));
  Serial.print("\n");
  Serial.print("Axe X : ");
  Serial.print(analogRead(X_pin));
  Serial.print("\n");
  Serial.print("Axe Y : ");
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
  delay(500);
}

Avec le moniteur série, vous pouvez lire les valeurs actuelles. 
Lorsque le joystick est au centre (position de repos), il doit afficher une valeur d'environ 512. Lorsqu'un axe est déplacé, la valeur varie de 0 à 1023