Pages: [1]   Go Down
Author Topic: modifier un code  (Read 786 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Voici le code complet
Code:
#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:
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:
int angleMin = 0;
int angleMax = 180;
Code:
   if (posServo1 < angleMax)
     posServo1++;
   if(posServo2 > angleMin )
     posServo2--;

merci pour votre aide
Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1991
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oui mais je l'ai refait pour qu'il soit plus clair , je n'ai pas pu supprimer l'autre !
« Last Edit: January 29, 2013, 07:32:01 am by lovelybear67 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
#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);
    }
   
 }
« Last Edit: January 29, 2013, 07:33:56 am by lovelybear67 » Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1991
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
God Member
*****
Karma: 12
Posts: 920
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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

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 !!
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci c'est gentil je vais rectifier !
Logged

France
Offline Offline
Faraday Member
**
Karma: 40
Posts: 3634
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
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......
« Last Edit: January 29, 2013, 03:57:26 pm by fdufnews » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 39
Ardui-Novice
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
int angleMin = 45;
int angleMax = 90;
« Last Edit: January 29, 2013, 04:42:48 pm by ludobabs » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci pour vos reponses
Logged

Pages: [1]   Go Up
Jump to: