Dernier paquet reçu en date, un Joystick X, Y + Bouton. Il s’agit en fait d’un petit capteur de position composé de deux résistances variables et d’un bouton. C’est un module qui n’a rien de bien compliqué, en effet il consiste à lire deux résistances variables (x et y) ainsi qu’un bouton. Ceci dis le format joystick est très sympa a utiliser.
L’arduino équipé d’un joystick peut être utile dans les applications robotiques ou dans les voitures radiocommandée par exemple. On peut tout à fait s’imagine contrôler un moteur (vitesse) ou encore un servomoteur (direction). Il s’intègrera parfaitement dans les projets de modélisme.
Le module se présente comme ci-bas.
Ce dont vous aurez besoin
- Un module joystick – disponible ici
- Un Arduino – Disponible ici
- Quelques câbles de prototypage – Disponibles ici
Broches du module joystick
- VCC
- GND
- VRx -> Résistance variable x
Renvoie une valeur correspondante à l’horizontalité - VRY -> Résistance variable Y
Renvoie une valeur correspondante à la verticalité - SW -> Switch / bouton
Il est possible de presser sur le Joystick. A la pression on sentira l’enclenchement d’un bouton. Il correspond à SW > Switch (bouton).
Branchement du joystick à l’Arduino
Pour le branchement du module joystick à l’Arduino suivez le schéma textuel ci-dessous.
- MODULE -> ARDUINO
- VCC -> 5V
- GND -> GND
- VRx -> A0
- VRy -> A1
- SW -> Pin 2
Code – Sketch Arduino pour joystick
int VRx = A0;
int VRy = A1;
int SW = 2;
int xPosition = 0;
int yPosition = 0;
int SW_state = 0;
int mapX = 0;
int mapY = 0;
void setup() {
Serial.begin(9600);
pinMode(VRx, INPUT);
pinMode(VRy, INPUT);
pinMode(SW, INPUT_PULLUP);
}
void loop() {
xPosition = analogRead(VRx);
yPosition = analogRead(VRy);
SW_state = digitalRead(SW);
mapX = map(xPosition, 0, 1023, -512, 512);
mapY = map(yPosition, 0, 1023, -512, 512);
Serial.print("X: ");
Serial.print(mapX);
Serial.print(" | Y: ");
Serial.print(mapY);
Serial.print(" | Button: ");
Serial.println(SW_state);
delay(100);
}Les valeurs sont récupérées et stockée comme pour un potentiomètre via les entrées analogiques de l’Arduino A0 et A1 dans les variables VRx et VRy.
int VRx = A0;
int VRy = A1;
Les valeurs sont lues grâce à la fonction analogRead
xPosition = analogRead(VRx);
yPosition = analogRead(VRy);
et retournée sur le moniteur série via SerialPrint
Serial.print("X: ");
Serial.print(mapX);
Serial.print(" | Y: ");
Serial.print(mapY);
Pour visualiser le résultat ouvrez le moniteur série de votre logiciel Arduino en cliquant sur l’icone représentée ci-dessous
Actionnez ensuite votre joystick pour voir s’afficher les différentes valeurs sur le moniteur série.
Le module est vraiment simple d’utilisation et il peut être sympa d’avoir un moyen de contrôle tel que le joystick dans divers projets.
Idées de projets Arduino à l’aide du joystick
- Une manette de jeu
- Un contrôleur pour robots ou voitures télécommandées
0 commentaires