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
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À 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

This image is created using Fritzing. Click to enlarge 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 !