yannisa974 quand on veut on peut ! | Bon, j'ai passé la nuit dessus et au final, il y a du mieux, voici le nouveau programme:
Code :
- #include <Servo.h>
- //servo 1
- Servo myservo;
- Servo myservo1;
- int val; // variable for reading the pin status
- int val2; // variable for reading the delayed/debounced status
- int buttonState;
- int pos = 0;
- int pos2 = 0;
- int servostatus = 0;
- int switchPin =2; // Switch connected to digital pin 2
- int ledPin = 8;
- int ledPin3 = 6;
- int ledPin2 = 7;
- void setup() // run once, when the sketch starts
- {
- //servo 1
- myservo.attach(5);
- myservo1.attach(4);
- pinMode(switchPin, INPUT);
- pinMode(ledPin2,OUTPUT);
- pinMode(ledPin, OUTPUT);
- pinMode(ledPin3, OUTPUT);
- buttonState = digitalRead(switchPin);
- myservo.write(10);
- myservo1.write(10);
- }
- void loop() // run over and over again
- //servo 1
- {
- val = digitalRead(switchPin); // read input value and store it in val
- delay(10); // 10 milliseconds is a good amount of time
- val2 = digitalRead(switchPin); // read the input again to check for bounces
- if (val == val2) { // make sure we got 2 consistant readings!
- if (val != buttonState) { // the button state has changed!
- if (val == LOW) { // check if the button is pressed
- if (servostatus == 0) { // is the light off?
- for(pos = 10; pos < 160; pos += 1)
- {
- servostatus = 1; // turn light on!
- myservo.write(pos);
- myservo1.write(pos);
- delay(10);
- }
- digitalWrite(ledPin2,HIGH);
- digitalWrite(ledPin, HIGH);
- digitalWrite(ledPin3, HIGH);
- delay(50);
- digitalWrite(ledPin2,LOW);
- digitalWrite(ledPin, LOW);
- digitalWrite(ledPin3, LOW);
- delay(00);
- digitalWrite(ledPin2,HIGH);
- digitalWrite(ledPin, HIGH);
- digitalWrite(ledPin3, HIGH);
- delay(50);
- digitalWrite(ledPin2,LOW);
- digitalWrite(ledPin, LOW);
- digitalWrite(ledPin3, LOW);
- delay(00);// fading
- for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {// sets the value (range from 0 to 255):
- analogWrite(ledPin, fadeValue);
- analogWrite(ledPin2, fadeValue);
- analogWrite(ledPin3, fadeValue);
- delay(30);
- }
- } else {
- servostatus = 0; // turn light off!
- for(pos2 = 160; pos > 10; pos -=1)
- myservo.write(pos2);
- myservo1.write(pos2);
- delay(10);
- digitalWrite(ledPin, LOW);
- digitalWrite(ledPin3, LOW);
- digitalWrite(ledPin2, LOW);
- delay(15);
- }
- }
- buttonState = val; // save the new state in our variable
- }
- }
- }
|
Alors maintenant les servos marchent, mais ils viennent à 10° puis vont à leurs positions initials soit 160°,
mais quand je r'appuis sur le bouton les leds s'éteignent mais les servos ne bougent pas, si je r'appuis pour r'allumer les servos reviennent à 10° et ensuite se placent à 160°...
En appuyant sur le bouton pour la fonction "OFF" , quand mes leds s'éteignent mes servos doivent se mettre à 10°, ou est mon erreur ???
Se projet est pour un casque iron man pour mon fils le casque est déjà fait manque plus que l'électronique et une paire de verres solaire. Message édité par yannisa974 le 18-11-2013 à 23:00:04
|