Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Construire un module joystick Arduino : guide étape par étape

Gérez-vous actuellement des projets liés au mouvement et à la robotique ? Alors, il y a de fortes chances que vous ayez déjà entendu parler du module joystick Arduino, mais que vous ne sachiez pas comment en fabriquer un. Ou peut-être souhaitez-vous obtenir plus d'informations sur le fonctionnement d'un module joystick Arduino ? Dans ce cas, vous êtes au bon endroit.

L'objectif d'un joystick Arduino est de communiquer le mouvement à un Arduino. Et il le fait en 2D (2 axes), ce qui le rend adapté aux applications de mouvement et de robotique. Dans cet article, vous apprendrez tout sur le module joystick Arduino, comment il fonctionne et comment réaliser un circuit joystick Arduino simple. Êtes-vous prêt ? C'est parti !

Qu'est-ce qu'un module joystick ?

Il n'y a guère de projet robotique qui n'exige pas un joystick. Il est parfois difficile d'obtenir un contrôleur qui fonctionnerait pour vos projets, et cela peut même être coûteux. Mais un module joystick offre un moyen plus abordable d'obtenir le même résultat.

De plus, le module joystick fonctionne de manière similaire aux joysticks trouvés dans les gamepads analogiques. Ses composants clés sont deux potentiomètres inclinés à des angles de 90 degrés. En outre, il y a une connexion entre un petit manche (avec des ressorts au centre) et les potentiomètres.

Le module joystick peut délivrer environ 2,5 V sur les axes X et Y lorsqu'il est au repos. Maintenant, lorsque vous bougez le joystick, la sortie variera de 0 V à 5 V. Cependant, cela dépend de la direction. De plus, si vous utilisez un microcontrôleur avec le module joystick, la valeur réelle en position de repos serait d'environ 512. Ainsi, lorsque vous bougez ce joystick, vous pouvez voir les valeurs changer de 0 à 1023, mais cela dépend de sa position.

Configuration des broches

Voici la configuration des broches pour le module joystick :

N° BrocheNom de la brocheDescription
1GNDBornes de masse du module
2+5VBornes d'alimentation positive du module
3VRxTension proportionnelle à l'axe X
4VRyTension proportionnelle à l'axe Y
5SWInterrupteur du module

Caractéristiques

Voici les caractéristiques principales du module joystick Arduino :

Spécifications techniques

Les spécifications du module joystick incluent :

Schéma électrique

L'image ci-dessous montre le schéma complet du module joystick. Comme nous l'avons mentionné précédemment, le module comporte deux potentiomètres qui contrôlent les axes X et Y. De plus, les deux potentiomètres (10k) se déplacent indépendamment. En d'autres termes, vous pouvez les déplacer individuellement et dans leurs directions. Il y a aussi une connexion interne de la broche d'interrupteur (SW) au bouton poussoir.

Interface du joystick avec Arduino

Les modules joystick sont compatibles avec de nombreux microcontrôleurs comme Raspberry Pi, Arduino et autres. De plus, il est facile à interfacer : vous devez d'abord connecter les broches d'axe VRx et VRy aux broches ADC du microcontrôleur. De plus, si vous prévoyez d'utiliser un interrupteur, vous devriez connecter le bouton aux broches numériques du microcontrôleur.

Consultez le diagramme ci-dessous pour comprendre comment connecter le module joystick à n'importe quel microcontrôleur. Le diagramme suivant vous montrera comment interfacer un module joystick avec un Arduino. Avec ce diagramme, vous pourrez connecter le module à l'Arduino. De plus, vous obtiendrez une sortie selon la direction dans laquelle vous bougez le bouton du joystick.

Une fois l'interfaçage terminé, nous constaterons que chaque direction a une plage de sortie fixe. L'image suivante vous montrera la sortie pour les axes X et Y selon le mouvement du module joystick dans les quatre directions, +X, -X, +Y et -Y. Il y aura également des valeurs analogiques lorsque vous déplacerez le bouton en diagonale.

