Pages: [1] 2   Go Down
Author Topic: programmer une pause  (Read 1060 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour
Je rencontre encore un petit problème
je ne sais pas comment faire une pause entre deux mouvements de servo
je m'explique, ici j'ai 2 mouvements de servo
Code:
 
       }
       for (position2 = 180; position2 > 75; position2 -=1)
       {
         myservo2.write(position2);
         delay(20);
         }
       for(position1 = 55; position1 < 90; position1 +=1)
       {
         myservo1.write(position1);
       
       delay(20);
       }
comment faire un pause de "delay(200);" entre
Code:
}
       for (position2 = 180; position2 > 75; position2 -=1)
       {
         myservo2.write(position2);
         delay(20);

et
Code:
for(position1 = 55; position1 < 90; position1 +=1)
       {
         myservo1.write(position1);
       
       delay(20);
merci pour votre aide
Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
je dirais que ta réponse est dans ta question smiley-wink
tu as séparé tes deux codes, ton delay(200); tu le mettrais ou?
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

j'ai essayé de fare ceci
Code:
}
       for (position2 = 180; position2 > 75; position2 -=1)
       {
         myservo2.write(position2);
         delay(20);
         }
       for(position1 = 55; position1 < 90; position1 +=1)
       {
         myservo1.write(position1);
       
       delay(20);
   
       delay(200);
 
     }
       for (position2 = 180; position2 > 75; position2 -=1)
       {
         myservo2.write(position2);
         delay(20);



   }

mais ça ne fonctionne pas
 si je remplace
delay(20);
par
delay(200);
mon servo met trop de temps à passer de la position
for(position1 = 55; position1 < 90; position1 +=1)
Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

c'est sur que si tu mets ton delay dans la boucle for ca va pas le faire  smiley-mr-green
Quote
for.......{
delay(20);
}

delay(200);

for....{
delay(20);
}
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ça ne marche pas , il n'y a pas de pause, tu n'as pas une autre solution ?
merci de m'aider c'est très gentil de me donner un peu de ton temps !
Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

delay(200) ca se voit pas beaucoup, mets 2000 pour tester.
mets ton code en entier, ca sera plus simple
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

avec 2000 ça ne marche pas non plus
Code:


else if (buttonState1 == LOW && buttonState2 == LOW && buttonState3 == HIGH)
 {
 
   for(position1 = 90; position1 < 130; position1 +=1)
 
    {
       myservo1.write(position1);
      delay(30);
    }
   for (position1 = 130; position1 > 0; position1 -=1)
    {
       myservo1.write(position1);
      delay(100);
    }
   for(position2 = 75; position2 < 180; position2 +=1)
 {
 myservo2.write(position2);
 delay(10);
}
delay(2000);
 for(position1 = 1; position1 < 90; position1 +=1)
 {
   myservo1.write(position1);
   delay(100);
   
 }
 
   
 for (position2 = 180; position2 > 75; position2 -=1)
 {
   myservo2.write(position2);
   delay(50);



 }
 }

 
}


Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

tu es certain que ton else if se déclenche?
Quote
else if (buttonState1 == LOW && buttonState2 == LOW && buttonState3 == HIGH)
mets un Serial.println("debut operation 1");
etc...
dans chaque boucle for afin de bien voir si elles se lancent.
et un Serial.println("attente 2000");delay(2000);

ca permet de debugger ton code.
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

j'ai essayé avec delay(10000); et ça marche mais il ne reste quand même pas trop longtemps en arrêt, 10 secondes environ
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

j'ai pas bien compris ce que tu m'a dis, je débute, je comprend mieux avec des exemples.
merci pour tes réponses c'est gentil !
Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

j'ai essayé avec delay(10000); et ça marche mais il ne reste quand même pas trop longtemps en arrêt, 10 secondes environ
donc tu n'as pas la notion des 2 secondes smiley-wink
si tu veux qu'il s'arrete pendant plus de temps, augmente ton delay()
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

super pour le dépannage merci beaucoup !

j'ai encore une question, les servo fonctionnent l'un après l'autre si je veux qu'ils soit en mouvement en même temps il faut les programmer comment ?
tu peux me mettre un exemple STP ?
excuse moi de t'embêter encore
Logged

Online Online
Edison Member
*
Karma: 17
Posts: 1938
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

super pour le dépannage merci beaucoup !

j'ai encore une question, les servo fonctionnent l'un après l'autre si je veux qu'ils soit en mouvement en même temps il faut les programmer comment ?
tu peux me mettre un exemple STP ?
excuse moi de t'embêter encore
de rien smiley-wink

je suis pas spécialiste des servos, mais si je me trompe pas, certains pourront le confirmer, le nono ne fait pas de multi tache, donc une tache après l'autre.
mais en faisant un test de la position du servo, je pense que l'on peut le faire.
a voir les codes sur les drivers.
Logged

Offline Offline
Jr. Member
**
Karma: 3
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

donc le servo2 ne pourra pas bouger en même temps que le servo1, c'est soit l'un ou l'autre ?
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3583
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je suis pas spécialiste des servo non mais comme la lib se sert d'un timer, elle ne doit pas être bloquante. Donc :

Code:
myservo1.write(position1)
myservo2.write(position2)

devrait faire tout tourner
Logged


Pages: [1] 2   Go Up
Jump to: