Arduino Nano ESP32 - Joystick - Moteur Servo
Dans ce tutoriel, nous allons apprendre à utiliser un Arduino Nano 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 perpendiculaires l'un à l'autre (appelés axe X et axe Y). Ces potentiomètres produisent 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 3D.
Il existe 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 lâchons le pouce du joystick ⇒ toutes les valeurs reviennent au centre ⇒ les moteurs servo reviennent automatiquement en 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 n°1 dans le sens des aiguilles d'une montre, étape par étape
- Lorsque le pouce du joystick est poussé vers la droite, déplacer le moteur servo n°1 dans le sens inverse des aiguilles d'une montre, étape par étape
- Lorsque le pouce du joystick est poussé vers le haut, déplacer le moteur servo n°2 dans le sens des aiguilles d'une montre, étape par étape
- Lorsque le pouce du joystick est poussé vers le bas, déplacer le moteur servo n°2 dans le sens inverse des aiguilles d'une montre, étape par étape
- Lorsque nous lâchons le pouce du joystick ⇒ les moteurs servo ne reviendront pas en position centrale
- Si le joystick est pressé (bouton pression), les moteurs servo reviendront en position centrale
- Si vous êtes nouveau avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'Arduino IDE.
- Connectez les composants selon le schéma fourni.
- Connectez la carte Arduino Nano ESP32 à votre ordinateur via un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte Arduino Nano ESP32 et son port COM correspondant.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Tapez ServoESP32 dans la boîte de recherche, puis recherchez la bibliothèque servo de Jaroslav Paral. Veuillez noter que les versions 1.1.1 et 1.1.0 comportent des bugs. Merci de choisir une version différente.
- Cliquez sur le bouton Install pour installer la bibliothèque de moteur servo pour Arduino Nano ESP32.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur l'Arduino Nano 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
- Ouvrez le Gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques dans la barre de navigation gauche de l'Arduino IDE
- 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 dans Arduino IDE pour téléverser le code vers Arduino Nano ESP32
- Ouvrez le moniteur série
- Poussez le joystick dans une direction
- Observez la rotation du servo-moteur
- Voyez 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
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Au sujet 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 Nano ESP32
Code Arduino Nano ESP32 - Les moteurs servo tournent en fonction du mouvement du pouce du joystick
Étapes rapides
Pour commencer avec Arduino Nano ESP32, suivez ces étapes :
Code Arduino Nano ESP32 - Utilisez 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 !