Dans un précédent article nous avons vu comment contrôler un servomoteur à l’aide de l’Arduino et des valeurs que nous lui paramétrions dans ses variables. Dans cet article nous allons maintenant voir comment contrôler un servomoteur à l’aide d’un Joystick.
Pour réaliser ce projet vous aurez besoin de:
- Un Arduino Uno – DISPONIBLE ICI
- Un servomoteur – DISPONIBLE ICI
- Un module Joystick – DISPONIBLE ICI
- Quelques câble de prototypage rapide – DISPONIBLE ICI
Branchement joystick et servomoteur à l’Arduino

| Joystick |
| GND |
| +5V |
| VRx |
| VRy Non utilisée |
| SW Non utilisée |
| Arduino |
| GND |
| Pin 5V |
| Pin A0 |
| Non utilisée |
| Non utilisée |
| Servomoteur |
| Cable Rouge (5V) |
| Câble jaune (Signal) |
| Câble marron |
| Arduino |
| Pin 5V |
| Pin 9 (PWM) |
| GND |
Code Arduino Joystick et servomoteur
Dans cet article nous allons voir comment contrôler le servomoteur à l’aide d’un module joystick.
#include <Servo.h> // Bibliothèque pour contrôler le servomoteur
Servo myservo; // Déclaration du servomoteur
int joystickPinX = A0; // Pin du joystick pour l'axe X
int servoPin = 9; // Pin du servomoteur
int xValue; // Variables pour stocker les valeurs de l'axe X et de l'axe Y
int servoPosition; // Variable pour stocker la position du servomoteur
void setup() {
myservo.attach(servoPin); // Attache le servomoteur au pin déclaré
}
void loop() {
xValue = analogRead(joystickPinX); // Lit la valeur de l'axe X du joystick
servoPosition = map(xValue, 0, 1023, 1, 179); // Mappe la valeur de l'axe x sur une plage de 1 à 179 degrés
myservo.write(servoPosition); // Écrit la position calculée au servomoteur
delay(15); // Attends 15 ms avant de répéter la boucle
}
Nous utilisons ici la bibliothèque Servo inclue dans le logiciel Arduino IDE pour contrôler le servomoteur. La carte Arduino lit les valeurs de l’axe X du joystick à l’aide de la fonction analogRead et les mappe sur une plage de 0 à 179 degrés pour déterminer la position du servomoteur.
Téléversez ce code sur votre Arduino, actionnez enfin votre Joystick sur son axe X pour faire bouger votre servomoteur.







0 commentaires