Pages: [1]   Go Down
Author Topic: Contrôler 2 servo indépendamment mais simultanemen  (Read 492 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour!
Je suis débutant avec Arduino et le code.

Je souhaite obtenir des mouvements plutôt lents et fluides avec deux servos, j'ai donc était obligé d'utiliser la fonction suivante pour chacun d'eux:

 for(pos = 0; pos < 180; pos += 1)
    {
      Servo.write(pos);
      delay(25);
     }

Mais je souhaiterais entamer le mouvement du deuxième servo alors que le premier n'a pas terminer sa course.

J'ai pensais à "séquencer" les deux mouvements avec des déplacements en microsecondes et je pourrais alors "entrelacer" les deux traitements de positions? Mais cela me paraît très fastidieux surtout que je suis vraiment débutant en code.

Donc voici ma question paradoxale:
Comment, si cela paraît envisageable,  contrôler deux servos de manière indépendante mais un même instant?

Je ne sais pas si je suis vraiment clair, Merci de votre attention!
Logged

Massongex, Suisse
Offline Offline
Full Member
***
Karma: 2
Posts: 169
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Mais je souhaiterais entamer le mouvement du deuxième servo alors que le premier n'a pas terminer sa course.
Ce n'est pas un problème spécifique à l'arduino mais un problème de programmation. Ce que tu veux, ce sont 2 compteurs indépendants l'un de l'autre. Il te faut donc 2 variables que tu peux incrémenter séparément (ou ensemble mais décalées).
Le code que tu dois écrire peut-être quelque chose comme :
Code:
position1 = 0
position2 = 90
boucle:
  moteur1 en position1
  incrémenter position1
  si position1=180, alors mettre position1 à 0
  moteur2 en position2
  incrémenter position2
  si position2=180, alors mettre position2 à 0
  attendre_le_delay
Ce code n'est pas en C (ni en rien d'autre d'ailleurs) et c'est fait exprès. L'exercice, c'est de le coder en C. Si tu as un soucis sur un point spécifique, exposes nous le problème et on t'aidera, mais on ne fera pas tout :-)
Churchill
Logged

France
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je suis entrain de travailler sur la mise en forme du code, grâce aux indices de churchill (merci pour ton aide!) et d'autre astuces que j'ai trouvé.
Je n'ai pas trop eu le temps de bosser à fond dessus, vu que je n'ai pas d'ordinateur chez moi ... :o (je suis étudiant donc je me débrouille pour avancer sur le problème et me connecter sur le forum à l'école ...)
Je donnerai des nouvelles le plus vite possible.
Logged

Pages: [1]   Go Up
Jump to: