Courant parasite projet 2 servos/arduino nano

Bonjour à tous,

Je suis un GRAND débutant en programmation sur Arduino ET en électronique.
Je viens de réaliser mon tout premier projet, et rien que ça, ce n’était pas simple.
Mon idée, programmer une carte pour que lorsque j’appuie sur un contacteur, deux servos se mettent en mouvement, l’un après l’autre. En suite le système attend une nouvelle impulsion sur le bouton poussoir pour refaire le même programme.
Ça marche « pas trop mal » je vous poste ici les détails du montage et du programme.
1/ le code peut-il être amélioré, ou bien « j’ai tout bon » (j’ai eu un bon coup de main de Pierre :wink: pour le code)
2/le montage est-il correct ?

Mon problème est qu’en phase repos (ou attente de l’appui sur le contacteur) les servos « vibrent » plus ou moins…. Il y a certainement quelque chose à améliorer. Mais quoi ? J
Merci d’avance pour votre aide
Dominique

Voici le code

#include <Servo.h>  //Appelle la librairie "servo"

#define BTN 2       //Définie que le bouton poussoir est relié à la broche 2

Servo servo1;       //Définie les servos 1 et 2.
Servo servo2;

void setup()          // initialisation, ne s'exécute qu'une fois, lorsque qu'on allume le montage.
{
 servo1.attach(10);    //Indique que les servos sont branchés aux broches 10 et 11
 servo2.attach(11);
 servo1.write(0);                  // servos en position de repos, c'est à dire 0°.
 servo2.write(0);

 pinMode(BTN, INPUT);    // bouton poussoir est en entrée
}


void loop()     //Boucle infinie, s'exécute en permanence tant que le montage est alimenté.
{
 if(digitalRead(BTN) == LOW)    //Si on appuie sur le BP:
 {
   servo1.write(90);                  // fait tourner le servo1 à 90°,
   delay(500);                       
   servo1.write(0);                  // remet le servo1 en position de repos, c'est à dire 0°.
   servo2.write(90);               // fait tourner le servo2 à 90°,
   delay(500);                        //On attend 500ms que le servo tourne à 90°
   servo2.write(0);
 }
 else
 {
  
 }
}

Et le montage en image en PJ

Edite ton , message et mets le code entre les balises code.

Essaye :

else 
{
servo1.detach();    
  servo2.detach());

}

Et dans ton if au début tu mets :

servo1.attach(10);    
  servo2.attach(11);

C'est quoi tes servos ? Entre des bons et des mauvais, typiquement ça fait partie du genre de problème qui les différencient. Moi ça m'a fait ça sur un projet récent