Aller au contenu


Contenu de Yann et Isa

Il y a 16 élément(s) pour Yann et Isa (recherche limitée depuis 22-avril 13)


#61101 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 juillet 2014 - 10:52 dans Programmation

merçi pour ta réponse , mais j'ai du nouveau, j'ai acheté une batterie 6V 2500mha en plus, les anciennes faisaient 6V 700mha , j'ai tout d'abord connecté la plus faible pour alimenter l'arduino et la plus puissante pour les servos, et la miracle sa fonctionne , le temps de remonter le masque du casque je refais un essai et la sa a marché 3X et puis des bugs sont survenus du coup j'ai mis les batteries en charges, autre chose j'ai toujours se bruit des servos "bzzzzzz" que j'aimerai supprimer car quand ont a la tête dedans c'est horrible et a part monter un interrupteur je vois pas quoi faire et puis l'inconvénient sa va compliqué la manip...



#61049 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 12 juillet 2014 - 04:06 dans Programmation

salut, j'ai déjà fais le test et meme soucis, du coup j'ai essayé avec les anciens servo qui marchaient très bien avant et meme soucis... se pourrait t'il que l'arduino est prit une claque ? Si c'est le cas comment le tester, et puis-je garder se programe avec des servos a course continus ???



#61041 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 10 juillet 2014 - 02:29 dans Programmation

en faite je pense que d'inverser les fils dans le servo le perturbe car si je branche juste le servo qui n'as pas été retouché sa fonctionne...de temps en temps, c'est aléatoire et pas fiable.

Ou c'est l'arduino qui a prit une claque! :dash2:/> :unsure:/>



#61040 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 10 juillet 2014 - 01:58 dans Programmation

Re bonjour à tous , j'ai eu beaucoup de choses à faire ses derniers mois et je ne trouvais plus le forum, mais enfin j'ai remis la main dessus...

Bref, depuis j'ai fini les parties mécanique (que j'ai repris a zéro) , la finition , la peinture, les leds et verres solaire avec un film en carbone blanc, mais... j'ai rencontrer un gros problème, la fiabilité des servomoteurs de départ, je les ais donc remplaçer par des pro tronik 7495mg-d qui sont a engrenage acier et roulements à billes avec un couple plus important, ses servomoteurs sont a course continus et bizarrement ils marche avec le servo tester mais pas avec l'arduino , ils saccadent et mettent l'arduino en défauts...

cela fait plusieurs semaines que je cherche et à priori il faudrait un code en PWM... cela complique tout à nouveau

Je ne sais plus quoi faire , je veux juste finir se casque c'est tout , hors de question de faire l'armure complète c'est trop de travail et d'investissement

vidéo du casque

désolé pour la qualitée de la vidéo je l'ais faites pour montrer a des amis sur facebook



#58451 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 22 novembre 2013 - 12:43 dans Programmation

pour le code book pas grave j'ai eu une partie quand meme :drinks:/>



#58450 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 22 novembre 2013 - 12:39 dans Programmation

merci mais c'est pas fini, pour que ça fonctionne il faut que les servos soyvent synchro et pour cela que faire ? programmer deux lignes "for" genre :

for(pos = 40; pos < 160; pos += 1)
                                        {
                                                servostatus = 1; // turn light on!

                                                myservoR.write(pos);
                                                delay(10);
                                        }
                                        for(pos = 20; pos < 160; pos += 1)
                                        {
                                          myservoL.write(pos);
                                          delay(10);
                                        }

Non cela fait bouger un servomoteur après l'autre, il me faut des positions décalées genre :

myservoR 20°>160°
myservoL 40°>160°

Alors poussons le truc plus loin, comment faire ça ? :tatice_03:/>/>



#58442 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 21 novembre 2013 - 12:16 dans Programmation

C'est bon, j'ai réussi !!! :Koshechka_08:

en relisant et grace aussi à un ami qui voulait (du coup il trouve ça trop dur) se mettre à l'arduino.

J'ai suivi tous vos conseils, j'avoue, c'était le bordel dans ma tete , et le lien de téléchargement de codec de Titymoby à fait paniqué Avast du coup j'ai éteint mon pc et j'ai repris hier à tete reposé, et la "pos3" je l'ais supprimer et j'ai replacer mes parenthèses ...

