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