Bonjour tout le monde, moi c'est loïc j'ai 32 ans et je fabrique des costumes "de luxe" de superhero et je me suis mis dans la tête de les motoriser ou de leur donner des séquences lumineuses .
J'ai un souci sur mon casque iron man que je souhaite motoriser, je n'ai jamais touché au arduino et bien sûr je pars sur un programme pas très simple....
Je vous joint le schéma grossié de mon installation ainsi que 2 photos de mes casques.
donc le principe reste assez simple, casque ouvert, j'appuis sur le bouton down de ma télécommande MP3 InfrRouge, le casque ce ferme et les yeux scintille 3 fois puis reste fixe.
J'appui sur UP les yeux s’éteignent et le casque s'ouvre. si j'appuis sur power pendant que le casque est fermé je peu éteindre puis rallumer les yeux.
J'ai récupéré les codes de ces 3 boutons qui sont :
UP 20BB7EE6
Down 33D1A035
power 93E08BAF
j'ai aussi un code a peu prêt bon que j'ai récupérer sur instructable mais la commande ce fait a l'aide d'un bouton et lui avait 2 servo, j'ai modifier le code pour que les pin correspondent a mon montage et j'ai supprimer le deuxième servo, en espérant e pas avoir fais de bêtise.
#include <Servo.h>
//servo 1
Servo myservo;
int val; // variable for reading the pin status
int val2; // variable for reading the delayed/debounced status
int buttonState;
int pos = 0;
int pos1 = 180;
int servostatus = 0;
int switchPin =2; // Switch connected to digital pin 2
int ledPin = 10;
int ledPin2 = 11;
void setup() // run once, when the sketch starts
{
//servo 1
myservo.attach(6);
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
buttonState = digitalRead(switchPin);
myservo.write(0);
pinMode(ledPin2, OUTPUT);
}
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?
servostatus = 1; // turn light on!
myservo.write(0);
delay(1000);
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(00);
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(00);
// fading
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
delay(30);
}
} else {
servostatus = 0; // turn light off!
digitalWrite(ledPin, LOW);
delay(15);
digitalWrite(ledPin2, LOW);
myservo.write(180);
}
}
}
buttonState = val; // save the new state in our variable
}
}
que pensez vous du code et comment rajouter mes 3 boutons svp ?
merci d'avance, loic