Bonjour à tous,
Je débute avec arduino et je voudrais réaliser la commande d'aiguillages avec servomoteurs.
J'ai fait un début de programme. Celui-ci permet de faire changer la position d'un servomoteur avec un interrupteur à bascule 2 pôles. Le programme fonctionne mais je souhaiterais diminer la vitesse du servo. J'ai essayé avec la bibliothèque "SlowMotionServo" mais sans succès.
Pouvez-vous m'aider ?
Merci d'avance.
Bonne journée
Voici le programme :
#include <Servo.h>
int pinBouton1;
int pinBouton2;
int pinBouton3;
int pinBouton4;
int servoPin1 = 1;
int servoPin2 = 2;
int servoPin3 = 3;
int servoPin4 = 4;
Servo myServo1;
Servo myServo2;
Servo myServo3;
Servo myServo4;
void setup()
{
myServo1.attach(servoPin1);
myServo2.attach(servoPin2);
myServo3.attach(servoPin3);
myServo4.attach(servoPin4);
pinBouton1 = 5;
pinBouton2 = 6;
pinBouton3 = 7;
pinBouton4 = 8;
//définition des modes
pinMode(pinBouton1, INPUT);
pinMode(pinBouton2, INPUT);
pinMode(pinBouton3, INPUT);
pinMode(pinBouton4, INPUT);
}
void loop()
{
//lecture de l'état du bouton et stockage dans etatBouton
boolean etatBouton1 = digitalRead(pinBouton1);
boolean etatBouton2 = digitalRead(pinBouton2);
boolean etatBouton3 = digitalRead(pinBouton3);
boolean etatBouton4 = digitalRead(pinBouton4);
//test des conditions
if (etatBouton1==HIGH)//test si bouton appuyé
{
myServo1.write(0);
}
else
{
myServo1.write(90);
}
if (etatBouton2==HIGH)//test si bouton appuyé
{
myServo2.write(0);
}
else
{
myServo2.write(90);
}
if (etatBouton3==HIGH)//test si bouton appuyé
{
myServo3.write(0);
}
else
{
myServo3.write(90);
}
if (etatBouton4==HIGH)//test si bouton appuyé
{
myServo4.write(0);
}
else
{
myServo4.write(90);
}
}