Arduino - Joystick - Moteur Servo
Dans ce tutoriel, nous allons apprendre à utiliser un Arduino et un joystick pour contrôler deux moteurs servo ou un kit pan-tilt avec des servos.
Un joystick possède deux potentiomètres intégrés disposés perpendiculairement l'un à l'autre (appelés axe X et axe Y). Ces potentiomètres délivrent des valeurs analogiques (appelées valeur X et valeur Y) sur les broches VRX et VRY. Nous utiliserons ces valeurs analogiques pour contrôler deux moteurs servo de manière indépendante : la valeur X contrôle le servo #1 et la valeur Y contrôle le servo #2. Dans le cas du kit pan-tilt, le mouvement des deux moteurs servo crée un mouvement en 3-D.
Il y a deux cas d'utilisation d'application :
- Cas d'utilisation 1 : Les moteurs servo tournent en fonction du mouvement du pouce du joystick :
- Les angles des moteurs servo sont proportionnels aux valeurs de l'axe X et de l'axe Y du joystick.
- Lorsque nous relâchons le pouce du joystick ⇒ toutes les valeurs reviennent aux valeurs centrales ⇒ les moteurs servo retournent automatiquement à la position centrale
- Cas d'utilisation 2 : utiliser le joystick pour commander les moteurs servo (commandes haut/bas/gauche/droite)
- Lorsque le pouce du joystick est poussé vers la gauche, déplacer le moteur servo #1 dans le sens des aiguilles d'une montre pas à pas
- Lorsque le pouce du joystick est poussé vers la droite, déplacer le moteur servo #1 dans le sens contraire des aiguilles d'une montre pas à pas
- Lorsque le pouce du joystick est poussé vers le haut, déplacer le moteur servo #2 dans le sens des aiguilles d'une montre pas à pas
- Lorsque le pouce du joystick est poussé vers le bas, déplacer le moteur servo #2 dans le sens contraire des aiguilles d'une montre pas à pas
- Lorsque nous relâchons le pouce du joystick ⇒ les moteurs servo ne reviennent pas à la position centrale
- Si le joystick est pressé (bouton poussoir), les moteurs servo reviendront à la position centrale
- Connectez l'Arduino au PC via le câble USB
- Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload sur l'IDE Arduino pour charger le code sur l'Arduino
- Ouvrez le moniteur série
- Poussez le joystick dans une direction
- Observez la rotation du moteur servo
- Consultez le résultat sur le moniteur série
- Naviguez jusqu'à l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
- Recherchez "ezButton", puis trouvez la bibliothèque de boutons par ArduinoGetStarted.com
- Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload dans l'IDE Arduino pour charger le code sur Arduino
- Ouvrez le moniteur série
- Poussez le joystick dans une direction
- Observez la rotation du moteur servo
- Consultez le résultat sur le moniteur série
Nous explorerons le code pour les deux cas d'utilisation dans les prochaines parties.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V3 (Arduino inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Si vous utilisez plusieurs servomoteurs, nous recommandons d'utiliser le PCA9685 16 Channel PWM Servo Driver Module pour économiser les broches du MCU et faciliter le câblage.
À propos du joystick et du moteur servo
Si vous ne connaissez pas le joystick et le moteur servo (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Les fils de connexion sont pratiques pour un test rapide, mais pas pour un montage final. La carte Arduino fonctionne avec le Proto Screw Terminal Block Shield comme avec le Screw Shield V2. Les deux transforment les broches en borniers à vis. Chaque fil va au bornier à vis de la même broche, comme sur l'image ci-dessous.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino
Code Arduino - Les moteurs servo tournent en fonction du mouvement du pouce du joystick
Étapes rapides

Code Arduino - Utiliser le joystick pour commander les moteurs servo
Étapes rapides

Explication du code
Lisez l'explication ligne par ligne dans les lignes de commentaire du code source !