Aller au contenu


stephane83

Inscrit(e) (le) 04 avril 2013
Déconnecté Dernière activité août 25 2013 06:12
-----

#57086 petit projet du weekend ^^

Posté par stephane83 - 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


#56638 roby

Posté par stephane83 - 16 juin 2013 - 12:14

salut salut, j'ai enfin trouvé le temps pour me lancer sur roby je vous tiens au courant dans les semaines à venir ^^

Image(s) jointe(s)

  • IMG_20130616_131400.jpg



#56275 petit projet du weekend ^^

Posté par stephane83 - 21 mai 2013 - 10:00

il petit vidéo pour illustrer le sujet ^^


#56258 petit projet du weekend ^^

Posté par stephane83 - 20 mai 2013 - 05:04

wouw vraiment un grand merci!!!! je vais me coller à ça merci! je te tien au courant


#56252 petit projet du weekend ^^

Posté par stephane83 - 20 mai 2013 - 12:36

salut mike, merci pour ta réponse, je vais alors testé ça mais je crains ( a cause de mon manque d’expérience, je débute lol) avoir pas tout compris se que tu m'explique, je comprend le sens mais pas trop la technique.
je vais regarder un peu en détail les termes que tu me dit sur le net pour voir si je trouve une démarche a suivre. merci encore je sais grasse à toi que ces possible


#56236 petit projet du weekend ^^

Posté par stephane83 - 19 mai 2013 - 05:39

Salut à tous, et encore merci pour votre aide, j'ai acheté un kit ardruino ( :http://www.conrad.fr/ce/fr/product/095060/Kit-de-dmarrage-avec-module-Uno-Arduino-K000007) qui est vraiment top pour les débutants (je le conseille).

Donc j'ai passé une semaine a faire les Tp du livre qui est avec le kit, bon la programmation est vraiment dure pour mon petit cerveau, je me tire les cheveux Lol, mais je m'accroche ! ce weekend je n'ai pas mâle de temps ( il fait que pleuvoir ...) et j'aimerai avoir votre aide pour faire un assemblage servomoteur avec deux photorésistances : le but est de mettre une photorésistance à droite du servo et une autre à gauche, puis que le servo bouge où il y a le plus de lumière.
À votre avis est-il possible de faire ça ? comment le mètre ça en pratique niveau montage des pièces et niveau programmation ?
j'aimerais, si cela ne vous dérange pas ;)/>/>, avoir vos idées et vos solutions pour m'aider.
merci à vous et a bientôt!

ps: je travail sur la base d'une arduino UNO ^^


#56235 roby

Posté par stephane83 - 19 mai 2013 - 05:17

merci pour ton aide !! =)


#56004 roby

Posté par stephane83 - 08 mai 2013 - 03:28

personne peut m'aider pour la liste des compos ?


#55962 roby

Posté par stephane83 - 06 mai 2013 - 12:34

Salut à tous, et encore bravo pour ce super forum!!
je souhaite continué vos tutos et donc aller sur roby, je comprend pas trop tout les composent qu'il faut, il existe une liste ? peut être que je suis un gros bigleux aussi! je suis dsl par avance si j'ai loupé cette liste !

Merci et à bientôt.

ps: cocotix a 4 pattes bientôt finis me manque du fil