Probleme pour donner un angle a un servomoteur

bonjour,
voilà je me tourne vers vous car je suis débutant dans la programmation et j'ai quelques petits soucis avec mon code, j'aimerai tout simplement réussir a donner un angle de base a mon servomoteur pour qu'au démarrage de l'arduino il prenne cette position en attendant le reste des information, mais rien a y faire je me suis creusé les méninges j'y arrive pas merci d'avance pour votre aide :slight_smile:
Je ne pense pas en être très loin mais j'ai toujours pas trouvé..

#include <Servo.h>


#define JoystickAxe A0 // définie la pin d'attache du joystickaxe
#define JoystickBiele A1 // définie la pin d'attache du joystickbiele
#define ServoAxePin 2  // définie la pin d'attache du servomoteuraxe
#define ServoBielePin 3 // définie la pin d'attache du servomoteurbiele

#define JoystickTete A2 // définie la pin d'attache du joysticktete
#define JoystickPince A3 // définie la pin d'attache du joystickpince
#define ServoTetePin 4  // définie la pin d'attache du servomoteurtete
#define ServoPincePin 5 // définie la pin d'attache du servomoteurpince


Servo ServoAxe; // création du servomoteur de la Tete
int ConsigneServoAxe =0; // Création de l'instruction d'angle du servoAXE
int ValAxe = 0; // création de la valeur pour donner l'ordre au servoAXE

Servo ServoBiele; // création du servomoteur de la pince
int ConsigneServoBiele =0; // création de l'instruction d'angle du servoBIELE
int ValBiele = 0; // création de la valeur pour donner l'ordre au servoBIELE

Servo ServoTete; // création du servomoteur de la Tete
int ConsigneServoTete =0; // Création de l'instruction d'angle du servoTETE
int ValTete = 0; // création de la valeur pour donner l'ordre au servoTETE

Servo ServoPince; // création du servomoteur de la pince
int ConsigneServoPince =0; // création de l'instruction d'angle du servoPINCE
int ValPince = 0; // création de la valeur pour donner l'ordre au servoPINCE


void setup() {
  //On attache la pin
  ServoAxe.attach(ServoAxePin); // on associe la pin au servo
  ServoAxe.write(150); // je lui donne un angle de base a l'initialisation

  ServoBiele.attach(ServoBielePin); // on associe la pin au servo
  ServoBiele.write(150); // je lui donne un angle de base a l'initialisation

  ServoTete.attach(ServoTetePin); // on associe la pin au servo
  ServoTete.write(150); // je lui donne un angle de base a l'initialisation

  ServoPince.attach(ServoPincePin); // on associe la pin au servo
  ServoPince.write(150); // je lui donne un angle de base a l'initialisation

  Serial.begin(9600); // j'initialise le l'écran arduino sur ordi 
}

void loop() {

  ValAxe=analogRead(JoystickAxe);

  { 
    if(ValAxe>540) {
      ConsigneServoAxe++;
    }
    else if(ValAxe<490) {
      ConsigneServoAxe--;
    }
    ConsigneServoAxe=constrain(ConsigneServoAxe,0,1023);

    ServoAxe.write(ConsigneServoAxe);

    ValBiele=analogRead(JoystickBiele);
  }

  {
    if(ValBiele>540) {
      ConsigneServoBiele++; 
    }
    else if(ValBiele<490) {
      ConsigneServoBiele--; 
    }
    ConsigneServoBiele=constrain(ConsigneServoBiele,0,1023);

    ServoBiele.write(ConsigneServoBiele);
  } 

  {
    ValPince=analogRead(JoystickPince);

    if(ValPince>540) {
      ConsigneServoPince++;
    }
    else if(ValPince<490) {
      ConsigneServoPince--;
    }
    ConsigneServoPince=constrain(ConsigneServoPince,0,1023);

    ServoPince.write(ConsigneServoPince);
  }

  {
    ValTete=analogRead(JoystickTete);

    if(ValTete>540) {
      ConsigneServoTete++; 
    }
    else if(ValTete<490) {
      ConsigneServoTete--; 
    }
    ConsigneServoTete=constrain(ConsigneServoTete,0,1023);

    ServoTete.write(ConsigneServoTete);
  }
  delay(15);
}

Ok d'accord je prend note je vais faire le test de suite,

En revanche j'ai utilisé la fonction constrain car c'est ce que j'ai trouvé sur le net comme je l'ai dit étant débutant je cherche a tout pris un moyen de contrôler mes servos avec des joystick sachant que quand mon joystick revient au milieu je voulais que le servo garde un position

j’espère que c'est assez claire ce que je dis haha ( le manque d'expérience malheureusement)

je fais le test et merci énormément je vous dirai si cela marche comme j'espère

voilà j'ai testé effectivement ça marche mais après c'est 2 seconde de delay ils prennent une autre position or, j'aimerai qu'ils garde cette position jusqu'au moment ou moins en touchant au joystick je leurs donne de nouvelle instruction

une idée ? :confused:

je n'y avais absolument pas pensé je vais essayé ça tout de suite encore une fois merci je reviendrai vers vous :smiley:

effectivement ça marche, si je puis me permettre encore une question, savez vous comment je pouvvrai faire pour réduire la vitesse de déplacement d'uniquement du servomoteurAxe et du servomoteurBiele

merci d'avance pour toute vos réponse elles m'ont était très utiles !!

Cordialement