Go Down

Topic: ... (Read 683 times) previous topic - next topic

Jan 28, 2013, 05:57 pm Last Edit: Jan 29, 2013, 11:37 am by lovelybear67 Reason: 1
Bonjour
Je suis novice.
sur le programme j'ai 2 servos et 2boutons.
par exemple
lorsque j'appuie sur le bouton1 le servomoteur1 passe de la position 0° à la position 180° et je dois appuyer sur le bouton2 pour que le servo revienne à la position initiale c'est à dire de 180° à 0°
j'aimerai que lorsque j'appuie sur le bouton1 le servo1 passe de la position 0 à 180 et revienne à sa position initiale et que
lorsque j'appuie sur le bouton2 le servo1 passe de 0° à 90°

j'aimerai aussi pour le servo2 que sa position initial soit de 90° et que lorsque j'appuie sur le bouton1 il passe de 90° à  45° et qu'il revienne à sa position initial et que
lorsque j'appuie sur le bouton2, il passe de la position 90° à 135° et qu'il reste à 135°
je vous met le code
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);

}





















Je vous remercie beaucoup pour votre aide !

bonsoir
Pourriez vous m'aider SVP ? je ne demande pas qu'on me fasse le programme mais un tutos ou des explications avec des exemples pour que je puisse faire mon petit programme.
merci d'avance

Jean-François

Déjà change de titre par un titre plus évoquateur... "à l'aide" c'est pas vendeur  XD
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

B@tto

En plus y'a pas de question de posée ! On ne sait pas ce qui marche pas, où tu bloques ...
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

infobarquee

bonjour,
déjà y a comme un blem dans ce que tu dis
Quote
lorsque j'appuie sur le bouton1 le servomoteur1 passe de la position 0° à la position 180° et je dois appuyer sur le bouton2 pour que le servo revienne à la position initiale c'est à dire de 180° à 0°
j'aimerai que lorsque j'appuie sur le bouton1 le servo1 passe de la position 0 à 180 et revienne à sa position initiale et que
lorsque j'appuie sur le bouton2 le servo1 passe de 0° à 90°


pas très logique tout ca :)
soit il va a 180 et bouge plus soit il va à 180 et revient à 0, mais pas 2 possibilités sans mettre quelque chose qui lui dise de faire ta demande.
a part mettre un compteur d'appuie, ca ne fonctionnera pas ;)

donc repose ta question un peu mieux et pose un diagramme pour les opérations que tu veux faire, ca ira de suite mieux pour tout le monde.

Go Up