#include <Servo.h>
//servo 1
Servo myservoR;
Servo myservoL;
int val; // variable for reading the pin status
int val2; // variable for reading the delayed/debounced status
int buttonState;
int pos = 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
        myservoR.attach(5);
        myservoL.attach(4);
        pinMode(switchPin, INPUT);
        pinMode(ledPin2,OUTPUT);
        pinMode(ledPin, OUTPUT);
        pinMode(ledPin3, OUTPUT);
        buttonState = digitalRead(switchPin);
        myservoR.write(30);
        myservoL.write(30);
}

void loop() // run over and over again
{
        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 = 30; pos < 160; pos += 1)
                                        {
                                                servostatus = 1; // turn light on!

                                                myservoR.write(pos);
                                                myservoL.write(pos);
                                                delay(10);
                                        }
                                        
                                        digitalWrite(ledPin2,HIGH);
                                        digitalWrite(ledPin, HIGH);
                                        digitalWrite(ledPin3, HIGH);
                                        delay(1);
                                        digitalWrite(ledPin2,LOW);
                                        digitalWrite(ledPin, LOW);
                                        digitalWrite(ledPin3, LOW);
                                        digitalWrite(ledPin2,HIGH);
                                        digitalWrite(ledPin, HIGH);
                                        digitalWrite(ledPin3, HIGH);
                                        delay(500);
                                        digitalWrite(ledPin2,LOW);
                                        digitalWrite(ledPin, LOW);
                                        digitalWrite(ledPin3, LOW);
                                        // 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(50);
                                        }
                                } else {
                                        servostatus = 0; // turn light off!
                                        for(pos = 160; pos > 30; pos -=1) 
                                        {
                                                myservoR.write(pos);
                                                myservoL.write(pos);
                                                delay(10);
                                                digitalWrite(ledPin, LOW);
                                                digitalWrite(ledPin3, LOW);
                                                digitalWrite(ledPin2, LOW);
                                                
                                        }

                                }
                        }
                        buttonState = val; // save the new state in our variable
                }
        }
}

et la , enfin ça marche , j'y croyais plus, maintenant j'ai juste un petit souci de réglage ,pour une histoire d'esthétique et de symétrie, sur une des 2 servomoteurs j'ai inverser les poles (interne avec les conseils d'un revendeur modéliste) et là, j'ai un léger décalage quand ils vont au point 30° .

Donc, je pensais faire une ligne "for" pour un servo et une autre pour le second servo...
Je vais prendre des photos de tout ca .

ENCORE MERCI A TOUS POUR VOTRE AIDE !!!



#58435 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 19 novembre 2013 - 11:16 dans Programmation

déjà merci, ensuite pour titimoby et R1D1 , vous parlez du dernier programe tapé ? c'était juste mon idée de départ, histoire de montrer si je vais dans la bonne voie le vrai prog actuel c'est celui plus haut avec les "Val", pour moi en ayant justement repiqué sur celui de Devilflash, je pensais l'injecter dans la carte et continuer le reste de l'armure qui est déjà un travail énorme , sans compter que la mon fils n'as que 8 ans
et qu'il grandit , donc entre le moment ou je commence et celui ou je vais finir, je veux qu'il puisse le mettre, mon but n'ais pas de devenir programmeur loin de la c'est mon premier projet et la j'aimerai juste que ça marche...

A la base j'ai reçu ça de Devilflash:

#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 = 5;
int pos1 = 165;
int servostatus = 0;
int switchPin =2; // Switch connected to digital pin 2
int ledPin = 5;
int ledPin3 = 6;
int ledPin2 = 18;
void setup() // run once, when the sketch starts
{
//servo 1
myservo.attach(9);
myservo1.attach(10);
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin3, OUTPUT);
buttonState = digitalRead(switchPin);
myservo.write(5);
myservo1.write(165);
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(5);
myservo1.write(165);
delay(1000);
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin3, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin3, LOW);
delay(00);
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin3, HIGH);
delay(50);
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(ledPin3, fadeValue);
delay(30);
}
} else {
servostatus = 0; // turn light off!
digitalWrite(ledPin, LOW);
digitalWrite(ledPin3, LOW);
delay(15);
digitalWrite(ledPin2, LOW);
myservo.write(165);
myservo1.write(5);
}
}
}
buttonState = val; // save the new state in our variable
}
}

le liens vers ça vidéo :

http://www.youtube.com/watch?feature=player_detailpage&v=gXJqar_3tLM

Et ça marche chez lui , alors pourquoi chez moi ca marche pas ?

PS: mon cablage est correct, en informatique je débute mais en électricité je touche, je suis dans l'automobile et ont voie des pannes de folie croyez moi !



