Projet Kapduino:pan+tilt+déclenchement

Les radios commandes, déclencheurs divers et variés. Les circuits électroniques et autres bidouillages.

Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Dim 06 Septembre 2009, 17:59

alors , je me lance , j'ai fait ce code , qui fonctionne.
je rapel qu'avant de découvrir l'arduino , je n'avait absolument aucune connaissance ni des microcontoleurs , ni de la programation en C.
ce code a donc été ecrit avec des fonctions simples , et est trés certainement perfectible.
j'ai néanmoins atteint mon premier objectif , qui etait de réaliser un Autokap, commandant 3 axes.
un axe pan , un axe tilt et un déclencheur mécanique.

edit : je remercie au passage " vertigo" a qui j'ai carement repiqué le code pour la rotation du pan ! (solution qui a mon niveau je n'aurai su resoudre) .:wink:

j'espere que ce code pourra vous etre utile le voici:

(je suis obliger de le poster en plusieurs fois car trop de caracteres).

Code: Tout sélectionner
///////////////////////////////////////////////////////////////////////////////////
//                        ESSAIS D'AUTOKAP AVEC ARDUINO                          //
//                                PAR FRED88                                     //
///////////////////////////////////////////////////////////////////////////////////







#include <Servo.h>

////////////////////////////////////////////////////////////////////////////////////
//                        DEFINITIONS DES SERVOS                                  //
////////////////////////////////////////////////////////////////////////////////////



Servo pan;                            //déclaration du servo de pan  (servo Futaba S3010 modifié a 360 degrés)
Servo tilt;                           //déclaration du servo de tilt (servo futaba S3010 standard)
Servo dec;                            //déclaration du servo de declenchement (servo Hitec HS55)



////////////////////////////////////////////////////////////////////////////////
//                      DEFINITION DES VARIABLES                              //
////////////////////////////////////////////////////////////////////////////////





int pos_tilt1=0;                      //variable relative au tilt
int pos_dec1=0;                       //variable relative au pan
int i=0;


///////////////////////////////////////////////////////////////////////////////////////////

int pas_tilt=20;         //pas du tilt
int pas_pan=30;          //pas du pan
int ang_deb_tilt=0;      //valeur de l'angle de départ du tilt                       /////////////////////////////////////////////////////////
int ang_fin_tilt=60;     //valeur de l'angle d'arrivé totale du tilt                 //les valeurs angulaires souhaitées sont a modifier ici//
int ang_deb_dec=120;     //valeur de l'angle de depart du servo de declenchement     /////////////////////////////////////////////////////////
int ang_fin_dec=170;     //valeur de l'angle d'arrivé du servo de declenchement
int temps_maintient_dec=3000; //valeur temps de maintien du déclencheur
Dernière édition par fred88 le Dim 06 Septembre 2009, 21:36, édité 3 fois.
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Dim 06 Septembre 2009, 18:00

Code: Tout sélectionner
///////////////////////////////////////////////////////////////////////////////////
//                      DEFINITION DES AFFECTATIONS DES BROCHES                  //
///////////////////////////////////////////////////////////////////////////////////
 
 
 
void setup()



{
   tilt.attach(9);                                     //servo de tilt relié a la broche 9
   dec.attach(3);                                      // servo de déclencheur relié a la broche 3
   pan.attach(6, 1350, 1650);                          //servo de pan relié a la broche 6
   
}
 
 
 
///////////////////////////////////////////////////////////////////////////////   
//                      DEBUT DE LA BOUCLE PRINCIPALE                        //
///////////////////////////////////////////////////////////////////////////////
 
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
 
//////////////////////
// phase de descente//
//////////////////////
 
void loop()


{
   
  pos_tilt1=ang_deb_tilt;
   
        for(i=pos_tilt1; i<ang_fin_tilt; pos_tilt1+=pas_tilt) //on déplace le tilt vers le bas de 'X'degrés selon le pas defini plus haut.
                        {
                for(i=pos_tilt1-pas_tilt ; i < pos_tilt1; i += 1)       //le déplacement s'effectue par pas de 1 degré
                     {                                 
                     tilt.write(pos_tilt1);                             //on donne l'orde de déplacement
                     delay(20);                                         //ce timer permet de regler la vitesse de deplacement
                           }
                  delay(2000);                                          //ce timer defini le temps de maintient en position avant deplacement suivant
                 
   for(pos_dec1 = ang_fin_dec; pos_dec1 > ang_deb_dec ; pos_dec1 -= 1)  //ici ,on rests sur le meme principe que pour le tilt , mais il s'agit du déclenchement
   
  {                                                                     // on a ici la descente lente du déclenchement
    dec.write(pos_dec1);             
    delay(50);                       
  }
delay(temps_maintient_dec);

for(pos_dec1 = ang_deb_dec; pos_dec1 < ang_fin_dec ; pos_dec1 += 1)    //puis ici la remontée plus rapide
  {                                 
    dec.write(pos_dec1);             
    delay(5);                       
  }
delay(2000);
}

  for ( int j=0; j<=pas_pan; j++){                                     // cette phase ordonne une rotation du pan de 'X' degrés
  pan.write(j);
    Serial.println(j);
    delay(20);
  }
pan.write(90);
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Dim 06 Septembre 2009, 18:00

Code: Tout sélectionner
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////
//phase de remontée//
/////////////////////

pos_tilt1=ang_fin_tilt;
 
   for(i=pos_tilt1; i>ang_deb_tilt; pos_tilt1-=pas_tilt)                      // le tilt est maintenant arrivé au max de sa decsente
                                                                              // on a prit une photo a chaque pas
                                                                              // et on a decalé le pan de X degrés
                {                                                             // on va ici refaire la meme chose en remontant
                for(i=pos_tilt1+pas_tilt ; i > pos_tilt1; i -= 1)             //puis une fois arrivé en haut , tourner le pan de X degrés
                     {                                                        // et repeter cette boucle indefiniment
                     tilt.write(pos_tilt1);           
                     delay(20);                     
                           }
                  delay(2000);
                 
   for(pos_dec1 = ang_fin_dec; pos_dec1 > ang_deb_dec ; pos_dec1 -= 1) 
  {                                 
    dec.write(pos_dec1);             
    delay(50);                       
  }
delay(temps_maintient_dec);

for(pos_dec1 = ang_deb_dec; pos_dec1 < ang_fin_dec ; pos_dec1 += 1) 
  {                                 
    dec.write(pos_dec1);             
    delay(5);                       
  }
delay(2000);
}
     for ( int j=0; j<=pas_pan; j++){
  pan.write(j);
    Serial.println(j);
    delay(20);
  }
pan.write(90);
   
     
}



//////////////////////////////////////////////////////////////////////////////////////////////////////////
//  je rapelle que je suis seulement amateur et tout nouveau dans le monde des microcontrolleurs                                    //
//              cette solution n'est surement pas la meilleure , mais elle fonctionne                                                               //
//                         merci de votre indulgence et amusez vous bien                                                                                  //
//////////////////////////////////////////////////////////////////////////////////////////////////////////
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Dim 06 Septembre 2009, 18:05

je viens de m'apercevoir que le " copier/coller " a fait quelques decalages , notement sur les commentaires " // "
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fxix le Dim 06 Septembre 2009, 18:30

si j'ai bien compris l'algo :

tu fais une série de photo en baissant l'appareil photo
puis une seconde série en remontant
puis tu tourne l'appareil et tu recommence les photos
Fabien XIX
aéro-photographe... mais plus assez à mon goût
f19.fr
Avatar de l’utilisateur
fxix
Plus de 1000 messages
 
Messages: 1038
Inscription: Dim 13 Avril 2008, 9:00
Localisation: presque à Tours

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Dim 06 Septembre 2009, 21:30

oui tu as bien compris , une serie en descente , puis rotation de 'X ' degrés , puis serie de photos en remontant , puis rotation du pan , et on recomence la boucle.

celuis ci est sur 360 degrés , a " l'infini".

l'etape suivante est de réaliser plusieurs prog differents ,(sur 180 degrés seulement par exemple) et de pouvoir selectioner celui qui m'interesse par pression sur bouton poussoir.

et pour la suite , j'ai pas mal d'idées....

reste a optimiser ces lignes de code.

je pense que c'est une base a explorer , et libre a chacun d'y rajouter son grain de sable pour huiler les rouages !
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fxix le Dim 06 Septembre 2009, 22:14

est ce que l'on peut utiliser des fonctions ?
si c'est le cas se serrait peut être plus simple de faire une fonction "déclenchement" que chacun pourrait adapter selon son système.
Fabien XIX
aéro-photographe... mais plus assez à mon goût
f19.fr
Avatar de l’utilisateur
fxix
Plus de 1000 messages
 
Messages: 1038
Inscription: Dim 13 Avril 2008, 9:00
Localisation: presque à Tours

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede vertigo le Dim 06 Septembre 2009, 22:17

Joli travail, fred, tu es arrivé à ton but, c'est gagné ! 8)
Je n'ai pas regardé en détail ton code, mais ça m'a l'air bien commenté en tous cas :wink:
Avatar de l’utilisateur
vertigo
Plus de 1000 messages
 
Messages: 1198
Inscription: Lun 28 Janvier 2008, 21:54
Localisation: Rennes (quartier Poterie)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Deltakap le Lun 07 Septembre 2009, 17:36

vertigo a écrit:Joli travail, fred, tu es arrivé à ton but, c'est gagné !
Je n'ai pas regardé en détail ton code, mais ça m'a l'air bien commenté en tous cas

Oui, bravo Fred... sacré bon début !
Premier essai transformé 8)

fred88 a écrit:je pense que c'est une base a explorer , et libre a chacun d'y rajouter son grain de sable pour huiler les rouages !

Aucune envie de gripper la mécanique avec mes grains de sable, bien au contraire, mais deux choses simples qui permettraient d'augmenter la lisibilité de ton code:
- la définition des constantes en majuscules.
Par exemple, en écrivant "#define PAS_TILT 20 // pas du tilt" plutôt que "int pas_tilt=20; //pas du tilt", puis utiliser cette constante dans la suite du code (ce n'est pas une variable dans le sens où le programme n'y touche pas... par contre "int pos_tilt1=0; //variable relative au tilt" est bien une variable, puisque modifiée en route par le code)
- l'utilisation de fonctions (mais comme ce sont tes premières lignes de code, ça tombe pas comme ça sous le sens ;))
Par exemple, cette partie du code est présente deux fois:
Code: Tout sélectionner
for(pos_dec1 = ang_fin_dec; pos_dec1 > ang_deb_dec ; pos_dec1 -= 1)  //ici ,on rests sur le meme principe que pour le tilt , mais il s'agit du déclenchement
   
  {                                                                     // on a ici la descente lente du déclenchement
    dec.write(pos_dec1);             
    delay(50);                       
  }
delay(temps_maintient_dec);

for(pos_dec1 = ang_deb_dec; pos_dec1 < ang_fin_dec ; pos_dec1 += 1)    //puis ici la remontée plus rapide
  {                                 
    dec.write(pos_dec1);             
    delay(5);                       
  }

C'est le déclenchement de l'APN... une fonction comme ci-dessous placée après la fonction "loop()" et appelée dans la boucle loop à l'endroit qui va bien par "shoot();" allègerait beaucoup cette fonction loop. (idem pour le panoramique et le tilt qui pourraient être aussi des fonctions)


Code: Tout sélectionner
void shoot() {
for(pos_dec1 = ang_fin_dec; pos_dec1 > ang_deb_dec ; pos_dec1 -= 1)  //ici ,on rests sur le meme principe que pour le tilt , mais il s'agit du déclenchement
   
  {                                                                     // on a ici la descente lente du déclenchement
    dec.write(pos_dec1);             
    delay(50);                       
  }
delay(temps_maintient_dec);

for(pos_dec1 = ang_deb_dec; pos_dec1 < ang_fin_dec ; pos_dec1 += 1)    //puis ici la remontée plus rapide
  {                                 
    dec.write(pos_dec1);             
    delay(5);                       
  }
}

Quand tu y aura gouté, tu ne pourras plus t'en passer ;)

J'ai essayé de reprendre les grandes lignes de ton code pour appliquer ces 2 trucs.... mais je suis confronté à un autre problème de taille: c'est comment déterminer la valeur des paramètres, autrement que par tatonnement, validation, modif dans le code, nouvel upload du sketch ?. Ce que je veux dire, c'est que le code ne montre pas toute la galère des réglages "physiques" que tu as dû faire avant d'en arriver là :? et je ne vois pas trop comment faire pour ajuster ces valeurs très simplement.... comme quoi, la critique est facile ;)

PS: Je crois qu'il y a des trucs bizarres dans les boucles du tilt et du pan (dans le placement de certaines variables)
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede alpaph le Lun 07 Septembre 2009, 18:30

Bravo Fred pour ce premier programme.

Comme Gilbert, je pense que l'utilisation des fonctions est nécessaire dès que l'on atteint un nombre de ligne important. Ces fonctions évitent de répéter un groupe de lignes de codes qui sont régulièrement répétés dans l'ensemble du programme. Elles permettent aussi de passer des paramètres. Là, je reprends un programme tout simple trouvé sur internet :
Code: Tout sélectionner
void add(int a, int b, int *c)
/*   c repère l'entier où on veut mettre le résultat   */
{
*c = a + b;
}

