Aller au contenu


Contenu de VincentB

Il y a 50 élément(s) pour VincentB (recherche limitée depuis 13-juin 13)



#37370 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 02:13 dans Modélisme et modèles réduits

pppfffff bon je crois avoir detecter mon problème ton dernier code ne marchant toujours pas, je reessayais avec des servos futaba standard 3003 et là ça marche, alors que je faisais les derniers essais avec des servos apparement digitaux et avec eux ça ne marche pas, (ces mini http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=6608 )par contre avec ces servos digitaux, les premiers codes que j'utilisais du type for(pos = 0; pos < 180; pos += 1) { myservo.write(pos); delay(15); là ça marchait
donc je vais retester avec tes premiers codes de ce matin et mes servos standard futaba

et dans mon pilote, il y a justement 1 servo mini digital et 2 autres vieux mini normaux, on va y arriver



#37372 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 02:35 dans Modélisme et modèles réduits

j'alimente le bornier bleue avec une nimh 6v 2700mah, là j'ai testé avec une LIFE A123 2S 2300mah, toutes les 2 chargées, j'ai le même problème avec les mini servos digitaux et ton dernier code, mais pas de soucis avec les servo standards futaba
par contre j'ai retesté tes 2 premiers codes de ce matin (dont le 1er avec le code telecommande) mais là ça ne marche pas
j'ai testé aussi en alimentant la carte avec l'usb et aussi avec du 12v sur la Jack avec un accu lipo 3S 2000mah
donc niveau batterie je ne pense pas qu'il y ait un soucis, d'autant que j'utilise ce type de batterie dans mes planeurs avec beaucoup plus de servos



#37365 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 11:44 dans Modélisme et modèles réduits

Petite vérification, vos servos sont des servos 0° vers 90° ou -45° 0 45°?

aucune idée, ce sont des servo pour moi dit standards que j'utilise en modelisme, a la main on arrive a les faire bouger de butée a butée sur 180°, en général sur les catalogues ils sont donnés pour des courses de -/+60°



#37360 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 10:54 dans Modélisme et modèles réduits

désolé, ça ne marche pas plus, mais en plus de temps en temps j'ai le servo bras qui se leve, mais ne revient pas, puis délai et servo tete qui ne bouge qu'une fois d'un côté et rien d'autre, mais toujours pas de machoir qui marche
mais presque a chaque remise en marche, comme sur la video tu verras que ça envoie direct les 2 servo bras et tete et rien d'autre
http://www.retroplane.net/data/test1.wmv
j'ai verifié et revérifié les branchement, tu penses que si j'utilises la même version du soft d'arduino que toi ça changera?



#37358 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 10:08 dans Modélisme et modèles réduits

je viens de me rendre compte d'une chose, je travaille avec la version du logiciel d'arduino francisée 0018, ton code passe bien la verification et c'est avec cette version que j'upload la carte
mais si je colle ton code dans la version anglaise d'arduino 1.0 là, la verification de code donne des erreurs



#37374 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 02:50 dans Modélisme et modèles réduits

e viens de retester avec juste ton code pour 1 servo
#include <Servo.h> 

Servo bras;  
 
void setup() 
{ 
  bras.attach(3); 

} 
 
void loop() { 
   bras.write(0);             
   delay(1000); 
    bras.write(180);            
     delay(1000); 
     
}

et les servo standards futaba marchent bien, alors que les mini numeriques ne marchent pas



#37416 Animation pilote dans une maquette

Posté par VincentB sur 29 décembre 2011 - 10:14 dans Modélisme et modèles réduits

Bonjour tout le monde,
Sur des sites, j'ai cru comprendre que un bouton poussoir se montait comme ça?
Image IPB
(jai soudé une resistance de 10k)
mais vous pouvez me confirmer que c'est bon? j'ai toujours peur de crâmer la carte en faisant des choses au pif
et pour remplacer le recepteur IR de la télécommande, je branche aussi mon bouton poussoir sur la pin 11?
si vous pouviez m'aider a remplacer le code de la telecommande (qui est 3 messages plus haut) pour actionner l'animation par ce bouton poussoir plutot que par la telecommande, merci :)



#37673 Animation pilote dans une maquette

Posté par VincentB sur 06 janvier 2012 - 06:17 dans Modélisme et modèles réduits