#58429 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 19 novembre 2013 - 03:35 dans Programmation

ok , je rentre du taf après avoir cherché une panne électrique sur une rena... et j'ai trouvé, alors y a pas de raison que je trouve pas se satané code, y a t'il des personnes dispo le soir ici car la je dois encore aller voir une cliente et je n'aurai le temps que se soir ?

PS: merci à vous tous, mais je vous avoue que je pensais que vous me referiez le code correctement voir meme carrément autrement, d'ailleurs j'ai vu trop compliqué ou il y avait possibilité de faire plus simple car au départ je voyais plutot ça :

#include <Servo.h>
//servo 1
Servo myservoR;
Servo myservoL;
const int buttonPin = 2;
const int pos = 0;
const int pos2 = 0;
const int ledPin1 = 8;
const int ledPin2 = 6;
const int ledPin3 = 7;
int buttonState = 0;

void setup() // run once, when the sketch starts
{
  //servo 1
  myservoR.attach(5);
  myservoL.attach(4);
  pinMode(buttonPIN, INPUT);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  for(pos2 = 160; pos > 10; pos -=1)
  myservoR.write(pos2);
  myservoL.write(pos2);
}
void loop() // run over and over again
//servo 1

      buttonState = digitalRead (buttonPin);
      if (buttonState == HIGH) {
          for(pos = 10; pos < 160; pos += 1)
          myservoR.write(pos);
          myservoL.write(pos);
          delay(10);
          digitalWrite(ledPin1, HIGH);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, HIGH);
          delay(50);
          digitalWrite(ledPin1, LOW);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, LOW);
          delay(00);
          digitalWrite(ledPin1, HIGH);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, HIGH);
          delay(50);
          digitalWrite(ledPin1, LOW);
          digitalWrite(ledPin2, LOW);
          digitalWrite(ledPin3, LOW);
          delay(00);// fading
          for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=2) {// sets the value (range from 0 to 255):
          analogWrite(ledPin1, fadeValue);
          analogWrite(ledPin2, fadeValue);
          analogWrite(ledPin3, fadeValue);
          delay(30);
        } 
         else {
          digitalWrite(ledPin1, LOW);
          digitalWrite(ledPin2, LOW);
          digitalWrite(ledPin3, LOW);
          delay(15);
          for(pos2 = 160; pos > 10; pos -=1)
          myservoR.write(pos2);
          myservoL.write(pos2);
          delay(10);
        }
      } 
      

Bon ça marche pas non plus , mais s'était une idée.



#58425 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 19 novembre 2013 - 12:03 dans Programmation

j'essaie de comprendre les sérialprint mais, c'est trop pour moi la...



#58423 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 novembre 2013 - 11:27 dans Programmation

hum... ok, je vois pas comment servostatus = 1 est répété et si je dois le sortir de la boucle ou le mettre ? les delay (00) je vais les supprimer , ça s'est bon , mais les serial print la je capte plus, sincèreement je pensais que se serait plus simple et comme dit je suis novice et un mécanicien sur un pc si c'est pas pour une voiture c'est moins évident pour moi,
ça va faire une semaine que je galère la dessus pour mon fils et la j'arrive plus tout seul.

Est ce que l'un d'entre vous pourrez me le modifier s'ils vous plaient ?



#58419 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 novembre 2013 - 10:35 dans Programmation

meme avec les parenthèses j'ai la meme réaction qu'avec mon programme de départ :
les servomoteurs viennent à 10° puis vont à 160° les leds s'allument, et quand j'appuis à nouveau les leds s'éteignent et les servomoteurs reste à 160°...
En gros le masque s'ouvre mais se referme de suite.

Je ne suis pas un pro mais j'ai beau lire et relire ... ça me semble juste, est ce à cause la marque sainsmart ? je ne sais pas se que ça vaut je ne trouve aucuns renseignement sur les arduino de cette marque.



#58418 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 novembre 2013 - 10:25 dans Programmation

bon, j'ai fais un copié collé de ta version Black tempar ( PS comme nom j'ai failli mettre Ichigo lol) et j'ai toujours le meme résultat que au dépard, je vous rappel juste que je suis novice et que mon arduino est un sainsmart uno c 'est pas tout à fait pareil du moins visuellement.



#58417 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 novembre 2013 - 10:16 dans Programmation

tout d'abord merçi de m'avoir répondu , j'ai refais le progr de se que j'ai compris,
voilà :