int main()
{
int i,j,k;

/*   on passe les valeurs de i et j comme premiers paramètres  */
/*   on passe l'adresse de k comme troisième paramètre         */
add(i,j,&k);
}

Ici, la fonction add peut avoir deux paramètres en entrées : a et b et un en sortie : c. Donc, quand j'appelle la fonction add(1,3,&k), j'obtiens la valeur 4 dans k.
Plus concrètement, pour l'exemple shoot proposé par Gilbert, on pourrait faire passer en paramètres ang_fin_dec, ang_deb_dec et les diverses temporisations. On aurait ainsi une fonction qui pourrait s'adapter aux divers cas de déclenchement. Ça répondrait, en partie, à la question suivante :
Deltakap a écrit:J'ai essayé de reprendre les grandes lignes de ton code pour appliquer ces 2 trucs.... mais je suis confronté à un autre problème de taille: c'est comment déterminer la valeur des paramètres, autrement que par tatonnement, validation, modif dans le code, nouvel upload du sketch ?. Ce que je veux dire, c'est que le code ne montre pas toute la galère des réglages "physiques" que tu as dû faire avant d'en arriver là :?

Le tâtonnement peut se faire par le changement de ces valeurs en entrée. Par contre, je ne vois pas comment les mettre en œuvre autrement que par upload du programme. Sauf si par la suite le projet utilise une petite interface externe (afficheur LCD, clavier, palm, ipod ou autres) qui permettrait de les modifier en "live".
A+

Philippe

Site perso : http://alpaph.free.fr - Galerie Flickr : http://www.flickr.com/photos/41085895@N08/
Avatar de l’utilisateur
alpaph
Plus de 100 messages
 
Messages: 312
Inscription: Dim 22 Mars 2009, 19:24
Localisation: Seine-saint-denis

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Lun 07 Septembre 2009, 18:40

merci a vous pour vos remarques !
j'ai encore beaucoup a apprendre !

je vais prendre le temps d'essayer de comprendre tout ce que vous avez expliqué.

Le tâtonnement peut se faire par le changement de ces valeurs en entrée. Par contre, je ne vois pas comment les mettre en œuvre autrement que par upload du programme. Sauf si par la suite le projet utilise une petite interface externe (afficheur LCD, clavier, palm, ipod ou autres) qui permettrait de les modifier en "live".


c'est le résultat que j'aimerais obtenir.
j'ai pensé a plusieurs chose pour faire cela :

j'ai un telephone portable sous windows mobile , donc une premiere possibilité que je ne retient pour le moment , car tout le monde n'a pas d'appareil mobile.
l'ecran LCD serait super pratique c'est indeniable , mais peut etre difficile a mettre en oeuvre et cher ???

une autre solution serait d'utiliser un bouton poussoir et des led comme indicateur.
par exemple un appui sur un bouton poussoir permet de choisir le parametre a modifier , et on jouerai sur le clignotement d'une led pour savoir le parametre en cours.
et 2 autres boutons poussoir , qui permettrai de modifier les valeures par tranche de 10 par exemple , et toujours un clignotement de led associé.

qu'en pensez vous ?
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Deltakap le Lun 07 Septembre 2009, 18:55

alpaph a écrit:Plus concrètement, pour l'exemple shoot proposé par Gilbert, on pourrait faire passer en paramètres ang_fin_dec, ang_deb_dec et les diverses temporisations.

L'utilisation de fonctions peut apporter effectivement bien plus qu'une simplification du code. Comme le montre Philippe, il est possible de passer des paramètres à la fonction et de récuperer un résultat (une fonction peut aussi retourner une variable et s'utiliser comme tel)
Dans cet exemple précis de code et pour cette fonction shoot(), il n'y aurait pas d'intérêt à se compliquer la vie en faisant passer des "variables" comme ang_fin_dec et ang_deb_dec, puisque ce sont des variables globales et donc utilisables dans toutes les fonctions de ce code (ça pourrait même être des constantes globales ;))

alpaph a écrit:Par contre, je ne vois pas comment les mettre en œuvre autrement que par upload du programme. Sauf si par la suite le projet utilise une petite interface externe (afficheur LCD, clavier, palm, ipod ou autres) qui permettrait de les modifier en "live".