des commandes directes

et c'est quoi? on ne met plus loop?


Soit tu mets dans la boucle les commandes pour plusieurs servos.

c'est ce que je pensais avoir fait, mais je n'y arrive pas, je suppose que ça vient des parentheses mal placées? mais ça fait 2 jours que j'essaye des centaines de fois sans y arriver, donc là je peux pas faire plus, tant pis je sens que je vais abandonner :(



#37651 Animation pilote dans une maquette

Posté par VincentB sur 05 janvier 2012 - 05:17 dans Modélisme et modèles réduits

Bonjour tout le monde,
après avoir fait mon animation, je me rend compte que pour le réalisme, il faudrait que j'ai des petits mouvements de tête en même temps que mon pilote parle, et mouvements de tête en même temps que le bras bouge. Pour l'instant la programmation était faite en sorte d'avoir chaque servo qui marche les uns après les autres
ça fait 2 jours que je m'arrache les cheveux pour trouver le bon code, mais impossible d'y arriver, je sens que je vais tout abandonner :(
je vous mets ci dessous le code que j'ai cru comprendre qu'il faille faire, mais en fait ça lance le servo tete en boucle et rien d'autre se passe, alors que je pensais que ça aurait fait bouger la tête en même temps que le bras. J'avais presque reussit un autre code, mais là les delay n'étaient pas pris en compte, je ne sais pourquoi, donc les servo partaient à toute vitesse
j'espère que vous aller pouvoir m'aider et me donner le bon code, par exemple tout au début, pour faire bouger la tête en même temps que le bras, merci, je craaaque, snifff
#include <Servo.h>  


Servo bras;   
Servo tete; 
Servo machoire;  
int bra = 0; 
int tet = 0;  
int mache = 0;
int bouton = 2;

void setup() 
{ 
  bras.attach(3); 
  tete.attach(5); 
  machoire.attach(6); 

  Serial.begin(9600); 
  pinMode(bouton, INPUT);


} 

void loop() { 

  if (digitalRead(bouton) == HIGH)

  { 
    delay(2000); //pause avant demarrage


    for(bra = 90; bra>=50; bra-=1)  
    {
      bras.write(bra);                
      delay(30); 

      for(tet = 90; tet>=70; tet-=1) 
      {
        tete.write(tet);                
        delay(30);
      } 


    }  

    delay(4000);

    for(bra = 50; bra < 90; bra += 1)  
    {                                
      bras.write(bra);              
      delay(20);  

    } 

    delay(100); 

    for(tet = 90; tet < 130; tet += 1)  
    {                                
      tete.write(tet);              
      delay(15);                        

    }

    for(tet = 130; tet>=50; tet-=1)     
    {                                 
      tete.write(tet);                
      delay(15);

    }  

    delay(100);  

    for(tet = 50; tet < 110; tet += 1)  
    {                                
      tete.write(tet);              
      delay(20);                        

    }

    delay(300);    

    int compteur = 0; 
    while (compteur < 6) 
    { 

      for(mache = 90; mache < 120; mache += 1)


      {                                   
        machoire.write(mache);              
        delay(4); 

      }  
      for(mache = 120; mache>=90; mache-=1) 

      {                                 
        machoire.write(mache);               
        delay(4);

      } 
      compteur++;

    }    

    { 
      delay(500);


      int compteur = 0; 
      while (compteur < 5) 
      { 

        for(mache = 90; mache < 120; mache += 1)   
        {                                   
          machoire.write(mache);              
          delay(3);                       
        }  
        for(mache = 120; mache>=90; mache-=1)      
        {                                 
          machoire.write(mache);               
          delay(3);                     
        }   

        compteur++;

      }    

      { 
        delay(500);

        int compteur = 0; 
        while (compteur < 15) 
        { 

          for(mache = 90; mache < 120; mache += 1)   
          {                                   
            machoire.write(mache);              
            delay(3);                       
          }  
          for(mache = 120; mache>=90; mache-=1)      
          {                                 
            machoire.write(mache);               
            delay(3);                     
          }   

          compteur++;

        }      

        { 

          for(tet = 110; tet>=75; tet-=1)     
          {                                 
            tete.write(tet);                
            delay(15);
          } 
          for(tet = 75; tet < 100; tet += 1)  
          {                                
            tete.write(tet);              
            delay(15);
          } 


          int compteur = 0; 
          while (compteur < 18) 
          { 

            for(mache = 90; mache < 120; mache += 1)   
            {                                   
              machoire.write(mache);              
              delay(3);                       
            }  
            for(mache = 120; mache>=90; mache-=1)      
            {                                 
              machoire.write(mache);               
              delay(3);                     
            }   

            compteur++;

          } 

          { 
            delay(500);

            int compteur = 0; 
            while (compteur < 8) 
            { 

              for(mache = 90; mache < 120; mache += 1)   
              {                                   
                machoire.write(mache);              
                delay(3);                       
              }  
              for(mache = 120; mache>=90; mache-=1)      
              {                                 
                machoire.write(mache);               
                delay(3);                     
              }   

              compteur++;

            }


            { 
              delay(1200);


              int compteur = 0; 
              while (compteur < 12) 
              { 

                for(mache = 90; mache < 120; mache += 1)   
                {                                   
                  machoire.write(mache);              
                  delay(3);                       
                }  
                for(mache = 120; mache>=90; mache-=1)      
                {                                 
                  machoire.write(mache);               
                  delay(3);                     
                }   

                compteur++;

              }

              { 
                delay(1000);

                int compteur = 0; 
                while (compteur < 10) 
                { 

                  for(mache = 90; mache < 120; mache += 1)   
                  {                                   
                    machoire.write(mache);              
                    delay(3);                       
                  }  
                  for(mache = 120; mache>=90; mache-=1)      
                  {                                 
                    machoire.write(mache);               
                    delay(3);                     
                  }   

                  compteur++;

                } 

              }            
            }
          }        
        }
      } 


    }

    delay(2000);

    for(bra = 90; bra>=50; bra-=1)     
    {                                 
      bras.write(bra);                
      delay(30);

    }  

    delay(4000);

    for(bra = 50; bra < 90; bra += 1)  
    {                                
      bras.write(bra);              
      delay(20);  

    }   

    delay(1000);

    for(tet = 100; tet>=60; tet-=1)     
    {                                 
      tete.write(tet);                
      delay(20);
    } 
    for(tet = 60; tet < 90; tet += 1)  
    {                                
      tete.write(tet);              
      delay(20);                        
    } 


  } 

} 



#37476 Animation pilote dans une maquette

Posté par VincentB sur 31 décembre 2011 - 06:15 dans Modélisme et modèles réduits

Salut Jean-François, tiens marrant de te retrouver là, et quelle application t'en fait de l'Arduino? Pour ce qui est de la programmation je n'ai pas de mérite, je n'ai fait que compléter ce qu'on m'avait fait, heureusement que j'ai eu l'aide du forum. Mais c'est passionnant ces modules.



#37464 Animation pilote dans une maquette

Posté par VincentB sur 31 décembre 2011 - 04:34 dans Modélisme et modèles réduits

Bonjour tout le monde
Finalement j'ai préféré mettre tout le matériel d'animation dans une caisse, qui sera branchée discrètement sous le planeur, plutot que de l'embarquer dans le planeur, qui en vol ne servirait à rien, gain de poids et place qui m'arrange bien
Pour ce qui est de la télécommande, j'ai réussi a modifier le code et donc remplacé par un bouton poussoir, la synchro est bonne, quand j'entend le bip de départ de la bande son, j'appuie sur le bouton et l'animation démarre

Voici la caisse que j'ai faite en ctp 15x10x9cm peinte à la Humbrol et veillit, les lettrages sont peints avec un pochoir découpé à la CraftRobo.
Image IPB

Image IPB

Vue arrière avec le HP et les inter, qui ne se verront pas, puisque la caisse sera contre le fuselage
Image IPB
merci à tous pour votre aide, je continue a suivre le forum, c'est passionnant ce que vous faites, et pour le prochain planeur j'essayerais d'intégrer le lecteur mp3 à la carte avec votre aide, ou peut être pour celui là, mais je me pencherais sur le sujet quand j'aurais terminé la construction du planeur, j'ai encore 4 ou 5 mois de boulot

voici le code final de l'animation, déclenché par le bouton poussoir
#include <Servo.h>  


Servo bras;   
Servo tete; 
Servo machoire;  
int bra = 0; 
int tet = 0;  
int mache = 0;
int bouton = 2;

void setup() 
{ 
  bras.attach(3); 
  tete.attach(5); 
  machoire.attach(6); 

  Serial.begin(9600); 
  pinMode(bouton, INPUT);


} 

void loop() { 
    
  if (digitalRead(bouton) == HIGH)
  
    { 

      for(bra = 90; bra>=50; bra-=1)     
      {                                 
        bras.write(bra);                
        delay(30);

      }  

      delay(4000);

      for(bra = 50; bra < 90; bra += 1)  
      {                                
        bras.write(bra);              
        delay(20);  

      } 

      delay(100); 

      for(tet = 90; tet < 130; tet += 1)  
      {                                
        tete.write(tet);              
        delay(15);                        

      }

      for(tet = 130; tet>=50; tet-=1)     
      {                                 
        tete.write(tet);                
        delay(15);

      }  

      delay(100);  

      for(tet = 50; tet < 110; tet += 1)  
      {                                
        tete.write(tet);              
        delay(20);                        

      }

      delay(300);    

      int compteur = 0; 
      while (compteur < 6) 
      { 

        for(mache = 90; mache < 140; mache += 1)


        {                                   
          machoire.write(mache);              
          delay(3); 

        }  
        for(mache = 140; mache>=90; mache-=1) 

        {                                 
          machoire.write(mache);               
          delay(3);

        } 
        compteur++;

      }    

      { 
        delay(500);


        int compteur = 0; 
        while (compteur < 5) 
        { 

          for(mache = 90; mache < 140; mache += 1)   
          {                                   
            machoire.write(mache);              
            delay(3);                       
          }  
          for(mache = 140; mache>=90; mache-=1)      
          {                                 
            machoire.write(mache);               
            delay(3);                     
          }   

          compteur++;

        }    

        { 
          delay(500);

          int compteur = 0; 
          while (compteur < 15) 
          { 

            for(mache = 90; mache < 140; mache += 1)   
            {                                   
              machoire.write(mache);              
              delay(3);                       
            }  
            for(mache = 140; mache>=90; mache-=1)      
            {                                 
              machoire.write(mache);               
              delay(3);                     
            }   

            compteur++;

          }      

          { 

            for(tet = 110; tet>=75; tet-=1)     
            {                                 
              tete.write(tet);                
              delay(15);
            } 
            for(tet = 75; tet < 100; tet += 1)  
            {                                
              tete.write(tet);              
              delay(15);
            } 


            int compteur = 0; 
            while (compteur < 18) 
            { 

              for(mache = 90; mache < 140; mache += 1)   
              {                                   
                machoire.write(mache);              
                delay(3);                       
              }  
              for(mache = 140; mache>=90; mache-=1)      
              {                                 
                machoire.write(mache);               
                delay(3);                     
              }   

              compteur++;

            } 

            { 
              delay(500);

              int compteur = 0; 
              while (compteur < 8) 
              { 

                for(mache = 90; mache < 140; mache += 1)   
                {                                   
                  machoire.write(mache);              
                  delay(3);                       
                }  
                for(mache = 140; mache>=90; mache-=1)      
                {                                 
                  machoire.write(mache);               
                  delay(3);                     
                }   

                compteur++;

              }


              { 
                delay(1200);


                int compteur = 0; 
                while (compteur < 12) 
                { 

                  for(mache = 90; mache < 140; mache += 1)   
                  {                                   
                    machoire.write(mache);              
                    delay(3);                       
                  }  
                  for(mache = 140; mache>=90; mache-=1)      
                  {                                 
                    machoire.write(mache);               
                    delay(3);                     
                  }   

                  compteur++;

                }

                { 
                  delay(1000);

                  int compteur = 0; 
                  while (compteur < 10) 
                  { 

                    for(mache = 90; mache < 140; mache += 1)   
                    {                                   
                      machoire.write(mache);              
                      delay(3);                       
                    }  
                    for(mache = 140; mache>=90; mache-=1)      
                    {                                 
                      machoire.write(mache);               
                      delay(3);                     
                    }   

                    compteur++;

                  } 

                }            
              }
            }        
          }
        } 


      }

      delay(2000);

      for(bra = 90; bra>=50; bra-=1)     
      {                                 
        bras.write(bra);                
        delay(30);

      }  

      delay(4000);

      for(bra = 50; bra < 90; bra += 1)  
      {                                
        bras.write(bra);              
        delay(20);  

      }   

      delay(1000);

      for(tet = 100; tet>=60; tet-=1)     
      {                                 
        tete.write(tet);                
        delay(20);
      } 
      for(tet = 60; tet < 90; tet += 1)  
      {                                
        tete.write(tet);              
        delay(20);                        
      } 


    } 

  } 



#37344 Animation pilote dans une maquette

Posté par VincentB sur 27 décembre 2011 - 06:53 dans Modélisme et modèles réduits

Bonjour tout le monde, merci pour votre travail
-alors en ce qui concerne le code de Seb, il marche, mais à la fin de l'anim je ne peux pas la relancer à la telecommande, certainement à cause du while(1) que j'avais mis pour l'arrêt, et si je l'enlève j'ai le dernier servo bouche qui tourne en boucle sans pouvoir a^rrêter l'annim

-pour ce qui est du code de Yves, ça marche impec, content, juste 2 bricoles, a la fin compteur++; que j'ai reactivé, il y avait // devant. et le code telecommande que t'as mis FF30CF qui correspond a la touche1, ne marche pas, par contre en mettant le code de la touche play/pause FFC23D ça marche, vraiment bizarre, mais bon pas grave puisque c'est justement la touche dont je voulais me servir

Par contre, j'ai un gros problème à la mise en marche, que j'avais aussi constaté avant le code telecommande. Quand je mets sous tension la carte/annimation, j'ai les 3 servos qui partent d'au moins 30° vers la gauche et qui reviennent à 0 lorsqu'ils sont appelés par le code. Pour moi c'est un problème, ils ne doivent pas du tout bouger, car là ça tirerait sur les tringlerie hors de leur course et ça casserait tout.
Vous avez une idée de quoi ça peut provenir et comment résoudre?



#37326 Animation pilote dans une maquette

Posté par VincentB sur 26 décembre 2011 - 12:17 dans Modélisme et modèles réduits

Dernière chose, je vois le code d'un Eternet shield"
Je ne savais pas que tu en avais un et a quoi te sert il ?

Bonjour Yves,
c'est où que l'on voit ça, le code d'un Eternet shield? mais c'est involontaire de ma part
je voulais commencer cet aprem mon annim, mais je dans ce cas je vais attendre d'avoir ton code, mais y'a pas le feu



#37234 Animation pilote dans une maquette

Posté par VincentB sur 22 décembre 2011 - 12:23 dans Modélisme et modèles réduits

Content, j'ai réussi a faire bouger un servo, par contre il me faut obligatoirement apporter du 5v au bornier bleu + du courant à la carte via l'usb ou prise jack, si je n'envoi pas de courant au bornier bleu ça ne marche pas, c'est normal? ou y'a pas un cavalier a deplacer pour n'avoir que la source usb ou pwrin a brancher?
bon maintenant je vais voir comment on programme pour faire bouger plusieurs servos et comprendre les lignes pour chaque action.
Si je comprend bien, quand on injecte un code à la carte, ça écrase celui qu'il y avait précédement? si on doit modifier un code il faut donc se l'enregistrer sur le pc? ou bien on peut le récupérer de la carte? car je n'ai pas trouvé la manoeuvre inverse carte vers pc



#37237 Animation pilote dans une maquette

Posté par VincentB sur 22 décembre 2011 - 02:43 dans Modélisme et modèles réduits

Je peux aussi profiter pour te donner un code fonctionnel avec plusieurs servos.

Oui je veux bien merci
en fait je suis parti de l'exemple servo inclu dans le soft de programmation, j'ai vu a peu pres a quoi correspondait les instructions, mais le problème c'est pour comprendre comment ajouter d'autre servos, et si possible avoir les lignes de commentaires d'instruction en français, innocemment j'ai fait un copié/collé pour tout doubler, et juste changer le n° de pin du branchement du 2eme servo, mais bien sûr ça ne marche pas. Et là je n'arrive pas a trouver facilement de site qui donnent des exemples concrets et bien expliqués, j'ai l'impression que ça s'adresse a un niveau qui ne part pas de 0. Mais bon une fois les instructions comprises, je devrais arriver a parametrer comme il faut l'annimation du pilote en fonction de ce que j'ai envie d'obtenir. Enfin grace à vous j'ai quand même fait un tout petit pas



#36840 Animation pilote dans une maquette

Posté par VincentB sur 11 décembre 2011 - 03:18 dans Modélisme et modèles réduits

Finalement j'aurais mieux fait d'acheter une carte de dimension plus standard, que la nano, ou de poster ici avant tout achat... mais bon, quand on débute une nouvelle activité c'est toujours comme ça. Je vais plutot attendre de recevoir la carte pour comprendre un peu mieux comment ça marche, et continuer les achats après.
Sinon pour la nano, ce shield irait bien? mais pour finir on retombe avec un encombrement de taille standard, qui m'est plus difficile à camoufler

mon ampli de mp3, je ne connais pas sa puissance, c'est un petit truc a quelques euros, je recherche juste a ce que l'on entende quand on est au sol près du planeur, on le voit sur cette photoImage IPB
et le petit moteur réducté que j'aurais aimé installer en remplacement du servo actuel qui est trop bruyant, mais bon il me faut tout rouvrir la tête pour recommencer...



#36832 Animation pilote dans une maquette

Posté par VincentB sur 11 décembre 2011 - 12:48 dans Modélisme et modèles réduits

Merci Yves pour toutes ces précisions, ok pour le servoshield, un comme le "Arduino Sensor Shield V4 digital analog module & servo" ça irait? mais par contre d'après ce qu'il m'a semblé voir, ils ont l'air de faire la taille des cartes Arduino Duemilanove et non plus petit comme la nano? a moins que vous auriez une référence d'un petit servoshield? ces servoshield se branchent comment sur la carte? j'ai eu l'impression de voir que ça s'empilait sur la carte?

Pour le mp3 j'ai pris ce truc
Image IPB
"Mini SD Card MP3 Sound Module For PIC Arduino WTV020-SD #260" (a t'on le droit de donner sur le forum des liens directs de site commerciaux et de materiel du site d'encheres eb...?)



#36825 Animation pilote dans une maquette

Posté par VincentB sur 11 décembre 2011 - 07:11 dans Modélisme et modèles réduits

Bonjour,
Merci pour votre accueil et devouement


1/4,5e, ca fait combien en cm ?....
oui la Arduino nano que tu a pris conviendra.

La taille de la tête, environ 6cm, mais la carte sera cachée sur le corps, devant ou derrière, donc je ne devrais pas avoir de problème de place


il faudra un Module USB pour programmer ta nano (si elle ne dispose pas de port Usb integré).

la Arduino nano que j'ai commandé est celle- ci, c'est bon, elle a bien le port usb pour la programmer?
Image IPB





Quels sont les événements déclanchants ?
Quelle est la taille de la tringlerie ?
Quelles sont les tensions disponibles ?
Quel est lampée âge restant (une fois tout le reste alimenté)



-événements déclanchants ? c'est a dire? je pensais mettre en route la carte avec la telecommande IR arduino et que la séquence se déroule, ça durereais environ 45s. Je voulais définir une séquence du type: le pilote lève le bras et tourne la tête, la machoire bouge et une partie du message est diffusé, il baisse le bras, autre partie du message avec machoire synchronisée a peu près selon le texte, tête qui tourne un peu durant le texte, bras qui se lève à la fin... ça c'est possible a faire avec ce genre de carte? elle ne sera pas limitée en capacité de programmation?


-la taille de la tringlerie? il n'y en a quasiment pas, tête mise en direct sur le servo, bras également

-Quelles sont les tensions disponibles ? je ne sais pas, j'adapterais en fonction des besoins, les servos ont besoin d'être alimentés en 5 ou 6v, mais la carte je ne sais pas comment ça marche et ce dont elle a besoin, mais j'adapterais l'accu en fonction, lipo 2 ou 3S

-L'ampérage, aucune idée de ce que consomment les servos, il faut le savoir? j'avais cru lire quelque part que sur les cartes on ne pouvait pas brancher plus de xxx Mah? ça voudrait dire que je ne peux pas brancher 3 servos directement sur la carte? auquel cas faut il que je commande un shield? lequel?



#37239 Animation pilote dans une maquette

Posté par VincentB sur 22 décembre 2011 - 05:23 dans Modélisme et modèles réduits

j'ai commencé a trifouiller et reussit a faire tourner 2 servos, l'un derriere l'autre, par contre un truc que je n'arrive pas a trouver, avec void loop() ça tourne en boucle indefieniment, mais comment definir par exemple 1 ou 2 cycles? mais merci de ton aide, c'est obscur et prise de tête quand on fait en tatonnant sans vraiment bien comprendre



#37241 Animation pilote dans une maquette

Posté par VincentB sur 22 décembre 2011 - 05:31 dans Modélisme et modèles réduits

Tu n'as aucune base en C ?

non absolument aucune

Mais au fait, il n'existe pas de logiciel de programmation autre que celui de l'arduino, qui serait graphique, on cocherait par exemple 3 servo, 1 moteur... il y aurait des cases a cocher pour definir les angles, durée... et a la fin ça générerait le code, un peu comme les logiciels WYSIWYG qui permettent de generer le code html en cliquant sur une icone d'insertion d'image ou de lien, plutot que de taper des lignes de codes



#37322 Animation pilote dans une maquette

Posté par VincentB sur 26 décembre 2011 - 10:13 dans Modélisme et modèles réduits

Bonjour tout le monde,
j'ai fait mes essais de reglages de courses/vitesses pour mes 3 servos pour le pilote. J'ai d'ailleurs réouvert ma tête et enlevé le servo modifié a rotation continu qui avait un bruit désagréable et j'ai remplacé par un servo classique qui fait moins de bruit.
Là je vous mets le code, si jamais il y a des choses pas "propres" merci de me les indiquer, j'ai tatonné pour la boucle while de la bouche, mais maintenant ça marche et j'ai compris le principe

Donc si tu peux Yves, me dire (integrer le code dans le mien) pour mettre en route cette annimation avec le bouton play de la telecommande, merci

#include <Servo.h> 

Servo bras, tete, machoire;

int pos1 = 0;
int pos2 = 0; 
int pos3 = 0; 

void setup() 
{ 
  bras.attach(3);
  tete.attach(5);
  machoire.attach(6);
} 

void loop() 
{
    for(pos1 = 0; pos1 < 50; pos1 += 1) 
  {                               
    bras.write(pos1);             
    delay(20);                      
  } 
  
  delay(4000); //temps de pause entre 2 actions
  
  for(pos1 = 50; pos1>=1; pos1-=1)    
  {                                
    bras.write(pos1);               
    delay(20); 
                         
   }
   
    delay(1000); //temps de pause entre 2 actions
    
     for(pos1 = 0; pos1 < 100; pos1 += 1)  
  {                                
    tete.write(pos2);             
    delay(10);                     
  } 
  for(pos2 = 100; pos2>=1; pos2-=1)     
  {                                
    tete.write(pos2);              
    delay(10);                       
  }
  
  
    int compteur = 0;
  while (compteur < 30)
{
  
     for(pos3 = 0; pos3 < 45; pos3 += 1)  
  {                                  
    machoire.write(pos3);            
    delay(5);                      
  } 
  for(pos3 = 40; pos3>=1; pos3-=1)     
  {                                
    machoire.write(pos3);              
    delay(5);                    
  }  
  
      compteur++;
}
  
    
    while(1);
    
  }



#37279 Animation pilote dans une maquette

Posté par VincentB sur 24 décembre 2011 - 05:15 dans Modélisme et modèles réduits

Naturellement, pas de soucis pour continuer demain ou plus tard.
Disons pour comprendre le principe, le code qui mettrait en marche et arrêt 1 servo avec le bouton vert play/pause
Joyeux Noël également à vous tous



#37277 Animation pilote dans une maquette

Posté par VincentB sur 24 décembre 2011 - 03:58 dans Modélisme et modèles réduits

Voici les codes de la telecommande

CH-
FFA25D
FFFFFFFF

CH
FF629D
FFFFFFFF

CH+
FFE21D
FFFFFFFF

<<
FF22DD
FFFFFFFF

>>
FF02FD
FFFFFFFF

>II
FFC23D
FFFFFFFF

-
FFE01F
FFFFFFFF

+
FFA857
FFFFFFFF

EQ
FF906F
FFFFFFFF

0
FF6897
FFFFFFFF

100+
FF9867
FFFFFFFF

200+
FFB04F
FFFFFFFF

1
FF30CF
FFFFFFFF

2
FF18E7
FFFFFFFF

3
FF7A85
FFFFFFFF

4
FF10EF
FFFFFFFF

5
FF38C7
FFFFFFFF

6
FF5AA5
FFFFFFFF

7
FF42BD
FFFFFFFF

8
FF4AB5
FFFFFFFF

9
FF52AD
FFFFFFFF



#37245 Animation pilote dans une maquette

Posté par VincentB sur 22 décembre 2011 - 07:05 dans Modélisme et modèles réduits

merci Yves, j'ai essayé ça marche, demain je regarderais de trés près pour essayer de comprendre
tu parles de faire un schéma à propos de quoi?



#36817 Animation pilote dans une maquette

Posté par VincentB sur 10 décembre 2011 - 08:14 dans Modélisme et modèles réduits

Bonsoir tout le monde
Je me re-présente vite fait ici dans ce sujet, je m'appelle Vincent, 48 ans, habitant Béziers, passionné de maquettes de planeurs anciens radiocommandés, webmaster du site et forum retroplane.net
Je m'adresse à vous, car j'envisage d'animer un pilote dans ma dernière maquette en cours de construction. Ce n'est pas à proprement parlé d'un robot, j'espère que vous ne m'en tiendrez pas rigueur. :blush:
En fait j'ai déjà commencé à fabriquer ce pilote, échelle 1/4.5 au départ j'envisageais juste de faire tourner la tête, comme on le fait souvent en la mettant sur un servo branché en Y sur la voie de direction de la radiocommande, donc tout bête. Puis j'ai eu l'idée de vouloir faire bouger la bouche, et de diffuser un message sur un mini lecteur mp3 avec un ampli/HP, message en Tchèque puisque le planeur est Tchèque :P Puis ensuite j'ai voulu animer un bras, puis là je trouvais que ça faisait un peu beaucoup pour mettre sur la radiocommande, et pas spécialement sécurisant en vol, vu qu'en fait l'animation est destinée à être vu juste au sol. De plus l'animation de la bouche ne me plait qu'à moitié, l'ayant faite avec un servo modifié pour tourner en continu, donc un bruit de servo pas agréable puisque censé doubler un message vocal.
Et là j'ai commencé à penser que je pourrais peut être animer le tout de façon autonome, hors radiocommande de vol du planeur, avec une carte comme vous utilisez pour vos robots. J'ai vu/lu qu'Arduino revenait souvent, je me suis un peu documenté sur des sites, mais cela me semble extrêment obscur quand au fonctionnement et surtout à la programmation

Pour l'instant j'ai passé commande d'une carte Arduino Nano, de quelques accessoires pour cette carte, relai, telecommnande IR, d'ailleurs sans savoir si j'en aurais besoin, mais bon comme c'est pas bien cher, ni vraiment à quoi ils servent, achat aussi d'un module MP3 pour Arduino (peut être que ça pourrait remplacer mon lecteur MP3+ampli/HP?)

je vous met quelque photos de mon pilote, et vous pouvez voir plus de détails sur mon site http://www.retroplane.net/mira3/page2.htm

Image IPB

Image IPB

Image IPB

Image IPB

J'attend ma commande, mais ça ne sera pas avant fin décembre, mais pour anticiper, et ne pas me retrouver encore coincé 3 semaines de plus, autant commander maintenant ce qu'il me faudra exactement pour l'animation de ce pilote
Donc ma question va être simple: en plus de ma carte Arduino Nano, de quoi ai-je réellement besoin pour animer 3 servo, ou 2 servo + 1 micro moteur à courant continu dans l'hypothese où je remplace mon servo de machoire par un micro moteur réducté (car plus silencieux) est-ce que seule la carte suffit? donc branchement des servos directement sur la carte Arduino? ou il faut un shield servo?

sachant que je suis limité en place et en poids, donc je voudrais être le plus compact possible

merci d'avoir eu le courage de me lire, et j'espère trouver de l'aide parmis vous, et surtout de la patience, car pour l'instant je patauge dans la semoule et je suis dans le flou le plus absolu