modifier un code

Bonjour
J'ai ce code mais je ne sais pas comment le transformer.

Voici le code complet

#include <Servo.h>

Servo myservo1;
Servo myservo2;

int posServo1 = 0;
int posServo2 = 0;

const int buttonPin1 = 2;
const int buttonPin2 = 4;


int buttonState1 = 0;
int buttonState2 = 0;

int angleMin = 0;
int angleMax = 180;

void setup()
{
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
myservo1.attach(9);
myservo2.attach(7);
}

void loop()
{
 buttonState1 = digitalRead(buttonPin1);
 buttonState2 = digitalRead(buttonPin2);

 if (buttonState1 == HIGH && buttonState2 == LOW)
 {
   if (posServo1 < angleMax)
     posServo1++;
   if(posServo2 > angleMin )
     posServo2--;
 }
 else if (buttonState1 == LOW && buttonState2 == HIGH)
 {
   if (posServo1 > angleMin )
     posServo1--;
   if (posServo2 < angleMax)
     posServo2++;
 }

  myservo1.write(posServo1);
  myservo2.write(posServo2);
  delay(1);
 
}

Sur ce code lorsque j'appuie sur le bouton le servo 1 et le servo 2 font un seul mouvement
qu'est ce qu'il faut rajouter comme code pour que les servos reviennent leurs positions initiales sans rappuyer sur le bouton?

else if (buttonState1 == LOW && buttonState2 == HIGH)
 {
   if (posServo1 > angleMin )
     posServo1--;
   if (posServo2 < angleMax)
     posServo2++;

Ici le servo va de 0° à 180°
Comment je dois faire si je veux qu'il passe de 45° à 90°?

int angleMin = 0;
int angleMax = 180;
   if (posServo1 < angleMax)
     posServo1++;
   if(posServo2 > angleMin )
     posServo2--;

merci pour votre aide

bonjour,
je voudrais pas faire mon méchant, mais ca ne serait pas le même problème que tu as déjà posé ici?
http://arduino.cc/forum/index.php/topic,145470.0.html

un seul post devrait suffir :wink:

oui mais je l'ai refait pour qu'il soit plus clair , je n'ai pas pu supprimer l'autre !

J'ai essayé de faire les changements mais j'ai des erreurs je n'arrive pas à les trouver, vous pouvez m'aider ?
merci

#include <Servo.h>

Servo myservo1;
Servo myservo2;

int posServo1 = 0;
int posServo2 = 0;

const int buttonPin1 = 2;
const int buttonPin2 = 4;


int buttonState1 = 0;
int buttonState2 = 0;

int angleMin = 0;
int angleMax = 180;

void setup()
{
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
myservo1.attach(9);
myservo2.attach(7);
}

void loop()
{
 buttonState1 = digitalRead(buttonPin1);
 buttonState2 = digitalRead(buttonPin2);

 if (buttonState1 == HIGH && buttonState2 == LOW)
 {
   for(posServo1 = 1; posServo1  = 180; posServo1 +=1)
 }

    {
   for (posServo1 = 180; posServo1  = 1; posServo1 -=1)
    {
      
      myservo1.write(posServo1);
      delay(15);
    }

 else if (buttonState1 == LOW && buttonState2 == HIGH)
 {
   for(posServo2 = 1; posServo2  = 180; posServo2 +=1)
 }  
    
 {
      for (posServo2 = 180; posServo2 > = 1; posServo2 -=1)
    {
      
      myservo2.write(posServo2);
      delay(15);
    }
   
 }

sans les erreurs ca risque d'être dur de répondre

new.cpp: In function 'void loop()':
new:34: error: expected primary-expression before '}' token
new:34: error: expected ;' before '}' token new:44: error: 'else' without a previous 'if' new:47: error: expected primary-expression before '}' token new:47: error: expected ;' before '}' token
new:50: error: expected primary-expression before '=' token
new:57: error: expected }' at end of input new:57: error: expected }' at end of input

Bah ligne 34 et 47 il manque des ";" ligne 44 tu t'es trompé de sens pour l'accolade, aux autres ligne il manque des accolades. Suffit de lire !!

merci c'est gentil je vais rectifier !

Ici le servo va de 0° à 180°
Comment je dois faire si je veux qu'il passe de 45° à 90°?

int angleMin = 0;

int angleMax = 180;

Hé, sans déconner, tu réfléchis avant de poser tes questions?

quand il va de 0° à 180°, angleMin vaut 0 et angleMax vaut 180
si je veux aller de 45° à 90° qu'est-ce que je pourrais bien mettre......

quand il va de 0° à 180°, angleMin vaut 0 et angleMax vaut 180
si je veux aller de 45° à 90° qu'est-ce que je pourrais bien mettre......

lol x 1000

essaie

int angleMin = 45;
int angleMax = 90;

merci pour vos reponses