Aller au contenu


Photo
- - - - -

petit projet du weekend ^^


  • Veuillez vous connecter pour répondre
25 réponses à ce sujet

#21 Paul94

Paul94

    Membre

  • Membres
  • 41 messages
  • Gender:Male

Posté 05 juillet 2013 - 08:44

Bonjour j'aimerais que vous me donner le code svp pour que puisse le faire pour mon robot merci
Et j'es paire que vous me dirais oui
PS:je peut le faire mais je suis trop nul en programation

#22 Tuc

Tuc

    Membre occasionnel

  • Membres
  • Pip
  • 85 messages
  • Gender:Male
  • Location:Languedoc-Roussillon

Posté 05 juillet 2013 - 10:08

C'est en faisant qu'on apprend et, on ne demande pas le code d'une personne qui a bossée pour se le faire !

PS:je peut le faire mais je suis trop nul en programation


Ce n'est pas une raison. C'est comme dans la vie, en essayant de faire quelque chose soit même, on apprend beaucoup plus que quand on recopie une personne..

Étudiant GEII - 1A


#23 stephane83

stephane83

    Membre

  • Membres
  • 64 messages

Posté 13 juillet 2013 - 10:41

Bonjour j'aimerais que vous me donner le code svp pour que puisse le faire pour mon robot merci
Et j'es paire que vous me dirais oui
PS:je peut le faire mais je suis trop nul en programation


Salut, dsl pour le temps a répondre ( une semaine de vacance ^^), pour moi il y a pas de souci un forum a pour base le partage ( ma vision des choses XD,) pour le code le voici ( j'ai rajouter une petite lampe verte de puis le temps ^^):


     #include <Servo.h>
     
     //Déclaration des fonctions
      void rechercher_lumiere(void);
      unsigned int read_capteur_write_servo(unsigned char, char);
     
     
     // Déclaration des variables
     #define pas_servo 5         // le servomoteur aura un pas de 5degrés
     
     
     unsigned int R_valeur=0;
     Servo SnootServo;
     unsigned int position_servo=0, position_min=0;
     unsigned int value_capteur=0,value_min=4096;
     unsigned char angle_min=0, angle_max =180;
     

     // Déclaration des pins reliées aux éléments
     const char pin_lampe =2;
     const char pin_moteur =9;
     const char pin_capteur =A0;


     // Configuration
     void setup(void)
     {
        pinMode(pin_lampe,OUTPUT);
        pinMode(pin_capteur,INPUT);
        pinMode(pin_moteur,OUTPUT);
        SnootServo.attach(9);   
        delay(100);
        rechercher_lumiere();
        digitalWrite(pin_lampe,LOW);
     }
     
     // MAIN
     void loop(void)
     {
       // Faire une acquisition de 1 échantillon,
            // en déplacant le capteur de 0 pas
        value_capteur=read_capteur_write_servo(1,0);
            //Si la valeur mesurée est plus grande que la dernière valeur
        if(value_capteur>(value_min+20) )
           {
            //Allumer la lampe
              digitalWrite(pin_lampe,HIGH);
              delay(2000);
            //Refaire une nouvelle capture avec 2 échantillons 
              value_capteur=read_capteur_write_servo(2,0);
            //Si c'est toujours supérieur : rechercher le meilleur angle 
              if(value_capteur>(value_min+20) )
             {
               value_min=value_capteur;
          rechercher_lumiere();
             }
            }
            //Une fois l'angle trouvé : éteindre la lampe
      digitalWrite(pin_lampe,LOW);
     }
     
     
     
     //Sous-routines
     
     void rechercher_lumiere(void)
     {
         //Cette fonction sert à faire un balayage complet du servo,
         //en faisant l'acquisition des valeurs pour chaque angle,
         //et en déterminant si on vient de trouver la valeur max ou non
         //l'angle est incrémenté à chaque fois de la valeur du pas
       unsigned char maximum_lumiere;
       
       for(position_servo=angle_min; position_servo <angle_max;position_servo+=pas_servo)
          {
          
             value_capteur=read_capteur_write_servo(2,0);
             if(value_capteur<value_min)
                {
                   value_min=value_capteur;
                   maximum_lumiere=position_servo;
                }
          }
       position_servo=maximum_lumiere;
       read_capteur_write_servo(0,0);
       
    }

    unsigned int read_capteur_write_servo(unsigned char nombre_lecture, char angle_servo)
    {
          //Cette fonction sert à faire tourner le servo d'un multiple de son pas
          //Elle sert également à faire des relevés de la photorésistance
          //Elle permet de faire la moyenne sur 1, 10 jusqu'à 64 relevés,
          //le nombre de relevés maximum possible est divisé par l'amplification capteur
    unsigned int valeur =0;
    unsigned char indice;
    unsigned char amplification_capteur=4;

       SnootServo.write(position_servo+angle_servo);
       delay(100);
       
       for(indice=1;indice <= nombre_lecture; indice++)
          {
             valeur+=(analogRead(pin_capteur)*amplification_capteur);
          }
       valeur/=nombre_lecture;
       
       return (valeur);

    }

donne de tes nouvelles une fois la tête réalisé AVEC PHOTOS xd . Bon courage
merci pour le forum, stephane83

#24 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 13 juillet 2013 - 02:54

Code propre et super bien commenté ;)
Je me suis juste permis de le mettre entre deux balises " code " et de déplacer la dernière ligne qui était resté dans les accolades ;)

à bientôt =)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#25 stephane83

stephane83

    Membre

  • Membres
  • 64 messages

Posté 20 juillet 2013 - 05:23

Code propre et super bien commenté ;)/>
Je me suis juste permis de le mettre entre deux balises " code " et de déplacer la dernière ligne qui était resté dans les accolades ;)/>

à bientôt =)


Merci mike pour la correction ^^ je suis pas encore au top sur les postes de forum ! ^^
merci pour le forum, stephane83

#26 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 24 juillet 2013 - 07:27

Merci mike pour la correction ^^ je suis pas encore au top sur les postes de forum ! ^^


Ne t'inquiète pas il n'y a pas de soucis ! ;) Moi même je suis loin d'être au top pour la présentation de mes postes ! Mon maître en la matière restera toujours BET@M@X que cela soit pour la qualité de se présentation mais aussi pour la qualité de ces remarques ^^ Mais bon c'est comme tout ça s'apprend et on s'améliore de jours en jours !

En tout cas bonne continuation pour tes projets et à bientôt !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users