C'est un peu l'idée que j'avais ici: viewtopic.php?f=6&t=1778... mais c'est plutôt lourd à utiliser à cause de l'hyperterminal. L'énorme avantage, je trouve, c'est que quelque soit l'evolution du code, il n'y a pas besoin de revenir sur les paramètres de réglages puisqu'ils sont stockés dans l'Arduino.


fred88 a écrit:j'ai encore beaucoup a apprendre !

Oui, comme nous tous ;)... quand je saurais faire voler un CV à tous les coups ou que je saurais pondre un code sans reproches... bin, je ferais autre chose :D


fred88 a écrit:c'est le résultat que j'aimerais obtenir.
j'ai pensé a plusieurs chose pour faire cela :

j'ai un telephone portable sous windows mobile , donc une premiere possibilité que je ne retient pour le moment , car tout le monde n'a pas d'appareil mobile.
l'ecran LCD serait super pratique c'est indeniable , mais peut etre difficile a mettre en oeuvre et cher ???

une autre solution serait d'utiliser un bouton poussoir et des led comme indicateur.
par exemple un appui sur un bouton poussoir permet de choisir le parametre a modifier , et on jouerai sur le clignotement d'une led pour savoir le parametre en cours.
et 2 autres boutons poussoir , qui permettrai de modifier les valeures par tranche de 10 par exemple , et toujours un clignotement de led associé.

qu'en pensez vous ?

L'interface utilisateur va être un des plus gros problèmes :?
LCD, led qui clignote, incrustation dans l'image du retour vidéo, téléphone (sous windows mobile, il doit être possible de faire des trucs diaboliques)
La led à l'avantage d'être ultra simple à gérer, mais n'a pas forcement un dialogue très facile à comprendre.
Le développement d'appli sous windows mobile va peut-être nous emmener un peu loin, et puis comme tu le dis, tout le monde n'a pas.
Le retour vidéo, tout le monde n'a pas non plus.
Le lcd risque d'être un bon candidat après la led (faudrait en choisir un qui a déjà ses librairies Arduino, ça doit pas couter beaucoup plus d'une dizaine d'€)

Bon, ça c'est pour d'éventuels ajustements sur le terrain, sinon le gros des réglages peut se faire sur le PC (on a forcement tout ce qu'il faut si on a l'Arduino ;))
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede alpaph le Lun 07 Septembre 2009, 19:48

Deltakap a écrit:Dans cet exemple précis de code et pour cette fonction shoot(), il n'y aurait pas d'intérêt à se compliquer la vie en faisant passer des "variables" comme ang_fin_dec et ang_deb_dec, puisque ce sont des variables globales et donc utilisables dans toutes les fonctions de ce code (ça pourrait même être des constantes globales ;))

C'est vrai. Disons, que c'était pour le sport ! :wink:

fred88 a écrit:j'ai pensé a plusieurs chose pour faire cela :
l'ecran LCD serait super pratique c'est indeniable , mais peut etre difficile a mettre en oeuvre et cher ???

Deldude a pensé à ça et l'a mis en œuvre a priori assez simplement : http://photocerfvolant.free.fr/phpBB2/viewtopic.php?f=6&t=423&st=0&sk=t&sd=a&start=20

fred88 a écrit:une autre solution serait d'utiliser un bouton poussoir et des led comme indicateur.
par exemple un appui sur un bouton poussoir permet de choisir le parametre a modifier , et on jouerai sur le clignotement d'une led pour savoir le parametre en cours.
et 2 autres boutons poussoir , qui permettrai de modifier les valeures par tranche de 10 par exemple , et toujours un clignotement de led associé.

