ESP32 - Joystick - Moteur Servo
Dans ce tutoriel, nous allons apprendre à utiliser un ESP32 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 fournissent 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 d'un 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 servos tournent en fonction du mouvement du pouce du joystick :
- Les angles des moteurs servos 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 servos retournent automatiquement à la position centrale
- Cas d'utilisation 2 : utiliser le joystick pour commander les moteurs servos (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 servos ne retourneront pas à la position centrale
- Si le joystick est pressé (bouton poussoir), les moteurs servos retourneront à la position centrale
- Si c'est la première fois que vous utilisez un ESP32, consultez Installation du logiciel ESP32..
- Faites le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple ESP32 Dev Module) et le port COM.
- Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
- Tapez ESP32Servo dans la boîte de recherche, puis cherchez la bibliothèque servo de Kevin Harrington,John K. Bennett.
- Cliquez sur le bouton Install pour installer la bibliothèque de moteur servo pour ESP32.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload sur l'IDE Arduino pour téléverser le code sur l'ESP32
- 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
- Cliquez sur l'icône Libraries dans la barre 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 Arduino IDE
- Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code sur ESP32
- 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 parties suivantes.
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du joystick et du moteur servo
Si vous ne connaissez pas le joystick et le moteur servo (brochage, fonctionnement, programmation...), renseignez-vous dans les tutoriels suivants :
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..
Code ESP32
Code ESP32 - Les moteurs servo tournent selon le mouvement du pouce du joystick.
Étapes rapides


Code ESP32 - Utiliser le joystick pour commander des moteurs servo
Étapes rapides

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