Si vous voulez savoir quand vous appuyez sur le bouton de votre joystick, vous pouvez également connecter la broche SW à la broche numérique 8 de l'Arduino. De plus, le joystick a besoin d'alimentation pour fonctionner correctement. Donc, connectez la broche VCC au terminal 5V de l'Arduino et la GND à la borne GND de l'Arduino.

Code Arduino

Il est assez facile de coder ce programme sur l'IDE Arduino. Pour obtenir les meilleurs résultats, vous mesurerez le mouvement du joystick à partir d'une entrée numérique et de deux entrées analogiques. Ensuite, l'Arduino affichera l'impact sur votre moniteur. Voici la meilleure partie : vous n'avez pas besoin de bibliothèque pour coder ce programme. Il lit simplement l'entrée analogique et affiche les valeurs qu'il en obtient. De plus, il affiche également la sortie du bouton poussoir.

Voici l'esquisse brute du code :

#define joyX A0
#define joyY A1

void setup() {
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  xValue = analogRead(joyX);
  yValue = analogRead(joyY);
  
  //print the values with to plot or view
  Serial.print(xValue);
  Serial.print("\t");
  Serial.println(yValue);
}

Mapping

Parfois, il ne s'agit pas seulement de lire des valeurs analogiques, et il peut y avoir un besoin de mapper votre module vers un affichage ou d'autres interfaces. Pour vous aider, nous allons vous montrer comment mapper les valeurs du code ci-dessus vers une matrice LED 8x8.

Le résultat de ce processus est de déplacer les pixels sur l'affichage avec le joystick. De plus, il est facile de modifier le code pour l'adapter à un écran OLED ou graphique.

#include "LedControl.h"
#define joyX A0
#define joyY A1

int xMap, yMap, xValue, yValue;
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  Serial.begin(115200);
  lc.shutdown(0, false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0, 8);
  /* and clear the display */
  lc.clearDisplay(0);
}

void loop() {
  // put your main code here, to run repeatedly:
  xValue = analogRead(joyX);
  yValue = analogRead(joyY);
  xMap = map(xValue, 0, 1023, 0, 7);
  yMap = map(yValue, 0, 1023, 7, 0);
  lc.setLed(0, xMap, yMap, true);
  lc.clearDisplay(0);
}

Note : le code ci-dessus montre que vous pouvez utiliser la fonction map() pour mapper les plages selon vos préférences.

Donc, si vous faites tout correctement, la sortie sur votre moniteur série devrait ressembler à ceci :

Applications

Voici quelques applications du module joystick Arduino :

Conclusion

Quand on entend le mot Joystick, la première chose qui vient à l'esprit pourrait être les contrôleurs de jeu. Cependant, il existe de nombreuses applications passionnantes du module joystick lorsqu'il s'agit d'électronique DIY. De plus, ces modules fonctionnent principalement pour les projets DIY basés sur Arduino et le contrôle de robots. Comme nous l'avons discuté plus tôt, le module joystick libère d'abord une sortie analogique pour alimenter l'entrée analogique selon le mouvement horizontal ou vertical du manche. C'est tout pour cet article. Si vous avez des questions ou des suggestions, n'hésitez pas à nous contacter. Nous sommes toujours heureux de vous aider.

Technologie industrielle

  1. Créer un bouton clavier personnalisé « frappable » avec Arduino : guide pas à pas
  2. Connecter un module GPS NEO‑6M à l'Arduino Mega : Guide pas à pas
  3. Volant Joystick Arduino Personnalisé pour Jeux Vidéo
  4. Générer des Sons Musicaux avec Arduino : Guide Pas à Pas
  5. Porte automatique Arduino avec capteur ultrasons HC-SR04
  6. Construire une voiture Arduino pilotée par Bluetooth : Guide DIY complet
  7. Construire un mini oscilloscope DIY avec Arduino Nano – Tutoriel pas à pas
  8. Construire JARVIS v1 : Automatisation domestique avec Arduino Nano – Tutoriel pas à pas
  9. Kit de projet Arduino Due : TFT, GPS, RTC, capteurs, Bluetooth et joystick – Liste complète des composants