La, ça me semble un peu chaud (pas à coder mais à utiliser). J'envisage d'utiliser un module de dip-switch (http://en.wikipedia.org/wiki/DIP_switch). L'idée est de câbler les sorties de ces dip sur des entrées numériques. La position de chaque switch compose des valeurs (décimales codées binaire) qui peuvent être utilisées par la suite dans le programme. Par exemple, je pensais faire pour l'autoKAP, un coefficient multiplicateur pour la temporisation entre deux déclenchements. Si la valeur de base du programme est 5 et que la valeur lue sur les switch forme 2, j'obtiens ainsi une temporisation de 10 secondes. On peut avoir le même principe pour des angles, ..., etc.
A+

Philippe

Site perso : http://alpaph.free.fr - Galerie Flickr : http://www.flickr.com/photos/41085895@N08/
Avatar de l’utilisateur
alpaph
Plus de 100 messages
 
Messages: 312
Inscription: Dim 22 Mars 2009, 19:24
Localisation: Seine-saint-denis

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede vertigo le Mar 08 Septembre 2009, 22:01

Et alors que plusieurs membres du forum s'aventurent progressivement vers les tréfonds de la programmation, je propose une pause musicale de bon aloi

http://www.dailymotion.com/video/x23o0a ... hans_music

C'est du grand classique, mais toujours bon à garder en tête ... pour ne pas oublier d'ouvrir la fenêtre :mrgreen:
Avatar de l’utilisateur
vertigo
Plus de 1000 messages
 
Messages: 1198
Inscription: Lun 28 Janvier 2008, 21:54
Localisation: Rennes (quartier Poterie)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fxix le Mar 08 Septembre 2009, 22:04

vertigo a écrit:Et alors que plusieurs membres du forum s'aventurent progressivement vers les tréfonds de la programmation, je propose une pause musicale de bon aloi

http://www.dailymotion.com/video/x23o0a ... hans_music

C'est du grand classique, mais toujours bon à garder en tête ... pour ne pas oublier d'ouvrir la fenêtre :mrgreen:


mais on est pas dimanche :mrgreen: perso j'adore.... :lol: :lol: :lol:
Fabien XIX
aéro-photographe... mais plus assez à mon goût
f19.fr
Avatar de l’utilisateur
fxix
Plus de 1000 messages
 
Messages: 1038
Inscription: Dim 13 Avril 2008, 9:00
Localisation: presque à Tours

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Lun 14 Septembre 2009, 8:41

salut a tous , je viens voir ou vous en etes avec l'arduino ?

de mon coté , pas de grands changements pour le moment , j'essai petit a petit de simplifier le code.
je rajouterai des fonctions au fur et a me mesure de mon apprentissage.

j'ai deja un peu testé en condition réel , le résultat est loin d'etre parfait , mais est plutot prometteur et encourageant.
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Mer 16 Septembre 2009, 7:56

le projet est a l'abandon ????

:cry:
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Alonzo BISTROT le Mer 16 Septembre 2009, 9:51

Bonjour,

J'ai réalisé, il y a quelque temps déja un AUTOKAP, avec un PIC 16F84 programmé en BASIC.

Image

Le module devait prendre rapidement 12 clichés en spirale autour d'un axe de visée établi par "apprentissage" sur site. L'objectif à été atteint, mais je me souvient de certaines difficultés pour controler la vitesse des servos entre 2 positions. Ce qui engendrais des acoups, des sur-oscillations de la nacelle et des photos flous...

Pouvez vous controler les vitesses de déplacement des servos avec votre KAPDUINO ?

L'abbé BAITEKIMONTEKIMONTE
Alonzo BRISTROT
Avatar de l’utilisateur
Alonzo BISTROT
Plus de 400 messages
 
Messages: 461
Inscription: Lun 20 Octobre 2008, 21:47
Localisation: AU SUD (de la ligne SNCF)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fred88 le Mer 16 Septembre 2009, 10:37

oui , on peu facilement controller la vitesse de deplacement du servo entre deux positions, en lui donnant l'instruction de deplacement ,et en lui specifiant le temps qu'il doit mettre a parcourir cette distance en millisecondes, en metant un pas de deplacement assez petit , la vitesse est tres bien controllée et sans a coup.

J'ai réalisé, il y a quelque temps déja un AUTOKAP, avec un PIC 16F84 programmé en BASIC.


interessant tout ca, tu l'as toujours ? tu l'utilises ? le résultat t'as t'il satisfait ?
rokkaku 1m90,rokkaku 3.00m ,buster 4, ozone frenzy, appareil nikon coolpix L5, et nikon s200
Avatar de l’utilisateur
fred88
Plus de 100 messages
 
Messages: 318
Inscription: Lun 06 Juin 2005, 20:46
Localisation: saint dié(88)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Alonzo BISTROT le Mer 16 Septembre 2009, 11:09

Des composants ont été canibalisés pour rejoindre un d'autres projets (hors KAP). Le PIC 16F84 ne beneficie pas de la fonction programmation en position. Il faut ou un materiel de dingo, ou déposer le pic de la platine, faire un reset, recharger un nouveau soft, re-implanter le pic sur l'electronique, .... Le deverminage et la mise au point des softs est laborieuse et chronofage.

Le projet remonte à au moins 7 ans, et ma methode de classement ne m'a pas permis de remettre la main sur le listing papier. Il se trouve sans doute, dans un vieux disque dur...

L'ARDUINO me tente de plus en plus. Les softs sont gratuits, plutot pas cher et une bonne dynamique dans les divers forums. De plus il semble que l'on puisse gérer facilement un bus I2C.

Je suis tenté de relancer deux projets :

1) la mise à jour de la prise de vue autonome en spirale, autour d'un axe prédéfini par télécommande RC5 (telecommande de televiseur) et pilotage de l'appareil par CHDK

