pbm pour controler 2 servo simultanemment.

Bonjour,

j'utilise ce sketch avec la librairie servo pour piloter 2 servos futaba modifiés pour obtenir une rotation de 360deg.
Pour tester, j'utilise un petentiometre pour inverser le sens de rotation des deux servos.

Quand la valeur direction est au-dessus d'un seuil les servo tournent dans un sens, et inversement au-dessous d'une valeur....

Les servo réagissent dans un sens...mais en tournant le pot. avec le seuil ateint, un seul des deux servo inverse sa rotation....l'autre tourne invariablement dans le même sens....

Quelqu'un à une idée pour ce genre de chose???

voici le pgm très basic utilisé :

#include <Servo.h>

Servo servo1; 
Servo servo2; 
int direction=0;

void setup() {

  pinMode(1,OUTPUT);
  servo1.attach(4); 
  servo2.attach(2); 
   servo1.setMaximumPulse(2500);
   //servo1.setMinimumPulse(700);
   servo2.setMaximumPulse(2500);
   //servo2.setMinimumPulse(700);
  
  Serial.begin(19200);
  Serial.println('Ready');

}

void loop() {

  static int v = 0;
  direction=analogRead(2);
  int val = direction-0;
  
  Serial.println(val);
  
  if(  val>1000){
    servo1.write(90);
    servo1.refresh();
    servo2.write(90);
    servo2.refresh();
    
    Serial.println("avance");
    }


  if( val<400){
    servo1.write(0);
    servo1.refresh();
    servo2.write(0);
    servo2.refresh();
    
    }
}

une erreur dans la modif de tes servos ?
:-?

Hello skall,

Merci pour la réponse.
Non je ne pense pas à un pbm dans la modif, si je croise les servos le pbm est identique...et la modif est plutôt basique....
Il mes semble que cela tient à un pbm d'intérruption ou de fréquence...mais sans sertitude.

Fbm

est-ce que tu utilises la version de la librairie servo qui utilise le timer interne ? je crois que ca pose pb si c'est utilisé en meme temps que le port série... essaie de virer tes appels à serial....

la version que j'utilise se nomme uniquement "servo.h", je pense que ce n''est pas la version avec le timer interne (j'ai vue une version avec comme nom "servoTimmer.h), mais comment en être certain ?
Je vais tenter de supprimer tout les appel à Serial pour tester.

fabien