Go Down

Topic: modifier un code (Read 844 times) previous topic - next topic

lovelybear67

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

Voici le code complet
Code: [Select]

#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?

Code: [Select]
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°?

Code: [Select]

int angleMin = 0;
int angleMax = 180;

Code: [Select]

   if (posServo1 < angleMax)
     posServo1++;
   if(posServo2 > angleMin )
     posServo2--;


merci pour votre aide

infobarquee

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 ;)

lovelybear67

#2
Jan 29, 2013, 11:39 am Last Edit: Jan 29, 2013, 01:32 pm by lovelybear67 Reason: 1
oui mais je l'ai refait pour qu'il soit plus clair , je n'ai pas pu supprimer l'autre !

lovelybear67

#3
Jan 29, 2013, 01:31 pm Last Edit: Jan 29, 2013, 01:33 pm by lovelybear67 Reason: 1
J'ai essayé de faire les changements mais j'ai des erreurs je n'arrive pas à les trouver, vous pouvez m'aider ?
merci

Code: [Select]
#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);
    }
   
}


infobarquee

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

john_lenfr

Quote
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

B@tto

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 !!
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

lovelybear67

merci c'est gentil je vais rectifier !

fdufnews

#8
Jan 29, 2013, 09:54 pm Last Edit: Jan 29, 2013, 09:57 pm by fdufnews Reason: 1
Quote
Ici le servo va de 0° à 180°
Comment je dois faire si je veux qu'il passe de 45° à 90°?

Code: [Select]
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......

ludobabs

#9
Jan 29, 2013, 10:37 pm Last Edit: Jan 29, 2013, 10:42 pm by ludobabs Reason: 1
Quote
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

Code: [Select]
int angleMin = 45;
int angleMax = 90;

lovelybear67

merci pour vos reponses

Go Up