2) réaliser une interface pour piloter des moteurs pas à pas avec une radio-commande classique. J'ai recupéré les moteurs et leurs train d'engrennages sur des petites imprimantes CANON réformées. L'idée de pouvoir réaliser une nacelle à déplacements sans butée.

A+
Alonzo BRISTROT
Avatar de l’utilisateur
Alonzo BISTROT
Plus de 400 messages
 
Messages: 461
Inscription: Lun 20 Octobre 2008, 21:47
Localisation: AU SUD (de la ligne SNCF)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Deltakap le Mer 16 Septembre 2009, 11:59

fred88 a écrit:le projet est a l'abandon ????

Non, non, pas du tout ;)

Un peu en standby après un petit coup de mou et l'attente de cartes modem 433Mhz (qui sont arrivées ce matin)

J'ai quand même regardé du coté de la création de librairies spécifiques et ça c'est jouable !
J'ai essayé d'avancer un peu sur mon histoire de procédures de réglage avec échange de données (avec le PC pour l'instant) et stockage des paramètres dans l'Arduino.
Bon, ce ne sont que des tests et tout ça n'est pour l'instant qu'un énorme brouillon.

Alonzo BISTROT a écrit:Des composants ont été canibalisés pour rejoindre un d'autres projets (hors KAP). Le PIC 16F84 ne beneficie pas de la fonction programmation en position. Il faut ou un materiel de dingo, ou déposer le pic de la platine, faire un reset, recharger un nouveau soft, re-implanter le pic sur l'electronique, .... Le deverminage et la mise au point des softs est laborieuse et chronofage.

Pour avoir pratiqué un peu le PIC moi aussi, faut reconnaitre que l'Arduino branché sur la sortie usb du PC est d'un confort extrême ! Un clic, et hop, ça tourne, et rien que ça, c'est un grand bonheur !
(il est possible aussi de programmer un PIC sans "démontages" mais j'ai toujours eu la flemme de mettre ça en place)

Alonzo BISTROT a écrit:L'ARDUINO me tente de plus en plus. Les softs sont gratuits, plutot pas cher et une bonne dynamique dans les divers forums. De plus il semble que l'on puisse gérer facilement un bus I2C.

J'ai essayé la connexion d'une Nunchuck (une des manettes de la WII) qui tourne en I2C... et je confirme, ça fonctionne !
Ca peut servir de joystick évidemment, mais elle a un accéléromètre qui pourrait servir pour manoeuvrer la nacelle (faut voir) mais aussi pourquoi pas à stabiliser dynamiquement la position de l'APN. Il faut juste un tournevis spécial que je n'ai pas encore commandé pour lui ouvrir le ventre et ça m'embête de faire ça au marteau :)
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Alonzo BISTROT le Mer 16 Septembre 2009, 13:27

Effectivement, le bus I2C permet d'interfacer plutot facilement le composant actif interne de la Wii (voir un article pas tres vieux d'ELEKTOR sur le sujet - Revue mensuelle d'electronique - Il est possible qu'il decrit la procedure de démontage)
http://www.elektor.fr/products/kits-modules/modules-(-9x)/tilt-gamepad-(070233-91).227770.lynkx
, mais aussi des composants de gestion de flux IR en provenance d'une telecommande TV, un mini terminal (clavier 3boutons + ecran LCD),....

On peut aussi, en developpant des platines spécialisée, faire un genre de LEGAU electronique adapté à un besoin particulier. En prime je vous livre une manière de réaliser des mini connecteurs 4 pts de qualité industrielle à un prix sans concurence. Taillés dans des supports de circuits intrégrés type TULIPE, Ils sont tres bien adaptés à notre activité.
Image

Il me semble que la programmation ISP (In Situ Prog.) via "boot loader" ne puisse pas être implantable sur les anciens PIC type 16F84.

A++
Dernière édition par Alonzo BISTROT le Mer 16 Septembre 2009, 13:31, édité 1 fois.
Alonzo BRISTROT
Avatar de l’utilisateur
Alonzo BISTROT
Plus de 400 messages
 
Messages: 461
Inscription: Lun 20 Octobre 2008, 21:47
Localisation: AU SUD (de la ligne SNCF)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede fxix le Mer 16 Septembre 2009, 13:30

pas à l'abandon non plus mais j'ai reçu le matos la semaine dernière et n'ai pas pris le temps d'aller plus loin que le clignotement de la led de test. :roll:

Il va falloir que je me penche sur la fonction de déclenchement de la prise de vue par CHDK mais je ne sais pas trop comment faire :
je pense, par simplicité, essayer de regénérer le signal qui renvoi la position des manches de la radio mais je ne sais pas comment il va falloir que je connecte le CHDK sur l'arduino :?
Fabien XIX
aéro-photographe... mais plus assez à mon goût
f19.fr
Avatar de l’utilisateur
fxix
Plus de 1000 messages
 
Messages: 1038
Inscription: Dim 13 Avril 2008, 9:00
Localisation: presque à Tours

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede deldude le Sam 19 Septembre 2009, 17:48

fxix a écrit:pas à l'abandon non plus mais j'ai reçu le matos la semaine dernière et n'ai pas pris le temps d'aller plus loin que le clignotement de la led de test. :roll:

Il va falloir que je me penche sur la fonction de déclenchement de la prise de vue par CHDK mais je ne sais pas trop comment faire :
je pense, par simplicité, essayer de regénérer le signal qui renvoi la position des manches de la radio mais je ne sais pas comment il va falloir que je connecte le CHDK sur l'arduino :?


Pour le chdk je dit peut être une bêtise mais une sortie digital + ground branchées sur une prise usb cannibalisée ça doit suffire. Le seul soucis c'est que certains apn canon réclament du 5V.
Bon vols et belles Photos
Jean-Christophe
Avatar de l’utilisateur
deldude
Plus de 100 messages
 
Messages: 157
Inscription: Ven 23 Juin 2006, 14:59
Localisation: Maisons-Alfort

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Deltakap le Sam 19 Septembre 2009, 18:48

deldude a écrit:Le seul soucis c'est que certains apn canon réclament du 5V.

Je viens d'essayer sur mon 860 chdké et la mini 3.3V... bin, ça déclenche pas :?
Va falloir tricher... zut !
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Alonzo BISTROT le Sam 19 Septembre 2009, 20:46

Otez moi d'un doute, vous ne faites pas tourner les servos sous 3,3V ! Vous avez au moins 6V de disponible.

Vous pouvez peut être "hacher" le 6V des accus par un transistor piloté par une sortie PWM gérée par le µControleur. Un p'tit filtrage avec un super condo d' 1Farad et vous avez une réserve de +5V pour attaquer la prise USB de l'APN pour une petite 1/2 heure ou plus.

Il y a aussi le régulateur 5V, ou la série de diode de puissance. C'est plus simple et un poil plus gourmand en énergie.

Étant du genre "Gros Faignant du sud", je choisirait la dernière solution..

A+
Alonzo BRISTROT
Avatar de l’utilisateur
Alonzo BISTROT
Plus de 400 messages
 
Messages: 461
Inscription: Lun 20 Octobre 2008, 21:47
Localisation: AU SUD (de la ligne SNCF)

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede Deltakap le Sam 19 Septembre 2009, 21:25

Les servos alimentés avec 4 AAA (4.8V) se commandent sans problème directement avec une sortie Arduino mini 3.3V.
Pour l'APN, si on part avec ces 4 batteries, on a bien du 5V qui traine sur la nacelle, c'est juste que la tension de sortie de l'Arduino ne déclenche pas l'appareil.
C'est pas un drame, va juste falloir ajouter du composant, mais c'est dommage !

Ce qui est bizarre, c'est que ça devrait marcher avec une pile 3V: http://chdk.wikia.com/wiki/USB_Remote_Cable... en tout cas, pas sur le mien :evil:
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet Kapduino:pan+tilt+déclenchement

Messagede deldude le Dim 20 Septembre 2009, 7:50

Deltakap a écrit:Ce qui est bizarre, c'est que ça devrait marcher avec une pile 3V: http://chdk.wikia.com/wiki/USB_Remote_Cable... en tout cas, pas sur le mien :evil:


Visiblement ça dépend du modèle :-(
Voila la liste : http://chdk.wikia.com/wiki/CameraFeatures
Bon vols et belles Photos
Jean-Christophe
Avatar de l’utilisateur
deldude
Plus de 100 messages
 
Messages: 157
Inscription: Ven 23 Juin 2006, 14:59
Localisation: Maisons-Alfort


Retourner vers L'électronique embarquée et au sol

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 49 invités