See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Recent Posts

Pages: [1] 2 3 ... 10
1
Cela commence à ressembler à quelque chose.... :)

2
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by jacquesmomo on 23 October 2017, 22:42:37 »
Ce camion doit polluer il faudrait lui mettre un moteur électrique  ;)
En plus c'est vrai, il doit polluer !!!! Faut faire une pétition !!!  :rant:

Ben ça c'est un rouleau compresseur  :badfinger:
:doubt: commônt ???


Roôôô! Il a mis le casque! :up:
:) Eh bien non, je l'ai enlevé (pour te faire plaisir !!!)

Voilà où j'en suis :


3
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by Papyref on 23 October 2017, 22:32:25 »
Ce camion doit polluer il faudrait lui mettre un moteur électrique  ;)


4
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by Mars Bleu on 23 October 2017, 19:48:24 »
 Roôôô! Il a mis le casque! :up:
5
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by Pappy2 on 23 October 2017, 18:54:11 »
Ben ça c'est un rouleau compresseur  :badfinger:
6
J'avance, j'ai eu un petit ennui avec le GPC4 mais je pense que je vais être au bout :
C'est vrai que c'est fun et que c'est une superbe simulation de la navette !!!  :flower:
7
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by jacquesmomo on 22 October 2017, 21:26:17 »
:applause: Superbe! Il y a même les câbles reliant les paratonnerres.
Quel souci du détail!  :applause:
:merci:

Ne mets pas de casque derrière le pare-brise de l'Unimog!
Ah ? tu le veux pas ?? bon, ben je l'enlèverai....