#include <Servo.h>
//servo 1
Servo myservoR;
Servo myservoL;
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 ledPin1 = 8;
int ledPin2 = 6;
int ledPin3 = 7;
void setup() // run once, when the sketch starts
{
  //servo 1
  myservoR.attach(5);
  myservoL.attach(4);
  pinMode(switchPin, INPUT);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  buttonState = digitalRead(switchPin);
  myservoR.write(0);
  myservoL.write(0);
}
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!  
            for(pos = 10; pos < 160; pos += 1)
            myservoR.write(pos);
            myservoL.write(pos);
            delay(10);
          }
          digitalWrite(ledPin1, HIGH);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, HIGH);
          delay(50);
          digitalWrite(ledPin1, LOW);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, LOW);
          delay(00);
          digitalWrite(ledPin1, HIGH);
          digitalWrite(ledPin2, HIGH);
          digitalWrite(ledPin3, HIGH);
          delay(50);
          digitalWrite(ledPin1, LOW);
          digitalWrite(ledPin2, LOW);
          digitalWrite(ledPin3, LOW);
          delay(00);// fading
          for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=2) {// sets the value (range from 0 to 255):
          analogWrite(ledPin1, fadeValue);
          analogWrite(ledPin2, fadeValue);
          analogWrite(ledPin3, fadeValue);
          delay(30);

          }
        } 
         else {
          servostatus = 0; // turn light off!  
          { for(pos2 = 160; pos > 10; pos -=1)
            myservoR.write(pos2);
            myservoL.write(pos2);
            delay(10);       
          digitalWrite(ledPin1, LOW);   
          digitalWrite(ledPin2, LOW);
          digitalWrite(ledPin3, LOW);
          delay(15);
          }
        }
      } 
      buttonState = val; // save the new state in our variable
     }
    }
  }
Ca ne marche toujours pas, meme pire mes servos ne bougent plus, je nage la :Alvarin_07:/>



#58412 arduino SainSmart Uno pour casque Iron Man

Posté par Yann et Isa sur 18 novembre 2013 - 02:42 dans Programmation

Bonjour à tous !

J'ai commençé un projet de casque iron man pour mon fils, le casque est fini je suis sur la partie électronique et la je rencontre un petit problème, j'ai passé des nuits entières sur se programme.

Le but:
-une pression sur le bouton poussoir et les servomoteurs doivent passer de la position 10° à 160°
et les leds s'allume en fading.
-une seconde pression sur le bouton et les leds s'éteignent et les servomoteurs passent de 160° à 10°.

C'est assez simple en gros, sauf que, quand j'appuis les servos font un allé retour les leds s'allument
et si j'appuis pour la fonction "OFF" les leds s'éteignent et les moteurs ne bougent pas, si je l'allume
à nouveau les servomoteurs refont un allé et retour (de 160° à 10° puis retourne à 160°).

Je suis novice j'ai fais un mix de tout se que j'ai pu voir sur le net mais il faut pas oublier que se
n'est pas un arduino de la marque italienne mais un SainSmart UNO !!!

Je n'ai pas réussi à faire fonctionner les servomoteurs avec des appels (myservo.write(160))...

Voici le prog en question:

#include <Servo.h>
//servo 1
Servo myservoR;
Servo myservoL;
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
myservoR.attach(5);
myservoL.attach(4);
pinMode(switchPin, INPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin3, OUTPUT);
buttonState = digitalRead(switchPin);
myservoR.write(10);
myservoL.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!

myservoR.write(pos);
myservoL.write(pos);
delay(10);

}
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin3, HIGH);
delay(500);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin3, LOW);
delay(00);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin3, HIGH);
delay(500);
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(50);

}
} else {
{
servostatus = 0; // turn light off!
for(pos2 = 160; pos > 10; pos -=1)
myservoR.write(pos2);
myservoL.write(pos2);
delay(10);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, LOW);
delay(15);
}


}
}
buttonState = val; // save the new state in our variable

}
}
}

Voilà en espérant que quelqu'un vera mon appel à l'aide, d'avance merci !
:Koshechka_08:/>



#58411 Je me présente Tony Stark lol

Posté par Yann et Isa sur 18 novembre 2013 - 02:22 dans Et si vous vous présentiez?

Bonjour à tous , je me présente , Yann et non pas Mr Stark , je suis un papa de 33 ans, marié et 3 enfants,
mécanicien auto de métier qui bidouille un peu tout et n'importe quoi, je suis ici pour aboutir dans mes délires.

Je vais de ce pas préparer mon premier sujet !

Merci à tous