Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - ViniTrain44

Pages: [1]
1
Débuter / Moteur aiguillage Lent avec servo moteur
« le: août 23, 2020, 04:09:04 pm »
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  ;D

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); 
  }
}

Pages: [1]