juste pour vous montrer le début de mon modèle (la texture n'est appliquée que sur le "devant" et tout cela est encore provisoire)...



8
Création Orbiter Francophone / Re: Kourou-CSG version 2016
« Last post by Mars Bleu on 22 October 2017, 16:20:53 »
 :applause: Superbe! Il y a même les câbles reliant les paratonnerres.
Quel souci du détail!  :applause:
Ne mets pas de casque derrière le pare-brise de l'Unimog!
9
Vous êtes dans la vis pointue, les gars! Je suis bluffé.
10
Orbiter Francophone / Re: Le tableau de commande de Mars Bleu
« Last post by Mars Bleu on 22 October 2017, 16:06:16 »
En effet, ça se complique dans la mesure où on va avoir deux façons d'envoyer un raccourci clavier. :wonder:
Premier mode: le changement d'état d'un switch provoque l'envoi d'un caractère.
Deuxième mode: l'appui sur un bouton-poussoir va lancer l'envoi d'un caractère, mais son retour à la position
initiale (on relâche le BP) ne va rien faire du tout.

Voici la nouvelle version, tenant compte de la syntaxe Leonardo, et de la possibilité switch/BP.



// Ce code commande un raccourci clavier pour  orbiter en fonction des bits de command
// J'ai ajouté un switch de sécurité: s'il est sur 1, alors l'envoi de caractère est autorisé
// s'il est sur 0, alors pas d'envoi de caractère.
// Avec le BP sur pin 3, je peux envoyer une commande de mouvement de gear sur changement d'état
// Ceci se fait avec la transmission de la variable XORdifference, modulée par switch_mode_mask
//
// Ici, c'est l'essai de ALT L (MAIN yaw vers la droite) sur la case 2 en mode BP
// On peut donc envoyer des caractères de contrôle d'Orbiter en mode switch ou en BP en fonction de APU_aux et switch_mode_mask

const byte secuSwitch=2;
const byte BP=3;
const byte led=13;
byte APU_aux;
byte secuSwitchstatus=0;

unsigned int var;
unsigned int old_var;
unsigned int switch_mode_mask;//si bit à 1, on est en mode"switch", si bit à 0, on est en mode "BP"

unsigned int XORdifference;
const byte xrmodifier[]={0,0,130,0,128,130,128,128,128,128,128,130,0,128,128,128};
const byte xrkey[]={32,32,108,103,98,114,121,92,118,103,117,111,32,111,107,97};
//Les deux lignes ci-dessus sont le tableau des raccourcis clavier auxquels on va s'adresser
//Les xrmodifier:128=>CTRL, et 130=>ALT. Pour info, 129=>SHIFT. Pas de modifier=>0.
//Les xrkey sont les codes ASCII des raccourcis clavier.

void setup()
{
pinMode(secuSwitch,INPUT);
pinMode(BP,INPUT);
pinMode(led,OUTPUT);
APU_aux=4;//commande MAIN yaw vers la droite
switch_mode_mask=8;//paramétrage en mode "switch"ou mode "BP"
}
void loop()

 {
   var=APU_aux*digitalRead(BP);
   XORdifference=(var^old_var);

   keyboard_command(3,0,XORdifference,switch_mode_mask);//appel de la fonction d'envoi de clavier, à installer.
   delay(50);
   old_var=var;
 }//End loop

//La fonction générant le raccourci clavier:
void keyboard_command(byte start,byte offset,unsigned int command,unsigned int switchModeMask)
    {
        secuSwitchstatus=digitalRead(secuSwitch);//ce secuSwitchstatus est là pour éviter un incident d'inaccessibilité
        digitalWrite(led, secuSwitchstatus);//signalisation de l'état de secuSwitchstatus sur la led 13 de la Leonardo
        boolean Switch_or_BP;   //variable booléenne  pour savoir si on est en mode Switch ou BP
        Keyboard.begin();
           for (byte i=start+offset;i<16+offset;i++)
            {
                Switch_or_BP=bitRead(switchModeMask,i);
                if ((bitRead(command,i)==1)&&(secuSwitchstatus==HIGH))
                    {
                         boolean bitvar=bitRead(var,i);//valeur pour transmettre l'état du bit de rang i de la variable globale var
                         xr_presskey(xrmodifier[ i ],xrkey[ i ],Switch_or_BP,bitvar);
                     }
             }
         Keyboard.end();
      }

//L'envoi des caractères:
 void xr_presskey(byte xrmodifier,byte xrkey,boolean SwitchOrBP,boolean bitVarStatus
 {
    if((SwitchOrBP==1)|(bitVarStatus==1&SwitchOrBP==0))
    {
    Keyboard.press(xrmodifier);
    Keyboard.press(xrkey);
    delay(20);
    }
    if((SwitchOrBP==1)|(bitVarStatus==0&SwitchOrBP==0))
    {   
    Keyboard.releaseAll();
    }
  }




En faisant varier la valeur de command, on va pouvoir définir l'envoi des raccourcis claviers. Et voilà!!

ATTENTION: Prévoir un dispositif d'arrêt d'urgence en hardware.

J'ai eu des ennuis de reprise en main de la Leonardo qui était partie à envoyer CTRL U toute les 5 secondes. Pour le Xr2 dans Orbiter, ça revenait à manœuvrer la porte de soute Baydoors, mais pour l'IDE Arduino, c'était le déclenchement d'un téléversement toute les 5 secondes. Du coup, plus moyen de changer le sketch tournant à l'intérieur.
J'ai fini par trouver: il faut laisser se faire un téléversement d'un sketch, mettons Fichier\Exemple\01.Basics\Blink. Avant qu'un nouveau CTRL U soit envoyé, il faut activer une nouvelle fenêtre, par exemple l'utilitaire Bloc Note qui recevra les caractères envoyés par la Leonardo, le temps que le téléversement se fasse. C'est comme ça que j'ai réussi à reprendre la main.
Pour éviter de nouveaux ennuis, j'ai installé un switch de sécurité en hardware. En cas de perte de contrôle par envoi intempestif de caractères par la Leonardo, la manœuvre du switch permettra de reprendre la main plus rapidement et plus facilement.
Par la suite, ayant maîtrisé l'affaire, j'ai pu retirer cette disposition de précaution.

Dans un prochain post, je vais m’employer à faire une petite vidéo pour montrer le fonctionnement de tout ça.
Je ne promets rien pour les délais, car j'ai encore beaucoup à faire pour rendre mes prototypes un peu jolis
à voir.
Pages: [1] 2 3 ... 10